2026-05-04-04-58-36 优化DICOM缓存和三维融合预览

This commit is contained in:
2026-05-04 05:15:59 +08:00
parent 4aad0f815d
commit 4ef3be69f4
9 changed files with 837 additions and 118 deletions

View File

@@ -0,0 +1,78 @@
# 测试方案
时间戳2026-05-04-04-58-36
## 测试目标
验证项目列表按钮不重叠、DICOM 三方向和显示模式可用、3D 模型有加载进度并可见、逆向工作区显示当前项目和融合视图,以及控制台不再出现 `THREE.Clock` 警告。
## 静态检查
- 检查项目列表标题区 `+` 与收缩按钮布局。
- 检查 DICOM preview API 是否支持 `mode`
- 检查项目库是否使用原生 Three.js renderer 并显示加载进度。
- 检查逆向工作区是否显示当前项目。
## 构建与类型检查
```bash
cd WebSite
npm run lint
npm run build
```
预期:
- TypeScript 检查通过。
- Vite 构建通过。
## API 验证
```bash
curl -s 'http://127.0.0.1:4000/api/projects/head-ct-demo/dicom-preview?plane=axial&slice=0&mode=default'
curl -s 'http://127.0.0.1:4000/api/projects/head-ct-demo/dicom-preview?plane=sagittal&slice=128&mode=bone'
curl -s 'http://127.0.0.1:4000/api/projects/head-ct-demo/dicom-preview?plane=coronal&slice=128&mode=contrast'
curl -s 'http://127.0.0.1:4000/api/projects/head-ct-demo/models/头部.stl/preview?limit=2000'
```
预期:
- DICOM 均返回 `width``height``pixels``mode`
- STL 预览返回 `triangleCount``sampledTriangles``vertices`
## 页面验证
- 项目列表标题区按钮不重叠。
- DICOM 视图可切换多种显示模式。
- 矢状面/冠状面滑动有图像变化。
- 3D 视图显示加载进度条,加载后模型可见。
- 逆向工作区显示当前项目,融合视图显示 DICOM 与模型中心对齐叠加效果。
## 控制台验证
- headless Chrome 打开页面后不捕获 `THREE.Clock`
- 不捕获 `Uncaught``Error`
## 实际执行结果
执行时间2026-05-04
- `npm run lint`:通过。
- `npm run build`:通过,仅保留 Vite chunk size 提示。
- DICOM API
- axial default`512x512 150/300 WW=360 WL=60`
- sagittal bone`300x512 128/512 WW=2000 WL=500`
- coronal contrast`300x512 256/512 WW=180 WL=80`
- axial soft`512x512 150/300 WW=400 WL=40`
- STL 预览 API`头部.stl 2571248 2000 18000`
- Headless Chrome 自动化:
- 项目库进入成功。
- 3D 模型页进入成功,模型加载/二维兜底状态可见。
- 逆向工作区进入成功,当前项目与融合说明可见。
- `THREE.Clock``non-passive``Uncaught` 捕获数为 0。
## 人工审核状态
本次用户明确要求无需人工二次确认。
状态:自动确认,继续执行。