feat: 订单轮询 + 竞态防护 + 性能优化 (OrdersPage 完善)
- startPolling: 基于 Map<orderId, timer> 的多订单并发轮询
幂等启动(重复点击防重)+ 局部 state 更新 + 终态全量刷新
- fetchOrders: AbortController 防竞态,切换筛选/分页时取消旧请求
AbortError 静默吞掉,不污染 error state
- columns: useMemo 稳定引用,依赖 [token.colorPrimary, handleContinuePay]
- 卸载清理: abort + clearTimeout 双重防护
- 文档同步: CHANGELOG / TODO 更新至 0.0.21
This commit is contained in:
14
CHANGELOG.md
14
CHANGELOG.md
@@ -32,6 +32,20 @@
|
||||
- uploadValidation 内联到 ImageInput(controls/ 不再混工具函数)
|
||||
- 删除空占位 Test3.tsx
|
||||
|
||||
### 支付系统 & 订单明细
|
||||
|
||||
- **RechargePage antd 6.x 适配**:`InputNumber.addonAfter` → `Space.Compact`、`Space direction` → `orientation`,消除弃用警告
|
||||
- **OrdersPage 订单明细页面**(`/orders`,方案 B — 独立订单管理页):
|
||||
- 状态筛选 Segmented(全部/待支付/已支付/已过期/支付失败)+ 分页 Table
|
||||
- "继续支付"操作:打开支付 URL + `startPolling` 单订单轮询
|
||||
- `pollingRef: Map<orderId, timer>` 管理多订单并发轮询,幂等启动(重复点击防重)
|
||||
- 局部 state 更新 + 终态全量刷新(`fetchOrders`)
|
||||
- `AbortController` 防竞态:切换筛选/分页时取消旧请求
|
||||
- `columns` 使用 `useMemo` 稳定引用
|
||||
- 错误态 Result + 重试按钮
|
||||
- **PageDispatcher**:注册 `/orders` 路由(width: 820, height: 640),新增 `CLOSE_PAGE` / `PAGE_LOCK` 事件监听
|
||||
- **payments.ts**:支付 API 模块类型体系(`CreateOrderResponseBody` → `OrderListResponseBody` / `OrderInfoResponseBody` 名义类型),`PaymentAPI.getOrdersListInfo` 支持 `AbortSignal`
|
||||
|
||||
---
|
||||
|
||||
## 0.0.20(2026-06-12)
|
||||
|
||||
Reference in New Issue
Block a user