2026-05-30 07:23:33 +08:00
|
|
|
|
"""
|
|
|
|
|
|
认证模块请求/响应模型
|
|
|
|
|
|
|
|
|
|
|
|
定义登录认证相关的请求体和响应体数据模型,供 auth 路由使用。
|
|
|
|
|
|
"""
|
|
|
|
|
|
|
2026-05-14 10:15:51 +08:00
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class LoginRequest(BaseModel):
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""登录请求体,用于用户登录认证。被 POST /api/auth/login 路由使用。"""
|
|
|
|
|
|
|
2026-05-14 10:15:51 +08:00
|
|
|
|
username: str
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""用户名"""
|
|
|
|
|
|
|
2026-05-14 10:15:51 +08:00
|
|
|
|
password: str
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""密码"""
|
|
|
|
|
|
|
2026-05-14 13:51:06 +08:00
|
|
|
|
role_type: str
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""角色类型,区分不同登录角色(如 admin / sales)"""
|
2026-05-14 10:15:51 +08:00
|
|
|
|
|
|
|
|
|
|
|
2026-05-14 13:51:06 +08:00
|
|
|
|
class UserProfile(BaseModel):
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""用户信息响应体,包含用户基本信息、角色权限和菜单数据。用于登录成功后返回用户画像。"""
|
|
|
|
|
|
|
2026-05-14 13:51:06 +08:00
|
|
|
|
user_id: int
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""用户 ID"""
|
|
|
|
|
|
|
2026-05-14 13:51:06 +08:00
|
|
|
|
username: str
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""用户名"""
|
|
|
|
|
|
|
2026-05-14 13:51:06 +08:00
|
|
|
|
real_name: str
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""真实姓名"""
|
|
|
|
|
|
|
2026-05-14 13:51:06 +08:00
|
|
|
|
mobile: str
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""手机号"""
|
|
|
|
|
|
|
2026-05-14 13:51:06 +08:00
|
|
|
|
role_id: int
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""角色 ID"""
|
|
|
|
|
|
|
2026-05-14 13:51:06 +08:00
|
|
|
|
role_name: str
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""角色名称"""
|
|
|
|
|
|
|
2026-05-14 13:51:06 +08:00
|
|
|
|
role_code: str
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""角色编码"""
|
|
|
|
|
|
|
2026-05-14 13:51:06 +08:00
|
|
|
|
token: str | None = None
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""JWT 令牌,仅登录时返回"""
|
|
|
|
|
|
|
2026-05-14 13:51:06 +08:00
|
|
|
|
menus: list[dict] = []
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""该角色关联的菜单列表"""
|
|
|
|
|
|
|
2026-05-14 13:51:06 +08:00
|
|
|
|
permissions: list[str] = []
|
2026-05-30 07:23:33 +08:00
|
|
|
|
"""该角色的权限编码列表"""
|