|
@@ -2,10 +2,12 @@ import logging
|
|
|
import jwt
|
|
|
import time
|
|
|
import requests
|
|
|
+import datetime
|
|
|
|
|
|
from Object.RedisObject import RedisObject
|
|
|
from Ansjer.config import OAUTH_ACCESS_TOKEN_SECRET, OAUTH_REFRESH_TOKEN_SECRET, OAUTH_ACCESS_TOKEN_TIME, \
|
|
|
OAUTH_REFRESH_TOKEN_TIME, DETECT_PUSH_DOMAINS, LOGGER
|
|
|
+from Model.models import StsFrequency
|
|
|
|
|
|
logger = logging.getLogger('token')
|
|
|
|
|
@@ -24,6 +26,9 @@ class TokenObject:
|
|
|
self.code = 0
|
|
|
self.valid()
|
|
|
self.returntpye = returntpye
|
|
|
+ today = datetime.datetime.today()
|
|
|
+ today_date = datetime.datetime(today.year, today.month, today.day)
|
|
|
+ self.today_timestamp = int(today_date.timestamp())
|
|
|
|
|
|
def valid(self):
|
|
|
if self.token is None:
|
|
@@ -46,15 +51,18 @@ class TokenObject:
|
|
|
|
|
|
except jwt.ExpiredSignatureError as e:
|
|
|
self.code = 309
|
|
|
+ self.add_or_update_qs()
|
|
|
logger.info('errLine:{}, errMsg:{}, token:{}'.format(e.__traceback__.tb_lineno, repr(e), self.token))
|
|
|
return
|
|
|
except Exception as e:
|
|
|
self.code = 309
|
|
|
+ self.add_or_update_qs()
|
|
|
logger.info('errLine:{}, errMsg:{}, token:{}'.format(e.__traceback__.tb_lineno, repr(e), self.token))
|
|
|
return
|
|
|
else:
|
|
|
if not self.userID:
|
|
|
self.code = 309
|
|
|
+ self.add_or_update_qs()
|
|
|
logger.info('errMsg:{}, token:{}'.format('缺少用户ID', self.token))
|
|
|
return
|
|
|
else:
|
|
@@ -129,6 +137,7 @@ class TokenObject:
|
|
|
'用户登录信息, data:{}, access_token:{}, refresh_token:{}'.format(data, access_token, refresh_token))
|
|
|
except Exception as e:
|
|
|
self.code = 309
|
|
|
+ self.add_or_update_qs()
|
|
|
logger.info('errLine:{}, errMsg:{}, token:{}'.format(e.__traceback__.tb_lineno, repr(e), self.token))
|
|
|
print(repr(e))
|
|
|
else:
|
|
@@ -164,9 +173,11 @@ class TokenObject:
|
|
|
print('过期')
|
|
|
print(repr(e))
|
|
|
self.code = 309
|
|
|
+ self.add_or_update_qs()
|
|
|
logger.info('errLine:{}, errMsg:{}, token:{}'.format(e.__traceback__.tb_lineno, repr(e), self.token))
|
|
|
except Exception as e:
|
|
|
self.code = 309
|
|
|
+ self.add_or_update_qs()
|
|
|
logger.info('errLine:{}, errMsg:{}, token:{}'.format(e.__traceback__.tb_lineno, repr(e), self.token))
|
|
|
print(repr(e))
|
|
|
else:
|
|
@@ -175,3 +186,14 @@ class TokenObject:
|
|
|
self.lang = res.get('lang', None)
|
|
|
refreshRes = self.generate(data=res)
|
|
|
return refreshRes
|
|
|
+
|
|
|
+ def add_or_update_qs(self):
|
|
|
+ qs = StsFrequency.objects.filter(type=2, addTime=self.today_timestamp, uid='token')
|
|
|
+ if qs.exists():
|
|
|
+ token_qs = qs[0]
|
|
|
+ token_qs.frequency += 1
|
|
|
+ token_qs.updateTime = int(time.time())
|
|
|
+ token_qs.save()
|
|
|
+ else:
|
|
|
+ StsFrequency.objects.create(uid='token', frequency=1, type=2, addTime=self.today_timestamp,
|
|
|
+ updateTime=int(time.time()))
|