|
@@ -20,6 +20,7 @@ from Controller.UnicomCombo.WXTechController import WXTechControllerView
|
|
from Model.models import Device_Info, UID_Bucket, UID_Preview, UidSetModel, UidChannelSetModel, \
|
|
from Model.models import Device_Info, UID_Bucket, UID_Preview, UidSetModel, UidChannelSetModel, \
|
|
Device_User, iotdeviceInfoModel, UIDCompanySerialModel, UnicomDeviceInfo, CountryModel, \
|
|
Device_User, iotdeviceInfoModel, UIDCompanySerialModel, UnicomDeviceInfo, CountryModel, \
|
|
DeviceCloudPhotoInfo, UidPushModel, ExperienceContextModel, LogModel, UserAudioVideoPush, UIDModel
|
|
DeviceCloudPhotoInfo, UidPushModel, ExperienceContextModel, LogModel, UserAudioVideoPush, UIDModel
|
|
|
|
+from Object.RedisObject import RedisObject
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.TokenObject import TokenObject
|
|
from Object.TokenObject import TokenObject
|
|
from Service.CommonService import CommonService
|
|
from Service.CommonService import CommonService
|
|
@@ -82,6 +83,10 @@ class EquipmentManagerV3(View):
|
|
return self.save_button_user(request_dict, response)
|
|
return self.save_button_user(request_dict, response)
|
|
elif operation == 'getButtonUser':
|
|
elif operation == 'getButtonUser':
|
|
return self.get_button_user(request_dict, response)
|
|
return self.get_button_user(request_dict, response)
|
|
|
|
+ elif operation == 'verifyCode':
|
|
|
|
+ return self.verify_code(request_dict, response)
|
|
|
|
+ elif operation == 'viewDevicePassword':
|
|
|
|
+ return self.view_device_password(request_dict, response)
|
|
else:
|
|
else:
|
|
return response.json(414)
|
|
return response.json(414)
|
|
|
|
|
|
@@ -684,6 +689,7 @@ class EquipmentManagerV3(View):
|
|
if not dev_info_qs.exists():
|
|
if not dev_info_qs.exists():
|
|
return response.json(173)
|
|
return response.json(173)
|
|
|
|
|
|
|
|
+ view_password = ''
|
|
if deviceData.__contains__('View_Password'):
|
|
if deviceData.__contains__('View_Password'):
|
|
encrypt_pwd = deviceData['View_Password']
|
|
encrypt_pwd = deviceData['View_Password']
|
|
view_password = self.decode_pwd(deviceData['View_Password'])
|
|
view_password = self.decode_pwd(deviceData['View_Password'])
|
|
@@ -718,6 +724,8 @@ class EquipmentManagerV3(View):
|
|
if us_qs.exists():
|
|
if us_qs.exists():
|
|
if deviceData.__contains__('NickName'):
|
|
if deviceData.__contains__('NickName'):
|
|
us_qs.update(nickname=nickname)
|
|
us_qs.update(nickname=nickname)
|
|
|
|
+ if view_password:
|
|
|
|
+ us_qs.update(pwd=view_password)
|
|
else:
|
|
else:
|
|
ip = CommonService.get_ip_address(request)
|
|
ip = CommonService.get_ip_address(request)
|
|
ipInfo = CommonService.getIpIpInfo(ip, 'CN')
|
|
ipInfo = CommonService.getIpIpInfo(ip, 'CN')
|
|
@@ -733,7 +741,8 @@ class EquipmentManagerV3(View):
|
|
'channel': ChannelIndex,
|
|
'channel': ChannelIndex,
|
|
'nickname': nickname,
|
|
'nickname': nickname,
|
|
'device_type': qs[0].Type,
|
|
'device_type': qs[0].Type,
|
|
- 'tb_country': country
|
|
|
|
|
|
+ 'tb_country': country,
|
|
|
|
+ 'pwd': view_password
|
|
}
|
|
}
|
|
UidSetModel.objects.create(**uid_set_create_dict)
|
|
UidSetModel.objects.create(**uid_set_create_dict)
|
|
di_qs = Device_Info.objects.filter(UID=uid)
|
|
di_qs = Device_Info.objects.filter(UID=uid)
|
|
@@ -1194,6 +1203,7 @@ class EquipmentManagerV3(View):
|
|
|
|
|
|
view_password = self.decode_pwd(encrypt_pwd)
|
|
view_password = self.decode_pwd(encrypt_pwd)
|
|
Device_Info.objects.filter(UID=uid).update(View_Password=view_password)
|
|
Device_Info.objects.filter(UID=uid).update(View_Password=view_password)
|
|
|
|
+ UidSetModel.objects.filter(uid=uid).update(pwd=view_password)
|
|
content = json.loads(json.dumps(request_dict))
|
|
content = json.loads(json.dumps(request_dict))
|
|
log = {
|
|
log = {
|
|
'user_id': 2,
|
|
'user_id': 2,
|
|
@@ -1313,3 +1323,63 @@ class EquipmentManagerV3(View):
|
|
except Exception as e:
|
|
except Exception as e:
|
|
return response.json(500, repr(e))
|
|
return response.json(500, repr(e))
|
|
|
|
|
|
|
|
+ @staticmethod
|
|
|
|
+ def verify_code(request_dict, response):
|
|
|
|
+ """
|
|
|
|
+ 校验验证码(查看设备密码)
|
|
|
|
+ @param request_dict:
|
|
|
|
+ @param response:
|
|
|
|
+ @return:
|
|
|
|
+ """
|
|
|
|
+ email = request_dict.get('email', None)
|
|
|
|
+ phone = request_dict.get('phone', None)
|
|
|
|
+ uid = request_dict.get('uid', None)
|
|
|
|
+ authcode = request_dict.get('authcode', None)
|
|
|
|
+ if not any([email, phone]):
|
|
|
|
+ return response.json(444)
|
|
|
|
+ if not all([uid, authcode]):
|
|
|
|
+ return response.json(444)
|
|
|
|
+ try:
|
|
|
|
+ authcode = CommonService.decode_data(authcode.strip())
|
|
|
|
+ if authcode is None:
|
|
|
|
+ return response.json(444, 'authcode')
|
|
|
|
+ user_info = email if email is not None else phone
|
|
|
|
+ redis = RedisObject()
|
|
|
|
+ redis_key = '{}_{}_GetDevicePassword'.format(user_info, uid)
|
|
|
|
+ reset_code = redis.get_data(key=redis_key)
|
|
|
|
+ if reset_code is False:
|
|
|
|
+ return response.json(90)
|
|
|
|
+ if authcode != reset_code:
|
|
|
|
+ return response.json(121)
|
|
|
|
+ if not redis.del_data(redis_key):
|
|
|
|
+ return response.json(10, '删除缓存失败')
|
|
|
|
+ return response.json(0)
|
|
|
|
+ except Exception as e:
|
|
|
|
+ return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
|
|
+
|
|
|
|
+ @staticmethod
|
|
|
|
+ def view_device_password(request_dict, response):
|
|
|
|
+ """
|
|
|
|
+ 查看设备密码
|
|
|
|
+ @param request_dict:
|
|
|
|
+ @param response:
|
|
|
|
+ @return:
|
|
|
|
+ """
|
|
|
|
+ uid = request_dict.get('uid', None)
|
|
|
|
+ if not all([uid]):
|
|
|
|
+ return response.json(444, 'authcode')
|
|
|
|
+ try:
|
|
|
|
+ uid_set_qs = UidSetModel.objects.filter(uid=uid).values('pwd')
|
|
|
|
+ if uid_set_qs.exists():
|
|
|
|
+ device_password = uid_set_qs[0]['pwd']
|
|
|
|
+ else:
|
|
|
|
+ device_info_qs = Device_Info.objects.filter(UID=uid).values('View_Password')
|
|
|
|
+ if not device_info_qs.exists():
|
|
|
|
+ return response.json(173)
|
|
|
|
+ device_password = device_info_qs[0]['View_Password']
|
|
|
|
+ res = {
|
|
|
|
+ 'device_password': device_password
|
|
|
|
+ }
|
|
|
|
+ return response.json(0, res)
|
|
|
|
+ except Exception as e:
|
|
|
|
+ return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|