78798e3630
Co-authored-by: Cursor <cursoragent@cursor.com>
2.1 KiB
2.1 KiB
推送页重构 — 分批实施计划
日期: 2026-06-02
设计: docs/design/specs/2026-06-02-push-refactor-design.md (v2.0)
分批总览
| 批次 | 名称 | 范围 | 状态 |
|---|---|---|---|
| B0 | 后端热修复 | S1/S2/S3/S4、C8 running 广播 | ✅ 已完成 |
| B1 | 前端 Critical | C1–C6、C7、C9、C10 | ✅ 已完成 |
| B2 | 性能与数据 | M8/M9、M6、PushItem、历史表列 |
✅ 已完成 |
| B3 | 历史筛选、reconcile API、ZIP 源路径禁用 | ✅ 已完成 | |
| B4 | 体验增强 | 多机预览、诊断、is_online、列表刷新 | ✅ 已完成 |
| B5 | 架构拆分 | composables + 子组件 | ✅ 已完成 |
| B6 | M2 /ws/sync + M9 清理 + 全量预览 |
见 post-b5 设计 | ✅ 已完成 |
B0 — 涉及文件
server/infrastructure/database/sync_log_repo.py— 新增update()server/application/services/sync_engine_v2.py—--stats、解析统计、running 广播server/background/retry_runner.py— 成功判定逻辑server/domain/models/__init__.py—max_retries默认 3
B1 — 涉及文件
frontend/src/pages/PushPage.vue
B5 — 涉及文件
frontend/src/pages/PushPage.vue— 薄编排层(~100 行)frontend/src/composables/push/—types.ts、labels.ts、usePushForm、usePushServers、usePushProgress、usePushPreview、usePushLogs、usePushPagefrontend/src/components/push/—PushZipUpload、PushToolbar、PushServerGrid、PushSyncModeCard、PushProgressList、PushPreviewDialog、PushDiagnoseDialog、PushHistoryTable
验证
cd frontend && npm run build-only
ruff check server/infrastructure/database/sync_log_repo.py server/application/services/sync_engine_v2.py server/background/retry_runner.py
python -c "from server.infrastructure.database.sync_log_repo import SyncLogRepositoryImpl; assert hasattr(SyncLogRepositoryImpl, 'update')"
回滚
- B0/B1 均为向后兼容改动,回滚对应文件 git revert 即可;无 DB 迁移(
max_retries仅影响新行默认值)。