11
Some checks failed
CI / verify (push) Has been cancelled

This commit is contained in:
2026-04-16 21:47:20 +08:00
parent 2456c10c63
commit 09d4c0c31b
79 changed files with 11873 additions and 2341 deletions

View File

@@ -0,0 +1,202 @@
# “我的”Tab 设置与账号安全 PRD
更新时间:`2026-04-16`
## 0. 目标
把“设置”入口正式定义为账号安全中心,统一承载:
1. 账号基础信息查看
2. 当前安全状态
3. 登录设备管理
4. 更换手机号
5. 最近账号操作记录
6. 退出登录与退出全部设备
这个模块直接建立在当前仓库已有的账号接口之上,是“我的”页最优先落地的正式功能。
---
## 1. 当前现状
当前仓库已具备以下基础能力:
1. `GET /api/auth/risk-blocks`
2. `GET /api/auth/sessions`
3. `GET /api/auth/audit-logs`
4. `POST /api/auth/phone/change`
5. `POST /api/auth/logout`
6. `POST /api/auth/logout-all`
7. `POST /api/auth/sessions/:sessionId/revoke`
说明当前账号安全不是从零开始,而是缺少稳定的信息架构和最终产品定义。
---
## 2. 产品范围
## 2.1 本期要做
1. 设置与账号安全弹窗
2. 安全状态展示
3. 登录设备管理
4. 更换手机号
5. 操作记录查看
6. 退出当前设备
7. 退出全部设备
## 2.2 本期不做
1. 修改密码正式入口
2. 实名认证
3. 邮箱绑定
4. 多因子认证
---
## 3. 信息架构
设置中心建议固定为五段:
1. 账号概况
2. 当前安全状态
3. 登录设备
4. 更换手机号
5. 账号操作记录
底部保留两个危险操作按钮:
1. 退出登录
2. 退出全部设备
---
## 4. 详细设计
## 4.1 账号概况
展示:
- 登录方式
- 手机号脱敏值
- 微信绑定状态
- 账号状态
这里只看信息,不做大编辑动作。
## 4.2 当前安全状态
展示当前账号命中的风控保护:
- 手机号保护
- 当前网络保护
每条状态可执行:
- 解除保护
解除动作必须经过后端校验。
## 4.3 登录设备
每条设备展示:
- 设备类型
- 最近活跃时间
- 到期时间
- IP 脱敏信息
- 是否当前设备
非当前设备支持:
- 踢下线
## 4.4 更换手机号
流程:
1. 输入新手机号
2. 获取验证码
3. 如有需要,完成人机校验
4. 输入验证码
5. 提交修改
规则:
1. 新号码不能等于当前号码
2. 已被其他账号绑定的号码不可用
3. 风控命中时必须遵循现有保护逻辑
## 4.5 操作记录
展示最近账号行为:
- 登录
- 绑定手机号
- 更换手机号
- 退出登录
- 踢设备
- 触发图形验证码
- 风险保护
---
## 5. 前后端职责边界
## 5.1 前端职责
1. 展示状态
2. 收集输入
3. 呈现 loading / success / error
## 5.2 后端职责
1. 风控判断
2. 图形验证码触发
3. 会话列表返回
4. 设备撤销
5. 日志审计
6. 手机号换绑
前端不允许自己决定:
- 是否需要验证码
- 是否允许解除风控
- 是否允许换绑
---
## 6. 接口对齐
首期优先复用现有接口:
1. `GET /api/auth/me`
2. `GET /api/auth/risk-blocks`
3. `POST /api/auth/risk-blocks/:scopeType/lift`
4. `GET /api/auth/sessions`
5. `POST /api/auth/sessions/:sessionId/revoke`
6. `GET /api/auth/audit-logs`
7. `POST /api/auth/phone/change`
8. `POST /api/auth/logout`
9. `POST /api/auth/logout-all`
如需补充,只增加展示层所缺的聚合字段,不重建接口体系。
---
## 7. 前端实现要求
1. 设置继续采用当前账号弹窗基础形态即可
2. 移动端优先底部弹层,桌面端可居中弹窗
3. 更换手机号区域默认折叠
4. 危险操作按钮与普通按钮必须明显区分
---
## 8. 验收标准
1. 用户能看到当前账号安全信息
2. 能查看并管理登录设备
3. 能按规则更换手机号
4. 能查看最近账号操作记录
5. 退出登录和退出全部设备都能稳定生效