修复用户端令牌失效后的登录恢复

This commit is contained in:
czl231
2026-09-04 21:54:35 +08:00
parent 7cc56f955f
commit e092659622
19 changed files with 636 additions and 33 deletions

View File

@@ -163,6 +163,8 @@ apps/user_app/lib/
- 写请求生成并持久化幂等键;重试复用原键。余额支付、充值、提现、订单提交、报修和设备命令均不得因页面重建或网络重连重复创建事实。
- ViewModel 根据稳定错误码映射可操作文案与恢复入口不得解析后端错误文案驱动流程。401/403、状态冲突、限流、外部依赖不可用和未知错误分别处理。
- 所有面向用户的接口错误必须显示中文;已知错误按稳定错误码映射,未知英文技术信息统一收敛为安全的中文失败提示。登录页在请求前校验纯 11 位中国大陆手机号,并在输入框下显示格式错误原因。
- 携带用户令牌的请求收到 HTTP 401或统一响应返回鉴权业务码 `1301``1314``1715` 时,客户端必须立即清空当前内存会话并尽力删除持久化令牌,由根路由统一跳转登录页;并发鉴权失败只执行一次失效流程,不得在业务页面重复显示为网络异常。登录、注册和验证码等未鉴权请求失败不得清理当前会话。
- 会话失效或未登录访问受保护页面时,登录地址应通过受校验的站内 `redirect` 参数保留完整目标路径和查询参数。重新登录成功后使用替换导航返回目标页,非法、外部或鉴权页目标统一回退首页;登录前失败的订单、支付、退款和工单等写操作不得自动重放。
- 金额以最小货币单位整数进入领域层,只在格式化组件中转换为展示文本;时间统一解析为 UTC 并按用户时区展示,同时保留数据更新时间。
### 7.5 本地数据、安全与平台能力