| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- import dataclasses
- from datetime import datetime
- from fastapi import Response
- @dataclasses.dataclass
- class IpInfo:
- """IP 归属地解析结果。"""
- ip: str
- country: str | None
- region: str | None
- city: str | None
- @dataclasses.dataclass
- class UserAgentInfo:
- """User-Agent 解析结果(操作系统、浏览器、设备)。"""
- user_agent: str
- os: str | None
- browser: str | None
- device: str | None
- @dataclasses.dataclass
- class RequestCallNext:
- """请求链路 call_next 封装结果(状态码、消息、异常、响应)。"""
- code: str
- msg: str
- err: Exception | None
- response: Response
- @dataclasses.dataclass
- class AccessToken:
- """访问令牌及过期时间、会话 UUID。"""
- access_token: str
- access_token_expire_time: datetime
- session_uuid: str
- @dataclasses.dataclass
- class RefreshToken:
- """刷新令牌及过期时间。"""
- refresh_token: str
- refresh_token_expire_time: datetime
- @dataclasses.dataclass
- class NewToken:
- """刷新后的一对访问/刷新令牌及会话 UUID。"""
- new_access_token: str
- new_access_token_expire_time: datetime
- new_refresh_token: str
- new_refresh_token_expire_time: datetime
- session_uuid: str
- @dataclasses.dataclass
- class TokenPayload:
- """JWT/会话载荷中的用户与会话标识。"""
- id: int
- session_uuid: str
- expire_time: datetime
- @dataclasses.dataclass
- class UploadUrl:
- """上传完成后的访问 URL。"""
- url: str
- @dataclasses.dataclass
- class SnowflakeInfo:
- """雪花 ID 拆解后的各段信息。"""
- timestamp: int
- datetime: str
- cluster_id: int
- node_id: int
- sequence: int
|