chenjunkai 5 gadi atpakaļ
vecāks
revīzija
eedfd8f707
1 mainītis faili ar 61 papildinājumiem un 2 dzēšanām
  1. 61 2
      controller/index.py

+ 61 - 2
controller/index.py

@@ -25,6 +25,9 @@ from object.tkObject import tkObject
 from service.CommonService import CommonService
 
 
+SERVER_PREFIX = 'http://www.dvema.com'
+
+
 class authView(TemplateView):
     def post(self, request, *args, **kwargs):
         request.encoding = 'utf-8'
@@ -76,7 +79,8 @@ class loginHandleView(TemplateView):
         # 返回code
         print(user)
         print(pwd)
-        auth_request_url = 'http://www.dvema.com/oalexa/auth'
+        auth_request_url = '{SERVER_PREFIX}/oalexa/auth'.format(SERVER_PREFIX=SERVER_PREFIX)
+
         # auth_request_url = 'http://192.168.136.40:8077/oalexa/auth'
         requests_data = {'userName': user, 'userPwd': pwd}
         res = requests.post(url=auth_request_url, data=requests_data)
@@ -241,7 +245,7 @@ class oa2DiscoveryDevice(TemplateView):
         request_dict = request.GET
         return self.validate(request_dict)
 
-    def validate(self, request_dict):
+    def validate1(self, request_dict):
         # 增加对code和client_id的校验代码,返回access_token和refresh_token
         access_token = request_dict.get("access_token", None)
         user_qs = UserModel.objects.filter(access_token=access_token)
@@ -249,6 +253,7 @@ class oa2DiscoveryDevice(TemplateView):
         if user_qs.exists():
             userID = user_qs[0].userID
             ur_qs = UidRtspModel.objects.filter(user_id=userID).values('uid', 'nick', 'rtsp_url', 'id')
+
             if ur_qs.exists():
                 res_json = []
                 for ur in ur_qs:
@@ -274,6 +279,60 @@ class oa2DiscoveryDevice(TemplateView):
         else:
             return JsonResponse({'res': '11'})
 
+    def validate(self, request_dict):
+        # 增加对code和client_id的校验代码,返回access_token和refresh_token
+        access_token = request_dict.get("access_token", None)
+        user_qs = UserModel.objects.filter(access_token=access_token)
+        response = ResObject()
+        if user_qs.exists():
+            userID = user_qs[0].userID
+            # =====================
+            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)
+            print(res.json())
+            print(res.json()['result_code'])
+            res_json = res.json()
+            if res_json['result_code'] == 0:
+                uid_arr = res_json['result']['uid_arr']
+                now_time = int(time.time())
+                querysetlist = []
+                rtko = tkObject(rank=1)
+                UidRtspModel.objects.filter(user_id=userID).delete()
+                res_json = []
+                for uid_a in uid_arr:
+                    rtsp_url = rtko.encrypt(data=uid_a['uid'])
+                    querysetlist.append(UidRtspModel(
+                        uid=uid_a['uid'],
+                        password=uid_a['password'],
+                        nick=uid_a['nick'],
+                        addTime=now_time,
+                        updTime=now_time,
+                        user_id=userID,
+                        rtsp_url=rtsp_url,
+                    ))
+                    ur_data = {
+                        'endpointId': uid_a['uid'],
+                        'manufacturerName': 'Axis',
+                        'manufacturerId': 'axis-ACCC8E5E7513',
+                        'modelName': 'P1425-LE',
+                        'friendlyName': 'Camera {nick}'.format(nick=uid_a['nick']),
+                        'description': 'Camera {nick}'.format(nick=uid_a['nick']),
+                        'resolutions': [{'width': 1280, 'height': 720}],
+                        'videoCodecs': ['H264'],
+                        'audioCodecs': ['ACC'],
+                        'protocols': ['RTSP'],
+                        'authorizationTypes': ['NONE'],
+                        'uri': 'rtsp://rtsp.zositech.xyz:443/{stream_name}'.format(stream_name=rtsp_url)
+                    }
+                    res_json.append(ur_data)
+                UidRtspModel.objects.bulk_create(querysetlist)
+                return JsonResponse(res_json, safe=False)
+            else:
+                return response.json(0, res={'msg': 'error'})
+        else:
+            return JsonResponse({'res': '11'})
+
 
 '''
 [{"endpointId":1,"manufacturerName":"Axis","manufacturerId":"axis-ACCC8E5E7513","modelName":"P1425-LE","friendlyName":"Camera VVDHCV","description":"Camera VVDHCV","resolutions":[{"width":1280,"height":720}],"videoCodecs":["H264"],"audioCodecs":["ACC"],"protocols":["RTSP"],"authorizationTypes":["NONE"],"uri":"rtsp://rtsp.zositech.xyz:8554/WVZsWkVTRU5XUWxsRVMwWk5TbEpYUVRFeE1VRT1p"},{"endpointId":2,"manufacturerName":"Axis","manufacturerId":"axis-ACCC8E5E7513","modelName":"P1425-LE","friendlyName":"Camera 5N6ZW8","description":"Camera 5N6ZW8","resolutions":[{"width":1280,"height":720}],"videoCodecs":["H264"],"audioCodecs":["ACC"],"protocols":["RTSP"],"authorizationTypes":["NONE"],"uri":"rtsp://rtsp.zositech.xyz:8554/Rk5VNDJXbGM0TnpSSE5rRXpOMWMwTmpFeE1VRT1D"},{"endpointId":3,"manufacturerName":"Axis","manufacturerId":"axis-ACCC8E5E7513","modelName":"P1425-LE","friendlyName":"Camera T3SLCA","description":"Camera T3SLCA","resolutions":[{"width":1280,"height":720}],"videoCodecs":["H264"],"audioCodecs":["ACC"],"protocols":["RTSP"],"authorizationTypes":["NONE"],"uri":"rtsp://rtsp.zositech.xyz:8554/b1ZETlRURU5CU0VvNVVERktTRmxDTkRFeE1VRT1X"}]