|
@@ -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))
|