05 — 商户中心新增「收款能力」页

What to build: 商户中心(rencaika_merchant/pages/merchant/merchant.uvue)新增一行「收款能力」,进入只读页展示 {ready, reason, verifiedAt} 与一个「立即核实」按钮。

  • 判定与文案来自 02 的接口,reason 与下单被拒的 toast 逐字一致;页面**不**展示 merchant_stat 等通道原始值。
  • 「立即核实」调 03 的接口;冷却中按钮禁用并显示下次可核实时间;核实后刷新页面状态。
  • 页面必须显示最近核实时间(verifiedAt)——它是这份快照对外唯一的时效证据,快照最迟 6 小时。
  • 未进件/待审核/已驳回的商户进这一页也应得到可读结论(接口已覆盖,页面不要自行兜底成「可收款」)。

落点沿用仓库约定:新页面路径 + pages.json 注册(navigationStyle: custom);商户中心那一行是硬编码 markup + handleMenuAction 里的字符串分支(没有可复用列表组件);接口调用新增/扩展 services/ 下模块,路径集中在 config/api.uts 的 getApiEndpoint。

Blocked by: 02, 03

Status: ready-for-human —— 代码侧交付完成,待两端页面人工验收

  • [x] 商户中心出现「收款能力」入口,可进入新页面。
  • [x] ready=true 时显示可收款与最近核实时间;ready=false 时显示原因与最近核实时间。
  • [x] 快照从未核实时显示待确认原因,且「立即核实」可点。
  • [x] 冷却中按钮禁用并显示下次可核实时间;冷却结束自动恢复可点。
  • [ ] 页面验收:把测试库 merchant_stat 改成非 NORMAL,页面与「扫码下单被拒」的文案一致;改回 NORMAL 并核实后恢复可收款。

Comments

  • 2026-09-17 由本会话 grilling 的 D2/D6/D9 决策立项(见 spec)。这是「遗留二」的落点;approved 之后商户不再需要回头进进件页。
  • 2026-09-17 代码侧交付。新页 pages/payment-capability/payment-capability.uvue,入口放在商户中心「商户进件」下方(图标 hand-coins-gray.svg:hand-coins.svg 是绿色,与商户中心那一列灰图标不一致,7fb1821 补了灰色变体)。状态图标刻意不用红叉:进件还没通过时用与进件页一致的「等待」图标,只有 reason 指明通道商户状态异常时才由文案承担那份严重性。loading/error 复用 page-feedback 组件,与商户中心一致。
  • 2026-09-17 复审修复(Spec 1/Standards 3,以及 Spec 6、7)。**「冷却结束自动恢复可点」原先勾得不对**:代码只在 onShow 重新拉取,留在页面上按钮会一直停在"稍后可再次核实"。现在真的做了:服务端给 retryAfterSeconds,页面用 setInterval 递减并显示在按钮上("4:05 后可再次核实"),到点就地恢复并静默重拉一次(loadReadiness(false),不切 loading,避免整屏闪),onHide/onUnload 清定时器。同时修了两处会误导人的文案:一是核实回来若 refreshed=false 只说"未重新查询通道,显示最近一次结果"(不再谎称刚核实过);二是两种"不能点"分开说——冷却中提示"刚核实过,请稍后再试",没有冷却却仍不可核实(例如进件未通过)则直接复用判定的 reason,按钮文案也从一律"稍后可再次核实"改为"暂不可核实"。图标名一处笔误(写成 hand-coins.svg)一并改正。