# 测试方案 时间戳: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。 ## 人工审核状态 本次用户明确要求无需人工二次确认。 状态:自动确认,继续执行。