Эх сурвалжийг харах

新增传感器网关设备获取随机id接口

locky 3 жил өмнө
parent
commit
8caad6f6a8

+ 4 - 0
Ansjer/urls.py

@@ -25,6 +25,7 @@ from Controller.Cron import CronTaskController
 from AdminController import UserManageController, RoleController, MenuController, TestServeController, \
     ServeManagementController, LogManagementController, DeviceManagementController, VersionManagementController, \
     AiServeController, SurveysManageController, SerialManageController
+from SensorGateway import SensorGatewayController
 
 urlpatterns = [
     url(r'^testApi/(?P<operation>.*)$', TestApi.testView.as_view()),
@@ -358,6 +359,9 @@ urlpatterns = [
     # 问卷调查
     url(r'^api/surveys/(?P<operation>.*)$', CloudStorageController.CloudStorageView.as_view()),
 
+    # 传感器网关
+    re_path('sensorGateway/(?P<operation>.*)', SensorGatewayController.SensorGateway.as_view()),
+
     # 后台界面接口 -----------------------------------------------------
     # 用户登录信息等
     url(r'^login$', UserManageController.LoginView.as_view()),

+ 40 - 0
SensorGateway/SensorGatewayController.py

@@ -0,0 +1,40 @@
+# -*- coding: utf-8 -*-
+"""
+@Time : 2022/4/26 9:01
+@Auth : Locky
+@File :SensorGatewayController.py
+@IDE :PyCharm
+"""
+import random
+import string
+
+from django.views import View
+
+from Object.ResponseObject import ResponseObject
+
+
+class SensorGateway(View):
+    def get(self, request, *args, **kwargs):
+        request.encoding = 'utf-8'
+        operation = kwargs.get('operation')
+        return self.validation(request.GET, request, operation)
+
+    def post(self, request, *args, **kwargs):
+        request.encoding = 'utf-8'
+        operation = kwargs.get('operation')
+        return self.validation(request.POST, request, operation)
+
+    def validation(self, request_dict, request, operation):
+        response = ResponseObject()
+        if operation == 'getSensorId':  # 返回唯一标识id给设备
+            return self.getSensorId(response)
+        else:
+            return response.json(404)
+
+    @staticmethod
+    def getSensorId(response):
+        try:
+            sensorId = ''.join(random.sample(string.ascii_letters + string.digits, 6))
+            return response.json(0, {'sensorId': sensorId})
+        except Exception as e:
+            return response.json(500, repr(e))