# 用户使用流程图 — 认证与用户管理 ```mermaid flowchart TD %% ============ 颜色定义 ============ classDef actor fill:#e1f5fe,stroke:#0288d1,stroke-width:2px classDef action fill:#fff3e0,stroke:#f57c00,stroke-width:1px classDef system fill:#e8f5e9,stroke:#388e3c,stroke-width:1px classDef decision fill:#fce4ec,stroke:#d32f2f,stroke-width:1px classDef role fill:#f3e5f5,stroke:#7b1fa2,stroke-width:1px classDef endpoint fill:#f5f5f5,stroke:#616161,stroke-width:1px,shape:box subgraph 注册登录 A1(("用户")) --> A2{已有账号?} A2 -->|否| A3{注册方式} A3 -->|微信授权| A4[微信静默登录 /silent-login] A3 -->|手机号| A5[发送验证码 /send-code] A5 --> A6[手机号验证码登录 /phone-login] A3 -->|手机号+身份证| A7[注册登录 /register-with-idcard] A3 -->|邀请码| A8[邀请码注册 /register-with-invite] A3 -->|直接注册| A9[直接注册 /direct-register] A4 --> A10[系统自动创建账号] A6 --> A10 A7 --> A10 A8 --> A10 A9 --> A10 A2 -->|是| A11{登录方式} A11 -->|微信| A12[微信code登录 /wechat-login] A11 -->|手机号| A13[手机验证码登录 /phone-login] A11 -->|openid| A14[openid自动登录 /auto-login] A12 --> A15[JWT签发] A13 --> A15 A14 --> A15 A10 --> A15 end subgraph 认证与安全 A15 --> B1[验证JWT Token /verify] B1 --> B2{Token有效?} B2 -->|有效| B3[获取用户信息 /info] B2 -->|过期| B4[重新登录] B3 --> B5[设置密码 /set-password] B3 --> B6[验证密码 /verify-password] B3 --> B7[检查手机号 /check-phone] end subgraph 角色切换 B3 --> C1{当前角色} C1 -->|家长| C2[切换到孩子视图 /switch-role] C1 -->|孩子| C3[切换回家长 /switch-back-to-parent] C1 -->|带密码校验| C4[密码校验切换 /switch-back-verify] C2 --> C5[获取用户角色列表 /roles] C3 --> C5 end R1(("👤 用户")):::actor R2(("🔐 JWT认证")):::system A1 -.- R1 A15 -.- R2 ``` ## 端点明细 | 端点 | 方法 | 说明 | |------|------|------| | `/api/auth/send-code` | POST | 发送短信验证码 | | `/api/auth/phone-login` | POST | 手机号+验证码登录 | | `/api/auth/wechat-phone-login` | POST | 微信手机号登录 | | `/api/auth/silent-login` | POST | 微信静默登录 | | `/api/auth/auto-login` | POST | openid自动登录 | | `/api/auth/register-with-idcard` | POST | 手机号+身份证注册登录 | | `/api/auth/wechat-login` | POST | 微信code登录 | | `/api/auth/info` | POST | 获取当前用户信息 | | `/api/auth/set-password` | POST | 设置密码 | | `/api/auth/verify` | POST | 验证JWT Token有效性 | | `/api/auth/verify-password` | POST | 验证密码 | | `/api/auth/check-phone` | POST | 检查手机号是否已注册 | | `/api/auth/direct-register` | POST | 直接注册用户 | | `/api/auth/register-with-invite` | POST | 使用邀请码注册 | | `/api/auth/switch-role` | POST | 切换角色 | | `/api/user/info` | POST | 获取用户信息 | | `/api/user/update` | POST | 更新用户信息 | | `/api/user/children/list` | POST | 获取子女列表 | | `/api/user/family-members` | POST | 获取家庭成员列表 | | `/api/user/action-stats` | POST | 获取用户行动统计 |