Files
2026-08-11 13:32:21 +08:00

1.7 KiB

实现同步任务检查页面

Goal

启用现有“同步任务”导航,让用户主动触发只读市场数据完整性检查,并持续查看进度、终态和分页问题报告。

Dependencies

  • 依赖 08-11-market-integrity-check-api 冻结路径、字段、状态和错误码后开始实现。

Requirements

  • 新增 /sync 路由和 features/sync 垂直切片,启用桌面/移动导航入口。
  • 页面明确说明检查只比较 PostgreSQL/CSV,不访问 Tushare、不自动修复。
  • 无历史检查时可触发;running 时显示进度并禁用重复触发;终态停止轮询。
  • 展示 passed、issues_found、failed 状态、窗口、checked/target、问题数和时间。
  • 问题报告分页展示对象类型、对象 key、问题类型和安全说明。
  • 409、503、网络错误和刷新页面后的 running 恢复均有可见行为。
  • 服务器状态只放 React Query,不复制到 Zustand。

Acceptance Criteria

  • 导航“同步任务”可用并正确激活 /sync route presentation。
  • 点击检查调用一次 POST,显示 accepted/running,并轮询返回的 check id。
  • running 时按钮禁用;终态停止 polling 并展示正确状态与进度。
  • 页面刷新后能从 latest running 恢复轮询。
  • issues_found 展示分页问题;passed 显示无问题;failed 显示安全错误和重试入口。
  • 页面存在明确的“只报告、不自动修复”提示。
  • API adapter、query/mutation 和页面测试通过;格式、ESLint、TypeScript、Vitest、build 全部通过。

Out of Scope

  • 不提供自动修复按钮或直接启动 Tushare 同步。
  • 不在本任务中重做首页市场概览。
  • 不新增全局任务中心或 Zustand 服务器状态。