update at 2026-02-13 22:26:53

This commit is contained in:
douboer@gmail.com
2026-02-13 22:26:53 +08:00
parent 2fe45888ba
commit 43107afff1
54 changed files with 2183 additions and 311 deletions

View File

@@ -1,4 +1,4 @@
[更新时间] 2026-02-13次更新)
[更新时间] 2026-02-13次更新)
[项目] 星程桑基图
一、已完成Done
@@ -13,7 +13,7 @@
5. 已实现导出PNG/SVG带时间戳命名
6. 已实现默认样例加载:页面首次进入自动读取 `data/example0.xlsx`。
7. 已有核心单测parser + sankey 聚合 + xlsx 读取)。
8. 小程序端已完成视觉骨架(非完整业务)。
8. 小程序端已视觉骨架升级为可用流程(上传 -> 映射 -> 预览 -> 导出)。
9. 已实现本地持久化:用户上传文件、映射配置与预览选项会写入 localStorage刷新后自动恢复。
10. 已新增“汇聚对齐”配置Between/Middle/Top/Bottom可控制 target 侧对齐,且 gap 作为源侧基准。
11. 已优化“无配置初始化映射”:优先按表头别名自动匹配,缺失时按第二行首个数字列兜底。
@@ -31,6 +31,19 @@
20. 已完成手机端控件压缩:隐藏上传文本框;工具条单行滚动显示;预览区 gap/padding 改为下拉0-30 步长 5 / 0-80 步长 10方向改为“源/目标”;标签位置改为“内/外/左/右”;汇聚对齐改为“两端/中间/顶部/底部”;控件尽量单行展示。
21. 已强制手机端仅使用下拉控件模式:手机视口不渲染 gap/padding 滑动条与方向拨杆,仅渲染下拉选择,避免样式条件失效时回退到滑动条模式。
22. 已扩展到平板单行模式:`<=1024px` 下工具条与预览控件均单行展示(不换行,超出横向滚动),并压缩滑动条宽度以提升一行容纳能力。
23. 已按 Figma(3764:138) 调整 switch 与下拉样式switch 改为紧凑胶囊尺寸;下拉统一替换 `list.svg` 箭头并改为 hug/fit-content 宽度,控件宽度随内容变化。
24. 已恢复手机端上传文本框显示,并缩窄为单行可容纳宽度(固定窄幅 + 文本省略),保持工具条一行布局。
25. 已进一步压缩手机工具条以避免整体溢出:隐藏工具标签文本、缩小主题/上传按钮与导出按钮、上传框改为弹性窄宽度,工具条取消横向滚动并保持单行。
26. 已继续收紧 switch/下拉宽度:移除 switch 最小宽度与手机下拉最小宽度统一按内容自适应hug显示。
27. 已恢复手机端 `export.svg` 主图标显示,并缩小尺寸以兼顾单行工具条布局。
28. 已为顶部工具栏所有 SVG 图标补充悬停提示title与按钮 aria-label鼠标悬停可显示操作含义。
29. 已为预览框区域 SVG预览标题、gap/padding 图标)补充悬停提示,并为相关控件补充 aria-label。
30. 已统一 pad 与手机的 gap/padding 调节方式:`<=1024px` 统一使用下拉框(与手机一致),仅桌面保留滑动条。
31. 已启动小程序可用化第一阶段:支持 CSV 上传、默认列自动映射、列选择交互、聚合统计与信息日志展示;聚合规则与 Web 端核心逻辑对齐。
32. 已完成小程序第二阶段(基础渲染与导出):接入原生 canvas 桑基图绘制、PNG 导出到相册。
33. 已完成小程序第三阶段(格式与导出补齐):
- 上传解析支持 `csv/xls/xlsx` 三种格式。
- 小程序端接入真实 SVG 导出:按当前布局生成 SVG 文件并写入用户目录,优先尝试打开,失败时复制文件路径。
二、当前状态In Progress
1. 无进行中的代码重构任务。
@@ -46,12 +59,12 @@
1. 本地持久化基于 localStorage受浏览器容量限制超大文件可能无法完整保存。
2. Vite 开发配置依赖本机 HTTPS 证书路径,换机器可能无法直接启动。
3. 当前“目标数据”无独立数值列,数值始终来自 source data 列;若未来业务需要需先改 PRD。
4. 小程序仅骨架,尚未接入真实解析、渲染与导出
4. 小程序 xlsx 解析依赖开发者工具“构建 npm”若未构建将无法读取 xls/xlsx 文件
5. 信息日志当前仅展示最近告警(前 8 条),若后续需要完整历史需引入分页或虚拟滚动。
四、下一步建议Next
1. 决策是否引入“目标数值列”能力(先更新 PRD 后实现)。
2. 小程序由骨架升级为可用版本(优先复用 `src/core`)。
2. 小程序下一阶段:补充持久化恢复(上传文件与映射配置刷新不丢)。
3. 补充更多异常用例测试(空文件、超大文件、乱码表头、极端数值)。
4. 评估并处理 dev HTTPS 证书本地耦合问题,降低新环境接入成本。
5. 评估“信息日志”是否需要支持导出或清空操作。