将 mini-driver 和 mini-manager 两个独立小程序合并为 frontend/mini-app, 通过自定义 tabBar 根据登录角色动态切换界面: - 后端登录接口 role_type 改为可选,支持自动识别角色 - 统一登录页根据 role_code 自动跳转对应首页 - 统一"我的"页通过 wx:if 切换司机/管理层内容 - 自定义 tabBar 组件按角色渲染不同 tab 项 - 提取公共 utils(auth/request/status)消除重复代码 - 原有两个项目保留不动,待验证后清理 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
55 lines
1.1 KiB
Python
55 lines
1.1 KiB
Python
"""
|
||
认证模块请求/响应模型
|
||
|
||
定义登录认证相关的请求体和响应体数据模型,供 auth 路由使用。
|
||
"""
|
||
|
||
from pydantic import BaseModel
|
||
|
||
|
||
class LoginRequest(BaseModel):
|
||
"""登录请求体,用于用户登录认证。被 POST /api/auth/login 路由使用。"""
|
||
|
||
username: str
|
||
"""用户名"""
|
||
|
||
password: str
|
||
"""密码"""
|
||
|
||
role_type: str | None = None
|
||
"""角色类型,区分不同登录角色(如 admin / sales),为空时由后端自动识别"""
|
||
|
||
|
||
class UserProfile(BaseModel):
|
||
"""用户信息响应体,包含用户基本信息、角色权限和菜单数据。用于登录成功后返回用户画像。"""
|
||
|
||
user_id: int
|
||
"""用户 ID"""
|
||
|
||
username: str
|
||
"""用户名"""
|
||
|
||
real_name: str
|
||
"""真实姓名"""
|
||
|
||
mobile: str
|
||
"""手机号"""
|
||
|
||
role_id: int
|
||
"""角色 ID"""
|
||
|
||
role_name: str
|
||
"""角色名称"""
|
||
|
||
role_code: str
|
||
"""角色编码"""
|
||
|
||
token: str | None = None
|
||
"""JWT 令牌,仅登录时返回"""
|
||
|
||
menus: list[dict] = []
|
||
"""该角色关联的菜单列表"""
|
||
|
||
permissions: list[str] = []
|
||
"""该角色的权限编码列表"""
|