关联场景:
../user-scenarios/01-guest.md。对应 e2e:../e2e/roles/*(登录类)。
| TC 编号 | 所属场景 | 模块 | 角色 | 优先级 | 类型 | 前置条件 | 测试步骤 | 预期结果 | 关联需求/设计 | 对应 e2e |
|---|---|---|---|---|---|---|---|---|---|---|
| TC-G-01 | G-1 | 启动/首页 | 游客 | P1 | 功能 | 清除登录态 | 1. 冷启动进入 splash/home 2. 观察首页与入口 | 显示引流首页,不进入任何业务页;明显展示微信/手机号/邀请登录入口 | JwtInterceptor 拦截 /api/** |
e2e/roles/child/login.spec.js(反向) |
| TC-G-02 | G-2 | 认证 | 游客 | P0 | 接口 | 微信授权可用(test-mode) | 1. 点微信一键登录 2. POST /api/auth/wechat-login |
返回 Result 含 token+用户信息;角色默认 parent;跳转家长首页;首次登录建 User+family_members(memberType=login) |
AuthController/API_REFERENCE 1.1 |
e2e/roles/parent/../login |
| TC-G-03 | G-3 | 认证 | 游客 | P0 | 接口 | 有效手机号 13800000001 | 1. POST /api/auth/send-code 2. POST /api/auth/phone-login(验证码) 3. 重复错误验证码 |
验证码正确→登录下发 token;错误→提示失败且不产生会话;限流生效 | 统一 POST/JWT | — |
| TC-G-04 | G-4 | 家庭/邀请 | 游客 | P1 | 功能 | 家长已 POST /api/family/invite/generate 生成邀请 |
1. 扫码/落地页进入 2. POST /api/auth/register-with-invite(带令牌) |
登录后自动归属对应家庭,成员列表出现该用户;令牌失效→「邀请已失效」 | FamilyInviteController |
e2e/roles/teacher/family-binding.spec.js(参考) |
| TC-G-05 | G-5 | 权限 | 游客 | P0 | 权限 | 无 token;已知业务路由 | 1. 直接请求 /pages/family/index 等(无 Authorization) 2. POST /api/product/list、/api/articles/list 3. 点商品/文章详情需登录项 |
业务页→401 跳登录,登录后回跳;商城/文章列表可见(公开);需登录详情被拦截 | JWT;8 公开路径白名单(1.1) | e2e/debug-control.spec.js(参考) |
/api/** 接口统一 401,前端统一跳登录。