Files
zhixing-system/.trellis/tasks/archive/2026-08/08-11-market-integrity-check-web/prd.md
T

36 lines
1.7 KiB
Markdown
Raw Normal View History

2026-08-11 13:32:21 +08:00
# 实现同步任务检查页面
## 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 服务器状态。