feat: unify payment administration
Deploy staging to test server / deploy (push) Successful in 3m28s

This commit is contained in:
linmeng
2026-07-29 13:40:10 +08:00
parent 43c8b59c24
commit 9a20b748e0
7 changed files with 405 additions and 81 deletions
+10 -9
View File
@@ -1612,17 +1612,18 @@
- 复发自:BUG-087
- 修复版本:`435e628806390e7ae138363491e7bae63ee801d4`staging 已验收
## BUG-093 | 后台导航遗漏支付记录与支付配置入口
## BUG-093 | 后台支付入口分散且界面风格不一致
- 状态:resolved
- 首次发现:2026-07-29
- 最近更新:2026-07-29
- 影响面:后台 Refine 侧栏导航;支付页面与后台支付 API 本身不受影响。
- 用户现象:管理员进入后台后只能看到兑换码、用户、积分流水、咨询和审计菜单,看不到支付记录与支付配置。
- 触发条件:进入同域 `/admin`通过 Refine `resources` 生成后台导航
- 根因:`/admin/payments``/admin/packages` 页面及 `/api/admin/payments``/api/admin/packages` 接口已经存在,但 `AdminApp``resources` 数组没有注册这两个资源
- 修复:后台导航中增加“支付记录”和“支付配置”,分别指向 `/admin/payments``/admin/packages`,并使用支付卡和设置图标;权限仍由统一的 admin-only 页面/API guard 执行
- 验证:后台合同测试锁定两个资源的名称、路径与图标;Next.js 生产构建通过;staging 部署和登录态验收记录在本次交付报告。
- 防复发:新增独立后台页面时必须同步注册导航资源,后台合同测试必须覆盖页面路由与菜单资源的一致性
- 影响面:后台 Refine 侧栏`/admin/payments``/admin/packages` 与后台退出区域;支付 API 数据合同不受影响。
- 用户现象:支付记录与支付配置占用两个导航项,页面仍使用主站 `standalone-page/admin-header/admin-section` 样式;套餐新增表单常驻页面,后台默认退出入口还会触发登出,管理员难以直接返回对话
- 触发条件:进入同域 `/admin`管理支付记录或套餐,或点击 Refine 侧栏底部默认 Logout
- 根因:BUG-093 首轮只补齐了两个缺失资源,没有收敛同一支付领域的信息架构;支付与套餐页沿用 Refine 接入前的原生页面,默认 `ThemedSider` logout 也未按后台工作流定制
- 修复:后台只注册一个“支付管理”资源;`/admin/payments` 使用统一的 Ant Design + Refine `List/Card/Table/Form/Tag/Alert/Statistic` 页面,同时读取支付记录与套餐,保留筛选、统计、分页和订单字段。套餐新增/编辑收进可重置 Modal,保存和停用通过 message 反馈并刷新列表;旧 `/admin/packages` 服务端重定向。自定义 `ThemedSider` 保留资源 items、忽略默认 logout,并追加折叠态可访问的“返回对话”链接到 `/`
- 验证:`frontend/tests/admin-contracts.test.ts` 锁定单一支付资源、自定义 Sider 不调用 logout 和返回对话链接;`frontend/tests/admin-payments-contract.test.ts` 锁定统一页面组件、两类 fetch、套餐 Modal、POST/PATCH/DELETE、旧路由重定向以及 `requireAdminSession`。相关测试、Next.js build 与 `git diff --check` 结果记录在本次交付报告。
- 防复发:同一后台领域默认收敛为单一资源和统一 Refine 页面;套餐创建只能出现在 Modal;旧深链接必须显式重定向;后台侧栏返回主站不得调用 `authProvider.logout`,主站账户菜单退出行为不随之修改
- 相关记录:BUG-087、BUG-092
- 修复版本:待 staging 验收
- 复发自:BUG-093
- 修复版本:待提交(本地可测)