ソースを参照

优化刷新token

peng 1 年間 前
コミット
6e973adcd1
1 ファイル変更21 行追加11 行削除
  1. 21 11
      Object/TokenObject.py

+ 21 - 11
Object/TokenObject.py

@@ -34,7 +34,7 @@ class TokenObject:
             self.userID = res.get('userID', None)
             self.lang = res.get('lang', None)
             self.user = res.get('user', '')
-            self.app_bundle_id = res.get('appBundleId', None)
+            app_bundle_id = res.get('appBundleId', None)
             # 刷新登录时间
             # if self.userID:
             #     print(self.user)
@@ -53,9 +53,9 @@ class TokenObject:
                 return
             else:
                 if self.userID:
-                    if self.app_bundle_id:
+                    if app_bundle_id:
                         redis_obj = RedisObject()
-                        key = 'token_user_{}_{}'.format(self.userID, self.app_bundle_id)
+                        key = 'token_user_{}_{}'.format(self.userID, app_bundle_id)
                         redis_token = redis_obj.get_data(key)
                         if not redis_token:
                             redis_obj.set_data(key, self.token)
@@ -100,7 +100,7 @@ class TokenObject:
                 'refresh_token': refresh_token,
             }
 
-            if self.returntpye=='pc':
+            if self.returntpye == 'pc':
                 res = {
                     'token': access_token,
                     'access_expire': access_expire,
@@ -110,7 +110,7 @@ class TokenObject:
             app_bundle_id = data.get('appBundleId', None)
             if app_bundle_id:
                 redis_obj = RedisObject()
-                key = 'token_user_{}_{}'.format(data['userID'], data['appBundleId'])
+                key = 'token_user_{}_{}'.format(data['userID'], app_bundle_id)
                 redis_obj.set_data(key, access_token)
                 if data['tokenVal']:
                     # 请求推送
@@ -161,10 +161,20 @@ class TokenObject:
             print(repr(e))
         else:
             self.code = 0
-            userID = res.get('userID', '')
-            user = res.get('user', '')
-            lang = self.lang
-            self.userID = userID
-            self.user = user
-            refreshRes = self.generate(data={'userID': userID, 'lang': lang, 'user': user})
+            self.userID = res.get('userID', None)
+            self.user = res.get('user', '')
+            app_bundle_id = res.get('appBundleId', None)
+            if self.userID:
+                if app_bundle_id:
+                    redis_obj = RedisObject()
+                    key = 'token_user_{}_{}'.format(self.userID, app_bundle_id)
+                    redis_token = redis_obj.get_data(key)
+                    if not redis_token:
+                        redis_obj.set_data(key, self.token)
+                        self.code = 0
+                        return res
+                    if self.token != redis_token:
+                        self.code = 310
+                        return
+            refreshRes = self.generate(data=res)
             return refreshRes