user-auth-flow.md 3.4 KB

用户使用流程图 — 认证与用户管理

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 获取用户行动统计