Files
sankey/IMPLEMENTATION_PLAN.md
2026-02-13 22:26:53 +08:00

92 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# IMPLEMENTATION_PLAN.md
## 1. 目的
将 PRD 的需求拆为可执行、可验证的小步任务,减少实现时猜测。
关联文档:
- PRD.md
- APP_FLOW.md
- TECH_STACK.md
- FRONTEND_GUIDELINES.md
- BACKEND_STRUCTURE.md
## 2. 里程碑视图
- M1工程与核心数据层
- M2Web 交互与图表预览
- M3导出与体验增强
- M4质量门禁与文档闭环
- M5小程序从骨架到可用
## 3. 详细步骤
### M1 工程与核心数据层
- [x] 1.1 初始化 `Vue + TS + Vite` 工程
- [x] 1.2 按 TECH_STACK 安装依赖并配置脚本
- [x] 1.3 建立 `src/core` 模块边界
- [x] 1.4 实现 CSV 解析为 `RawTable`
- [x] 1.5 实现 XLS/XLSX 解析为 `RawTable`
- [x] 1.6 实现 `MappingConfig``SankeyBuildResult` 类型
- [x] 1.7 实现 target 向下补全 + 聚合算法
- [x] 1.8 覆盖核心单元测试
验收命令:
- `npm run test`
### M2 Web 交互与图表预览
- [x] 2.1 实现主页面结构(头部、左侧、预览)
- [x] 2.2 实现文件点击上传
- [x] 2.3 实现拖拽上传
- [x] 2.4 实现 source/target 列映射交互
- [x] 2.5 建立实时重算机制watchEffect
- [x] 2.6 接入 ECharts Sankey 渲染
- [x] 2.7 支持方向切换
- [x] 2.8 支持 gap/padding 调节
- [x] 2.9 支持主题选择器与配色应用
- [x] 2.10 增加错误与告警展示
- [x] 2.11 首次加载默认样例文件
验收命令:
- `npm run type-check`
- `npm run lint`
### M3 导出与体验增强
- [x] 3.1 实现 SVG 导出DOM 序列化优先)
- [x] 3.2 实现 PNG 导出pixelRatio=2
- [x] 3.3 统一导出命名规则(时间戳)
- [x] 3.4 增加目标总和显示开关
验收清单:
- 本地下载文件可打开
- 命名格式符合约定
### M4 质量门禁与文档闭环
- [x] 4.1 建立/维护测试命令
- [x] 4.2 建立/维护 lint 与 type-check 门禁
- [x] 4.3 补充 README 与规划文档
- [x] 4.4 补充本轮知识库文档PRD/Flow/Stack/Guidelines/Backend/Plan
- [x] 4.5 更新会话记忆文件 `progress.txt`
验收命令:
- `npm run test`
- `npm run type-check`
- `npm run lint`
- `npm run format`
### M5 小程序从骨架到可用
- [x] 5.1 接入文件上传能力csv/xls/xlsx
- [x] 5.2 对齐 Web 聚合规则(默认映射、向下补全、告警)
- [x] 5.3 接入小程序原生 canvas 预览容器
- [x] 5.4 接入导出能力PNG 到相册、SVG 文件导出)
- [ ] 5.5 建立小程序端测试与验收用例(待补)
## 4. 每次迭代执行模板
1.`progress.txt` 读取上下文
2. 选择一个最小可交付任务
3. 实现并补充/更新测试
4. 运行质量命令
5. 更新 `progress.txt` 与相关规范文档
## 5. 变更控制
- 任何超出 PRD 范围的能力,先改 PRD再改计划。
- 任何新增依赖,先确认,再更新 TECH_STACK。