This commit is contained in:
2025-04-12 12:11:46 +08:00
parent caa032d1eb
commit 34551c7b35
31 changed files with 1379 additions and 166 deletions
+5 -2
View File
@@ -5,16 +5,18 @@ from sqlalchemy.orm import Session
from fastapi import Depends, Header
from api.core.exception import ResponseException
from core.character.adventure import get_adv_info
from database.connect import get_db, get_redis
from api.core.Auth import AlterState
import base64
import json
from api.core.Redis import get_redis_info
SessionDep = Annotated[Session, Depends(get_db)]
RedisDep = Annotated[Redis, Depends(get_redis)]
def alterToken(alter_token: Optional[str] = Header(None)):
def alterToken(redis:RedisDep,alter_token: Optional[str] = Header(None)):
if alter_token is not None:
try:
decoded_bytes = base64.b64decode(alter_token)
@@ -23,7 +25,8 @@ def alterToken(alter_token: Optional[str] = Header(None)):
# 6小时过期
if (int(time.time() * 1000) - alter['time']) / (60 * 60 * 1000) > 6:
raise ResponseException('登录过期或无效Token,请刷新后重试')
return AlterState(alter['alter'], alter_token, {}, alter['equVersion'], alter['time'])
alterData = get_redis_info(redis, f'dcalc:adventure:{alter['alter']}', lambda : get_adv_info(alter['alter']))
return AlterState(alterData["class"], alter_token, {}, alter['equVersion'], alter['time'])
except (base64.binascii.Error, json.JSONDecodeError):
raise ResponseException('登录过期或无效Token,请刷新后重试')
else: