2026-05-20-21-25-19 项目库结果视图与加载缓存优化

This commit is contained in:
2026-05-20 21:47:18 +08:00
parent 6c9787803c
commit cc137437bc
7 changed files with 643 additions and 96 deletions

View File

@@ -0,0 +1,61 @@
# 测试方案-2026-05-20-21-25-19
## 测试方案文档路径
`工程分析/测试方案-2026-05-20-21-25-19.md`
## 静态检查
-`WebSite/` 执行 `npm run lint`,确认 TypeScript 类型检查通过。
## 构建检查
-`WebSite/` 执行 `npm run build`,确认 Vite 生产构建通过。
## 关键业务场景验证
- 项目库进入“逆向分割结果”,确认左右两张图底部对齐。
- 点击项目库三维融合视角“位置重置”,确认出现“三维融合视角已复位”类反馈,视角呈现正向融合观察效果。
- 项目库逆向分割映射视图不再显示“逆向分割映射视图”标题行,不再显示 `Base DICOM``Overlay Label Map` 标签。
- 项目库映射视图同一行显示窗宽按钮和位置重置按钮。
- 项目库映射视图黑色画布左上显示“逆向分割映射视图”,右下显示 DICOM 切片位置,右侧只保留竖向进度条。
- 逆向工作区首次进入时,在数据加载完成前显示加载进度、速度和阶段;完成后进入完整工作区。
- 从逆向工作区切到其他模块再返回,确认已加载数据复用缓存,减少重复加载等待。
## 医学影像数据相关边界验证
- DICOM 切片范围为 300 层时,右侧竖向进度条顶/底/当前值显示正确。
- 切片切换后DICOM 底图和 Overlay Label Map 仍同步更新。
- 位置重置只改变浏览视口,不改变模型位姿与导出参数。
## 部署验证
- 使用 `tmux` 会话 `revoxelseg-dicom` 启动:
- `cd WebSite`
- `npm run serve -- --host 0.0.0.0 --port 4000`
- 验证:
- `http://127.0.0.1:4000/api/health`
- `http://127.0.0.1:4000/`
## Git/Gitea 备份验证
- 检查 `git status --short`,确认只暂存本次相关文件。
- commit message 包含 `2026-05-20-21-25-19` 与简要描述。
- 推送到 Gitea 后确认远端更新成功。
## 风险与回归关注点
- 项目库紧凑变体不能影响逆向工作区完整编辑态。
- 缓存不能导致项目切换后显示上一个项目的 DICOM/STL 数据。
- 加载页不能在部分非关键数据失败时永久阻塞用户进入工作区。
## 执行结果
- `npm run lint`:通过。
- `npm run build`:通过,仅保留 Vite 大 chunk 既有提示。
- 重新部署:已重启 `tmux` 会话 `revoxelseg-dicom`,服务监听 `0.0.0.0:4000`
- `curl -fsS http://127.0.0.1:4000/api/health`:通过,返回 `ok: true`
- `curl -I -fsS http://127.0.0.1:4000/`:通过,返回 `HTTP/1.1 200 OK`
- DICOM/项目数据接口抽查:`/api/projects``/api/projects/head-ct-demo/dicom-fusion-volume``/api/projects/head-ct-demo/dicom-preview` 均有有效响应。
- 页面级截图:使用系统 Chrome 生成 `/tmp/revoxelseg-home.png`,页面可渲染;因当前应用启动时会自动退出登录,未使用无交互截图验证登录后的三维画布。
- 备注:尝试临时安装 `playwright-core` 做交互截图验证,但安装过程无输出且超时,已终止,未产生仓库文件变更。