|
@@ -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"}]
|