2026-05-20-21-25-19 项目库结果视图与加载缓存优化
This commit is contained in:
58
工程分析/实现方案-2026-05-20-21-25-19.md
Normal file
58
工程分析/实现方案-2026-05-20-21-25-19.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# 实现方案-2026-05-20-21-25-19
|
||||
|
||||
## 实现方案文档路径
|
||||
|
||||
`工程分析/实现方案-2026-05-20-21-25-19.md`
|
||||
|
||||
## 修改目标
|
||||
|
||||
1. 优化项目库“逆向分割结果”中的三维融合视图默认/复位视角,使复位后呈现用户示意的正向融合观察效果。
|
||||
2. 为 `VoxelizationMappingView` 增加项目库紧凑展示模式,去掉无意义标签,把窗宽按钮、复位按钮、视图标题、DICOM 切片位置和竖向导航重新布局。
|
||||
3. 调整项目库结果区左右面板高度与底部对齐。
|
||||
4. 为逆向工作区增加加载中页面,展示加载进度、加载速度和当前阶段,数据未就绪时不显示完整工作区。
|
||||
5. 增加 DICOM 融合体与 STL 预览数据的内存缓存,减少跨模块返回后的重复加载。
|
||||
|
||||
## 涉及路径
|
||||
|
||||
- `WebSite/src/components/ReverseWorkspace.tsx`
|
||||
- `WebSite/src/components/ProjectLibrary.tsx`
|
||||
- `WebSite/src/index.css`
|
||||
- `工程分析/经验记录.md`
|
||||
|
||||
## 技术路线
|
||||
|
||||
- 在 `ReverseWorkspace.tsx` 中增加模块级缓存 Map,用于缓存 DICOM fusion volume、STL preview、映射视图预览数据。
|
||||
- 为 `FusionThreeView` 增加 `variant` 或复位视角参数,项目库复用同一组件但使用较适合结果复核的默认视角。
|
||||
- 为 `VoxelizationMappingView` 增加 `variant="workspace" | "library"`,项目库模式采用黑色画布、精简标题和窄导航栏;工作区保持完整操作信息。
|
||||
- 用加载指标组合逆向工作区所需数据状态,未完成时显示独立加载卡片。
|
||||
- 调整项目库逆向结果布局为等高网格,并保证左右图容器底部一致。
|
||||
|
||||
## 执行步骤
|
||||
|
||||
1. 阅读现有 `ProjectLibrary.tsx`、`ReverseWorkspace.tsx` 的视图复用和数据加载逻辑。
|
||||
2. 写入本次需求、实现、测试方案文档。
|
||||
3. 修改融合视图与映射视图组件参数,补齐紧凑模式和复位视角。
|
||||
4. 增加数据缓存与加载页,避免跨页面返回时重复拉取大数据。
|
||||
5. 调整项目库结果区布局和控件位置。
|
||||
6. 执行类型检查、构建、服务重启与健康检查。
|
||||
7. 追加经验记录并提交推送到 Gitea。
|
||||
|
||||
## 兼容性与回滚方案
|
||||
|
||||
- 新增 UI 变体保持默认值为工作区模式,避免影响已有调用。
|
||||
- 缓存仅保存在浏览器内存中,刷新页面会自然清空;若出现旧数据问题,可删除缓存分支回退为原请求逻辑。
|
||||
- 如果紧凑模式影响项目库结果展示,可只回退 `variant="library"` 调用,不影响逆向工作区主流程。
|
||||
|
||||
## 预计文件变更
|
||||
|
||||
- 修改 `ReverseWorkspace.tsx`:组件参数、缓存、加载页、视图布局。
|
||||
- 修改 `ProjectLibrary.tsx`:调用参数、布局对齐、控件位置。
|
||||
- 视需要修改 `index.css`:竖向导航样式微调。
|
||||
- 新增本次三份工程分析文档,并追加经验记录。
|
||||
|
||||
## 提交与部署策略
|
||||
|
||||
- 只暂存本次修改的源码和本次工程分析文档。
|
||||
- commit message 使用 `2026-05-20-21-25-19 项目库结果视图与加载缓存优化`。
|
||||
- 推送到 `http://192.168.31.5:5002/admin/REVOXELSEG_DICOM.git` 的 `main` 分支。
|
||||
- 使用 `tmux` 会话 `revoxelseg-dicom` 重新部署并验证。
|
||||
Reference in New Issue
Block a user