YoungestSongMo
e1c8eff946
feat: VIP会员开通 + 订单分类 + EnumResolver统一枚举
VIP 会员开通页面(VipPage)
- 四部分布局:激活码 / 套餐选择(双列:Radio + 权益图库) / 协议确认 / 支付跟踪
- 支付跟踪:仿照 RechargePage 模式,创建订单后进入待支付阶段,轮询 VipAPI.getVipOrder
- 页面锁定:待支付中禁止关闭容器(PAGE_LOCK),仅可通过 "X" 关闭
- 权益图库:双列布局右列展示,antd Image 组件支持点击放大预览
- Bug 修复:取消错误判断 name==='AbortError' → instanceof RequestError && type===CANCELLED
订单明细分类(OrdersPage)
- 新增订单类型切换(充值订单 / VIP订单),各自独立数据源与列定义
- startVipPolling:VIP 订单轮询(VipAPI.getVipOrder),与充值轮询对称
- handleContinuePay 统一:根据 orderType 分发到对应轮询函数
- Bug 修复:同 VipPage 的取消错误判断
EnumResolver 统一枚举(enum-resolver.ts)
- 新增 payments 模块:status.label/color + method.label
- 扩展 vip.orderStatus.color
- VipPage / OrdersPage 移除所有直接 Map 索引和本地映射函数,统一走 EnumResolver
VipAPI 扩展(vip-api.ts)
- 新增 getVipOrder(orderId):单订单查询端点 /api/v1/vip/orders/{order_id}
PageDispatcher
- /vip 路由注册 VipPage,label="VIP 会员开通",width=560
2026-06-16 18:29:59 +08:00
..
2026-06-04 11:03:25 +08:00
2026-06-16 18:29:59 +08:00