fix: polish storefront account and membership state
This commit is contained in:
@@ -2712,3 +2712,19 @@
|
||||
- 相关记录:ERR-020、ERR-021、ERR-022、ERR-024、ERR-025、ERR-026、ERR-104
|
||||
- 复发自:无
|
||||
- 修复版本:待提交
|
||||
|
||||
## BUG-160 | 管理端商品权益枚举未本地化且登录、套餐与充值返回状态出现前端闪烁或陈旧状态
|
||||
|
||||
- 状态:resolved(local candidate,待真实登录态浏览器验收)
|
||||
- 首次发现:2026-08-11
|
||||
- 最近更新:2026-08-11
|
||||
- 影响面:管理端商品与权益列表/编辑表单、主站登录跳转、首页 composer、套餐页兑换码弹窗、支付后首页点数余额
|
||||
- 用户现象:商品类型、计费周期、权益类型和重置周期直接显示英文枚举;未登录进入 `jyotisha.chat` 时登录页接管前短暂出现“暂时无法进入 Jyotisha”;首页 composer 展示过多状态提示;套餐页默认打开兑换码弹窗;充值成功返回首页后仍显示旧点数。
|
||||
- 触发条件:管理端读取数据库枚举;首页并行账户/会话请求返回 401;composer 业务流程写入 notice;账户菜单携带 `redeem=1` 进入套餐页;支付页返回已存在的首页历史记录且该记录未按普通 `pageshow` 刷新账户。
|
||||
- 根因:商品与权益 UI 直接渲染数据库英文值;401 跳转后继续抛出普通错误并被首页 bootstrap 写入 `accountError`;composer footer 集中渲染所有 notice;套餐页用 URL 参数初始化 `redeemOpen`,首页账户菜单默认写入该参数;余额同步事件只在套餐页当前窗口发出,而首页已卸载,首页又只在 BFCache `pageshow.persisted` 时刷新。
|
||||
- 修复:在管理端为商品类型、计费周期、权益类型和重置周期增加中文显示映射,API 原始值保持不变;401 使用 `location.replace` 和专用跳转错误,bootstrap/账户刷新忽略该跳转并保持 loading;删除 composer notice 可见渲染;移除 `membershipHref` 的 redeem 参数和套餐页 URL 自动开窗逻辑,保留用户手动兑换按钮;首页每次 `pageshow` 都重新读取账户与点数。
|
||||
- 验证:商品/会员/首页入口 66 条聚焦测试全部通过;本次 7 个目标文件 ESLint 通过;`git diff --check` 通过。完整 `tsc --noEmit` 仍被本任务外既有问题阻塞,包括缺少本地 `boring-avatars` 安装及既有报告、生产迁移和 staging workflow 测试类型错误,未把这些错误计入本修复通过条件。
|
||||
- 防复发:数据库枚举必须在管理 UI 显示边界映射,不得修改 API 真值;认证跳转不得进入普通错误页状态;对离开页面期间可能变化的账户余额,页面恢复必须主动重新读取服务端;兑换弹窗只能由明确用户操作开启。
|
||||
- 相关记录:BUG-010、BUG-090、BUG-123
|
||||
- 复发自:无
|
||||
- 修复版本:本地 staging 候选(未 push / deploy)
|
||||
|
||||
Reference in New Issue
Block a user