瀏覽代碼

搜索设备增加多通道设备

locky 4 年之前
父節點
當前提交
1657e796e2
共有 1 個文件被更改,包括 24 次插入26 次删除
  1. 24 26
      controller/index.py

+ 24 - 26
controller/index.py

@@ -409,7 +409,7 @@ class oa2DiscoveryDevice(TemplateView):
                 alexa_region = event_alexa_region,
             )
 
-        auth_request_url = '{SERVER_PREFIX}/oalexa/discoveryuid'.format(SERVER_PREFIX=SERVER_PREFIX)
+        auth_request_url = '{}/oalexa/discoveryuid'.format(SERVER_PREFIX)
         requests_data = {'sid': 'admin', 'sst': 'admin', 'alexa_user_id': userID}
         res = requests.post(url=auth_request_url, data=requests_data)
         res_json = res.json()
@@ -417,7 +417,7 @@ class oa2DiscoveryDevice(TemplateView):
 
         # 添加测试服务器测试
         if res_json['result_code'] != 0:
-            auth_request_url = '{SERVER_PREFIX}/oalexa/discoveryuid'.format(SERVER_PREFIX=SERVER_PREFIX_TEST)
+            auth_request_url = '{}/oalexa/discoveryuid'.format(SERVER_PREFIX_TEST)
             res = requests.post(url=auth_request_url, data=requests_data)
             res_json = res.json()
 
@@ -435,42 +435,41 @@ class oa2DiscoveryDevice(TemplateView):
         uid_rtsp_id_list = []
         for uid_a in uid_arr:
             uid = uid_a['uid']
-            if uid_a['region'] == 'CN':
-                region = 'CN'
-            else:
-                region = 'EN'
+            nick = uid_a['nick']
+            multi_channel = uid_a['multi_channel']
+            if multi_channel:
+                # 多通道设备: uid_通道号
+                uid += '_' + str(uid_a['channel'])
+
+            region = 'CN' if uid_a['region'] == 'CN' else 'EN'
             rtsp_url = rtko.encrypt(data=uid)
             try:
                 uid_rtsp_qs = UidRtspModel.objects.get(uid=uid)
             except UidRtspModel.DoesNotExist:
-                uid_rtsp_qs = UidRtspModel.objects.create(uid=uid_a['uid'], password=uid_a['password'],
-                                                          nick=uid_a['nick'], addTime=now_time,
-                                                          updTime=now_time, rtsp_url=rtsp_url,
-                                                          region=region)
+                uid_rtsp_qs = UidRtspModel.objects.create(uid=uid, nick=nick, region=region, password=uid_a['password'],
+                                                          rtsp_url=rtsp_url, addTime=now_time, updTime=now_time)
             else:
-                uid_rtsp_qs.password = uid_a['password']
-                uid_rtsp_qs.nick = uid_a['nick']
+                uid_rtsp_qs.nick = nick
                 uid_rtsp_qs.region = region
+                uid_rtsp_qs.password = uid_a['password']
                 uid_rtsp_qs.save()
             uid_rtsp_id_list.append(uid_rtsp_qs.id)
             RESP_SERVER_DOMAIN = RESP_SERVER_DOMAIN_DATA[region]
-            rtsp_uri = '{RTSP_PREFIX}://{RESP_SERVER_DOMAIN}:443/{stream_name}'. \
-                format(RESP_SERVER_DOMAIN=RESP_SERVER_DOMAIN,
-                       stream_name=rtsp_url,
-                       RTSP_PREFIX=RTSP_PREFIX)
+            rtsp_uri = '{}://{}:443/{}'.format(RTSP_PREFIX, RESP_SERVER_DOMAIN, rtsp_url)
             ur_data = {
-                'endpointId': uid_a['uid'],
+                'uri': rtsp_uri,
+                'endpointId': uid,
+                'friendlyName': nick,
                 'manufacturerName': app_name,
-                'manufacturerId': 'zosi-ACCC8E5E7513',
-                'modelName': 'P1425-LE',
-                'friendlyName': uid_a['nick'],
                 'description': 'Camera connected via {}'.format(app_name),
-                'resolutions': [{'width': 1280, 'height': 720}],
-                'videoCodecs': ['H264'],
-                'audioCodecs': ['ACC'],
+
                 'protocols': ['RTSP'],
+                'audioCodecs': ['ACC'],
+                'videoCodecs': ['H264'],
+                'modelName': 'P1425-LE',
                 'authorizationTypes': ['NONE'],
-                'uri': rtsp_uri
+                'manufacturerId': 'zosi-ACCC8E5E7513',
+                'resolutions': [{'width': 1280, 'height': 720}],
             }
             res_json.append(ur_data)
         user.uid_rtsp.add(*uid_rtsp_id_list)
@@ -583,7 +582,6 @@ class powerController(TemplateView):
         return self.power_controller(request_dict)
 
     def power_controller(self, request_dict):
-        response = ResponseObject()
         uid = request_dict.get('uid', '')
         access_token = request_dict.get('access_token', '')
         app_name = request_dict.get('app_name', 'zosi smart')
@@ -595,7 +593,7 @@ class powerController(TemplateView):
 
         ur_qs = UidRtspModel.objects.filter(uid=uid).values('uid', 'nick', 'rtsp_url', 'password', 'region')
         if not ur_qs.exists():
-            return JsonResponse({'result_code': '500' , '错误': 'uid数据不存在'})
+            return JsonResponse({'result_code': '500', '错误': 'uid数据不存在'})
 
         logger = logging.getLogger('django')
         logger.info('{} 唤醒设备 {}'.format(app_name, uid))