main
mula.liu 2026-02-06 16:12:25 +08:00
parent b60b4a7b6b
commit c791d053fa
1 changed files with 15 additions and 15 deletions

View File

@ -14,23 +14,23 @@ class TerminalCheckMiddleware(BaseHTTPMiddleware):
# 2. 检查时间戳 (防重放/时钟同步) # 2. 检查时间戳 (防重放/时钟同步)
# 优先从Header获取如果没有则尝试从Query Parameter获取 # 优先从Header获取如果没有则尝试从Query Parameter获取
client_time_str = request.headers.get("time") or request.query_params.get("time") # client_time_str = request.headers.get("time") or request.query_params.get("time")
if client_time_str: # if client_time_str:
try: # try:
client_time = int(client_time_str) # client_time = int(client_time_str)
server_time = int(time.time() * 1000) # server_time = int(time.time() * 1000)
# 允许 10 分钟的误差 (10 * 60 * 1000 = 600000 ms) # # 允许 10 分钟的误差 (10 * 60 * 1000 = 600000 ms)
# 考虑到网络延迟和设备时间未校准,设置宽松一点 # # 考虑到网络延迟和设备时间未校准,设置宽松一点
if abs(server_time - client_time) > 600000: # if abs(server_time - client_time) > 600000:
return create_api_response( # return create_api_response(
code="400", # code="400",
message="设备时间与服务器时间差距过大,请校准时间" # message="设备时间与服务器时间差距过大,请校准时间"
) # )
except ValueError: # except ValueError:
# 时间格式错误,暂时忽略或返回错误 # # 时间格式错误,暂时忽略或返回错误
pass # pass
# 3. 提取其他设备信息 # 3. 提取其他设备信息
device_type = request.headers.get("deviceType", "UNKNOWN") device_type = request.headers.get("deviceType", "UNKNOWN")