chenjunkai 6 жил өмнө
parent
commit
175e472390

+ 1 - 1
Ansjer/config.py

@@ -32,7 +32,7 @@ OAUTH_ACCESS_TOKEN_SECRET = 'a+jbgnw%@1%zy^=@dn62%'
 OAUTH_REFRESH_TOKEN_SECRET = 'r+jbgnw%@1%zy^=@dn62%'
 # access_token超时
 # OAUTH_ACCESS_TOKEN_TIME = datetime.timedelta(hours=1)
-OAUTH_ACCESS_TOKEN_TIME = datetime.timedelta(days=7)
+OAUTH_ACCESS_TOKEN_TIME = datetime.timedelta(days=700)
 # refresh_token超时
 OAUTH_REFRESH_TOKEN_TIME = datetime.timedelta(days=7)
 # 腾讯验证,短信发送

+ 11 - 12
Controller/UserController.py

@@ -397,9 +397,8 @@ class ForgetPwdView(TemplateView):
                 reset_pwd = redisObj.get_data(key=userID + '_email_reset_pwd')
                 if reset_pwd is False:
                     tko = TokenObject()
-                    rest = tko.generate(data={'userID': userID})
+                    rest = tko.generate(data={'userID': userID,'username':userName})
                     token = rest['access_token']
-
                     reset_pwd = CommonService.RandomStr(6)
                     send_data = TemplateService.email_message(type='forget', language='en')
                     reset_link = '{server_host}account/email-re-pwd?token={token}'.format(
@@ -581,7 +580,8 @@ class v2authCodeView(TemplateView):
         )
         if send_res is not True:
             return response.json(44)
-        # reds.set_data(key=email + '_registerCode', val=identifyingCode, expire=AuthCode_Expire)
+        if reds.set_data(key=email + '_registerCode', val=identifyingCode, expire=AuthCode_Expire) is not True:
+            return response.json(10,'error')
         return response.json(0)
         # return response.json(0, {'identifyingCode': identifyingCode})
 
@@ -598,15 +598,14 @@ class v2authCodeView(TemplateView):
         if user_qs.exists() or phone_qs.exists():
             return response.json(101)
         identifyingCode = RandomStr(6, True)
-        if reds.set_data(key=phone + '_identifyingCode', val=identifyingCode, expire=300) is not True:
-            return response.json(10, '生成缓存系统错误')
         # 发送手机验证码
         aliSms = AliSmsObject()
         res = aliSms.send_code_sms(phone=phone, code=identifyingCode, sign_name='Ansjer',
                                    temp_msg='SMS_151600991')
         if res["Code"] == "OK":
+            if reds.set_data(key=phone + '_identifyingCode', val=identifyingCode, expire=60) is not True:
+                return response.json(10, '生成缓存系统错误')
             return response.json(0)
-            # return response.json(0, {'identifyingCode': identifyingCode})
         else:
             return response.json(10, res["Message"])
 
@@ -689,7 +688,8 @@ class v2registerView(TemplateView):
         userID = user_qs[0].userID
         print('userID' + userID)
         tko = TokenObject()
-        res = tko.generate(data={'userID': userID, 'lang': response.lang})
+        user_list = user_qs.values("NickName", "userIconUrl", "userIconPath", "username", "userEmail", "phone")
+        res = tko.generate(data={'userID': userID, 'lang': response.lang, 'username': user_list[0]["username"]})
         # 增加角色
         user_qs[0].role.add(Role.objects.get(rid=1))
         role_dict = ModelService.own_role(userID=userID)
@@ -698,7 +698,6 @@ class v2registerView(TemplateView):
         res['permList'] = ModelService.own_permission(userID)
         res['userID'] = userID
         # 昵称,邮箱,电话,刷新,头像
-        user_list = user_qs.values("NickName", "userIconUrl", "userIconPath", "username", "userEmail", "phone")
         userIconPath = str(user_list[0]["userIconPath"])
         if userIconPath and userIconPath.find('static/') != -1:
             userIconPath = userIconPath.replace('static/', '').replace('\\', '/')
@@ -928,7 +927,8 @@ class v2resetPwdByCodeView(TemplateView):
         userID = user_qs[0].userID
         print('userID' + userID)
         tko = TokenObject()
-        res = tko.generate(data={'userID': userID, 'lang': response.lang})
+        user_list = user_qs.values("NickName", "userIconUrl", "userIconPath", "username", "userEmail", "phone")
+        res = tko.generate(data={'userID': userID, 'lang': response.lang, 'username': user_list[0]["username"]})
         # 增加角色
         user_qs[0].role.add(Role.objects.get(rid=1))
         role_dict = ModelService.own_role(userID=userID)
@@ -937,7 +937,6 @@ class v2resetPwdByCodeView(TemplateView):
         res['permList'] = ModelService.own_permission(userID)
         res['userID'] = userID
         # 昵称,邮箱,电话,刷新,头像
-        user_list = user_qs.values("NickName", "userIconUrl", "userIconPath", "username", "userEmail", "phone")
         userIconPath = str(user_list[0]["userIconPath"])
         if userIconPath and userIconPath.find('static/') != -1:
             userIconPath = userIconPath.replace('static/', '').replace('\\', '/')
@@ -1028,7 +1027,8 @@ class v2LoginView(TemplateView):
         role_qs = user_qs.values('role__permission', 'role__rid', 'role__roleName', 'userID')
         userID = role_qs[0]['userID']
         tko = TokenObject()
-        res = tko.generate(data={'userID': userID, 'lang': response.lang})
+        user_list = user_qs.values("NickName", "userIconUrl", "userIconPath", "username", "userEmail", "phone")
+        res = tko.generate(data={'userID': userID, 'lang': response.lang, 'username': user_list[0]["username"]})
         if tko.code == 0:
             now_time = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(utc)
             user_qs.update(last_login=now_time, online=True, language=response.lang)
@@ -1037,7 +1037,6 @@ class v2LoginView(TemplateView):
             res['permList'] = ModelService.own_permission(userID)
             res['userID'] = userID
             # 昵称,邮箱,电话,刷新,头像
-            user_list = user_qs.values("NickName", "userIconUrl", "userIconPath", "username", "userEmail", "phone")
             userIconPath = str(user_list[0]["userIconPath"])
             if userIconPath and userIconPath.find('static/') != -1:
                 userIconPath = userIconPath.replace('static/', '').replace('\\', '/')

+ 6 - 3
Object/TokenObject.py

@@ -27,6 +27,7 @@ class TokenObject:
         self.token = token
         self.lang = None
         self.userID = None
+        self.user = ''
         self.valid()
         if token is None:
             self.code = 309
@@ -38,6 +39,7 @@ class TokenObject:
             res = jwt.decode(self.token, OAUTH_ACCESS_TOKEN_SECRET, algorithms='HS256')
             self.userID = res.get('userID', None)
             self.lang = res.get('lang', None)
+            self.user = res.get('user', '')
             # 刷新登录时间
             device_user = Device_User.objects.get(userID=self.userID)
             device_user.online = True
@@ -93,7 +95,8 @@ class TokenObject:
             print(repr(e))
         else:
             self.code = 0
-            userID = res['userID']
-            lang = res['lang']
-            refreshRes = self.generate(data={'userID': userID, 'lang': lang})
+            userID = res.get('userID','')
+            lang = res.get('lang','')
+            user = res.get('user','')
+            refreshRes = self.generate(data={'userID': userID, 'lang': lang,'user':user})
             return refreshRes

+ 21 - 17
Service/MiscellService.py

@@ -1,7 +1,6 @@
 import datetime
-import time
-import traceback
 import threading
+import time
 
 import requests
 import simplejson as json
@@ -20,26 +19,32 @@ class MiscellService():
     # 获取访问用户名称
     @staticmethod
     def get_access_name(request_dict):
-        userName = request_dict.get('userName',None)
+        userName = request_dict.get('userName', None)
         if userName:
             return userName
-        else:
-            token = request_dict.get('token', None)
-            user = None
-            if token is not None:
-                tko = TokenObject(token)
-                if tko.code == 0:
-                    user = ModelService.get_user_name(tko.userID)
-            return user
+        email = request_dict.get('email', None)
+        if email:
+            return email
+        phone = request_dict.get('phone', None)
+        if phone:
+            return phone
+        token = request_dict.get('token', None)
+        user = ''
+        if token is not None:
+            tko = TokenObject(token)
+            if tko.code == 0:
+                user = tko.user
+                # user = ModelService.get_user_name(tko.userID)
+        return user
 
     @staticmethod
     def add_access_log(request, status_code):
         # 增加多进程 异步
-        asy = threading.Thread(target=addLog, args=(request,status_code))
+        asy = threading.Thread(target=addLog, args=(request, status_code))
         asy.start()
 
     @staticmethod
-    def access_log(request,response,type):
+    def access_log(request, response, type):
         if request.method == 'GET':
             request_dict = request.GET
         if request.method == 'POST':
@@ -50,7 +55,7 @@ class MiscellService():
         if request_path in api_list:
             clientIP = CommonService.get_ip_address(request)
             now_time = time.time()
-            password = request_dict.get('userPwd',None)
+            password = request_dict.get('userPwd', None)
             if password is not None:
                 request_dict = dict(request_dict)
                 request_dict.pop('userPwd')
@@ -69,14 +74,13 @@ class MiscellService():
                 'time': int(now_time),
                 'area': area,
                 'content': content,
-                'et':datetime.datetime.utcnow()
+                'et': datetime.datetime.utcnow()
             }
 
             mdb = mongodb()
             col = "log_access"
             mdb.insert_one(col=col, data=add_data)
 
-
     # 获取所有设备ip地址的指向的国家
     @staticmethod
     def getArea(ip):
@@ -112,7 +116,7 @@ class MiscellService():
         ModelService.addAccessLog(data=add_data)
 
 
-def addLog(request,status_code):
+def addLog(request, status_code):
     try:
         request.encoding = 'utf-8'
         if request.method == 'GET':

+ 0 - 3
Service/TemplateService.py

@@ -50,7 +50,6 @@ class TemplateService:
             'uploads/upgrade',
             'downloads/upgrade',
             'getOTAurl/getUpdataFileUrl',
-            # 'equipment/info',
             'adminManage/manage',
             'equipment/OTA',
             'appInfo',
@@ -59,10 +58,8 @@ class TemplateService:
             'v2/account/register',
             'v2/account/forgetCode',
             'v2/account/resetPwdByCode',
-
             'cloudVod/createOrder',
             'cloudVod/payExecute',
-            # 'cloudVod/storeplaylist'
             'cloudVod/getHlsList',
             'cloudVod/status',
             'cloudVod/details',