58 lines
2.6 KiB
Markdown
58 lines
2.6 KiB
Markdown
# 实现方案-2026-05-20-22-07-46
|
|
|
|
## 实现方案文档路径
|
|
|
|
`工程分析/实现方案-2026-05-20-22-07-46.md`
|
|
|
|
## 修改目标
|
|
|
|
1. 后端导出压缩包文件名改成 `项目名_时间.tar.gz`,兼容中文项目名。
|
|
2. `VoxelizationMappingView` 支持把 Overlay Label Map 摘要放到右侧下方或底部下方。
|
|
3. 项目库使用右侧 Overlay 摘要布局;逆向工作区使用项目库风格的黑底工具行和右侧切片导航,但 Overlay 仍在下方。
|
|
4. 项目库“逆向分割结果”摘要只显示构件总数、最后保存时间和模型位姿。
|
|
|
|
## 涉及路径
|
|
|
|
- `WebSite/server.ts`
|
|
- `WebSite/src/components/ReverseWorkspace.tsx`
|
|
- `WebSite/src/components/ProjectLibrary.tsx`
|
|
- `WebSite/src/index.css`
|
|
- `工程分析/经验记录.md`
|
|
|
|
## 技术路线
|
|
|
|
- 在后端新增项目名/时间文件名格式化函数,并用于 bundle 下载响应头。
|
|
- 在 `VoxelizationMappingView` 中抽出 Overlay 摘要渲染片段,通过 `variant` 与布局参数区分项目库和逆向工作区。
|
|
- 逆向工作区把窗宽、旋转和位置重置按钮传入映射视图内部,外层只保留模块标题或直接交给组件渲染。
|
|
- 项目库结果摘要卡片移除切片和类别范围字段,增加位姿字段的紧凑网格。
|
|
|
|
## 执行步骤
|
|
|
|
1. 定位 `server.ts` 导出 bundle 的文件名生成逻辑。
|
|
2. 定位 `ProjectLibrary.tsx` 结果摘要和映射视图调用逻辑。
|
|
3. 调整 `ReverseWorkspace.tsx` 的映射视图 `variant`、工具栏和 Overlay 位置。
|
|
4. 更新样式文件中的暗色竖向滑块或新增必要类名。
|
|
5. 执行 `npm run lint`、`npm run build`。
|
|
6. 重启 `tmux` 服务并验证 `/api/health` 与页面响应。
|
|
7. 追加经验记录,提交并推送到 Gitea。
|
|
|
|
## 兼容性与回滚方案
|
|
|
|
- 导出文件名只改响应头,不改变压缩包内部结构,回滚时恢复旧 `filename` 即可。
|
|
- 视图布局通过组件参数控制,若项目库右侧摘要不合适,可回退为下方摘要或隐藏摘要。
|
|
- 逆向工作区仍使用同一 `VoxelizationMappingView`,回滚风险集中在一个组件。
|
|
|
|
## 预计文件变更
|
|
|
|
- 修改 `server.ts` 导出文件名。
|
|
- 修改 `ReverseWorkspace.tsx` 和 `ProjectLibrary.tsx` 视图布局与摘要字段。
|
|
- 视需要修改 `index.css` 滑块样式。
|
|
- 新增三份工程分析文档,追加 `经验记录.md`。
|
|
|
|
## 提交与部署策略
|
|
|
|
- 只暂存本次相关源码和本次工程分析文档。
|
|
- commit message 使用 `2026-05-20-22-07-46 导出命名与映射视图摘要优化`。
|
|
- 推送到 Gitea `main` 分支。
|
|
- 构建后重启 `tmux` 会话 `revoxelseg-dicom`。
|