Procházet zdrojové kódy

添加测试服务器测试

locky před 4 roky
rodič
revize
d9f9386478
1 změnil soubory, kde provedl 108 přidání a 106 odebrání
  1. 108 106
      controller/index.py

+ 108 - 106
controller/index.py

@@ -117,15 +117,18 @@ class loginHandleView(TemplateView):
         logger.info(request_dict)
         if client_id != 'azalexaclient' or response_type != 'code' or scope != 'profile':
             return response.json(10, res={'msg': 'error'}, extra={'msg': 'message wrong'})
-        auth_request_url = '{SERVER_PREFIX}/oalexa/auth'. \
-            format(SERVER_PREFIX=SERVER_PREFIX)
-        print(auth_request_url)
-        # auth_request_url = 'http://192.168.136.40:8077/oalexa/auth'
+        auth_request_url = '{SERVER_PREFIX}/oalexa/auth'.format(SERVER_PREFIX=SERVER_PREFIX)
         requests_data = {'userName': user, 'userPwd': pwd}
         res = requests.post(url=auth_request_url, data=requests_data)
-        print(res.json())
-        print(res.json()['result_code'])
         res_json = res.json()
+
+        # 添加测试服务器测试
+        if res_json['result_code'] == 104:
+            auth_request_url = '{SERVER_PREFIX}/oalexa/auth'.format(SERVER_PREFIX=SERVER_PREFIX_TEST)
+            requests_data = {'userName': user, 'userPwd': pwd}
+            res = requests.post(url=auth_request_url, data=requests_data)
+            res_json = res.json()
+
         if res_json['result_code'] == 0:
             userID = res_json['result']['userID']
             # uid_arr = res_json['result']['uid_arr']
@@ -332,7 +335,6 @@ class oa2RtspStartView(TemplateView):
             try:
                 logger.info("-----------------开始调用接口")
                 exec_res = requests.get(url=command_url, timeout=2)
-                logger.info('exec_res: {}'.format(exec_res))
                 res = exec_res.json()
                 logger.info('------------调用接口执行发送命令---------------')
                 logger.info('res: {}'.format(res))
@@ -389,113 +391,113 @@ class oa2DiscoveryDevice(TemplateView):
 
     def validate(self, request_dict):
         # 增加对code和client_id的校验代码,返回access_token和refresh_token
-        access_token = request_dict.get("access_token", None)
         app_name = request_dict.get("app_name", 'zosi smart')
-        region = request_dict.get("region", 'cn')
+        access_token = request_dict.get("access_token", None)
+
         logger = logging.getLogger('django')
-        logger.info('-----access_token')
-        logger.info(access_token)
+        logger.info('--------开始搜索设备--------')
         logger.info('技能名称: {}'.format(app_name))
-        try:
-            user_qs = UserModel.objects.get(access_token=access_token)
-        except Exception as e:
-            return JsonResponse({'res': '11'})
-        else:
-            response = ResObject()
-            userID = user_qs.userID
-
-            #更新事件网关接口
-            alexAuth = AlexaAuthModel.objects.filter(token=access_token).order_by('-addTime')
-            if alexAuth.exists():
-                auth_res = alexAuth.values()
-                event_access_token = auth_res[0]['access_token']
-                event_refresh_token = auth_res[0]['refresh_token']
-                event_token = auth_res[0]['token']
-                event_expiresTime = auth_res[0]['expiresTime']
-                event_addTime = auth_res[0]['addTime']
-                event_updTime = auth_res[0]['updTime']
-                event_alexa_region = auth_res[0]['alexa_region']
-                AlexaAuthModel.objects.filter(userID = userID).delete()
-                alexAuth.delete()
-                logger.info('update_event_access_token')
-                logger.info(event_token)
-                AlexaAuthModel.objects.create(
-                    userID = userID,
-                    access_token = event_access_token,
-                    refresh_token = event_refresh_token,
-                    token = event_token,
-                    expiresTime = event_expiresTime,
-                    addTime = event_addTime,
-                    updTime = event_updTime,
-                    alexa_region = event_alexa_region,
-                )
-
-            auth_request_url = '{SERVER_PREFIX}/oalexa/discoveryuid'.format(SERVER_PREFIX=SERVER_PREFIX)
-            requests_data = {'sid': 'admin', 'sst': 'admin', 'alexa_user_id': userID}
+
+        user_qs = UserModel.objects.filter(access_token=access_token)
+        if not user_qs.exists():
+            return JsonResponse({'res': '用户数据不存在!'})
+
+        response = ResObject()
+        userID = user_qs.userID
+
+        #更新事件网关接口
+        alexAuth = AlexaAuthModel.objects.filter(token=access_token).order_by('-addTime')
+        if alexAuth.exists():
+            auth_res = alexAuth.values()
+            event_access_token = auth_res[0]['access_token']
+            event_refresh_token = auth_res[0]['refresh_token']
+            event_token = auth_res[0]['token']
+            event_expiresTime = auth_res[0]['expiresTime']
+            event_addTime = auth_res[0]['addTime']
+            event_updTime = auth_res[0]['updTime']
+            event_alexa_region = auth_res[0]['alexa_region']
+            AlexaAuthModel.objects.filter(userID = userID).delete()
+            alexAuth.delete()
+            logger.info('update_event_access_token')
+            logger.info(event_token)
+            AlexaAuthModel.objects.create(
+                userID = userID,
+                access_token = event_access_token,
+                refresh_token = event_refresh_token,
+                token = event_token,
+                expiresTime = event_expiresTime,
+                addTime = event_addTime,
+                updTime = event_updTime,
+                alexa_region = event_alexa_region,
+            )
+
+        auth_request_url = '{SERVER_PREFIX}/oalexa/discoveryuid'.format(SERVER_PREFIX=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()
+
+        # 添加测试服务器测试
+        if res_json['result_code'] == 104:
+            auth_request_url = '{SERVER_PREFIX}/oalexa/discoveryuid'.format(SERVER_PREFIX=SERVER_PREFIX_TEST)
             res = requests.post(url=auth_request_url, data=requests_data)
             res_json = res.json()
-            print(res_json)
-
 
-            logger.info('开始打印---------------------------')
-            logger.info(userID)
-            logger.info(res_json)
+        logger.info('请求服务器url: {}'.format(auth_request_url))
+        logger.info(res_json)
 
-            if res_json['result_code'] == 0:
-                uid_arr = res_json['result']['uid_arr']
-                rtko = tkObject(rank=1)
-                now_time = int(time.time())
-                user_qs.uid_rtsp.clear()
-                res_json = []
-                uid_rtsp_id_list = []
-                for uid_a in uid_arr:
-                    uid = uid_a['uid']
-                    if uid_a['region'] == 'CN':
-                        region = 'CN'
-                    else:
-                        region = '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)
-                    else:
-                        # if uid_rtsp_qs.password != uid_a['password']:
-                        uid_rtsp_qs.password = uid_a['password']
-                        uid_rtsp_qs.nick = uid_a['nick']
-                        uid_rtsp_qs.region = region
-                        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)
-                    ur_data = {
-                        'endpointId': uid_a['uid'],
-                        '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'],
-                        'authorizationTypes': ['NONE'],
-                        'uri': rtsp_uri
-                    }
-                    res_json.append(ur_data)
-                print(uid_rtsp_id_list)
-                user_qs.uid_rtsp.add(*uid_rtsp_id_list)
-                logger.info('________________471')
-                logger.info(res_json)
-                return JsonResponse(res_json, safe=False)
+        if res_json['result_code'] != 0:
+            return response.json(0, res={'msg': 'error'})
+
+        uid_arr = res_json['result']['uid_arr']
+        rtko = tkObject(rank=1)
+        now_time = int(time.time())
+        user_qs.uid_rtsp.clear()
+        res_json = []
+        uid_rtsp_id_list = []
+        for uid_a in uid_arr:
+            uid = uid_a['uid']
+            if uid_a['region'] == 'CN':
+                region = 'CN'
+            else:
+                region = '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)
             else:
-                return response.json(0, res={'msg': 'error'})
+                uid_rtsp_qs.password = uid_a['password']
+                uid_rtsp_qs.nick = uid_a['nick']
+                uid_rtsp_qs.region = region
+                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)
+            ur_data = {
+                'endpointId': uid_a['uid'],
+                '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'],
+                'authorizationTypes': ['NONE'],
+                'uri': rtsp_uri
+            }
+            res_json.append(ur_data)
+        user_qs.uid_rtsp.add(*uid_rtsp_id_list)
+        logger.info('________________471')
+        logger.info(res_json)
+        return JsonResponse(res_json, safe=False)
 
 #新增
 def testRunSendStop(request):