2026-05-04-03-50-07 完善项目库可视化和项目管理

This commit is contained in:
2026-05-04 03:59:46 +08:00
parent a9b6d2d76a
commit 26d3109f63
11 changed files with 1010 additions and 88 deletions

View File

@@ -0,0 +1,97 @@
# 测试方案
时间戳2026-05-04-03-50-07
## 测试目标
验证概况统计、图表、真实 DICOM 预览、真实 STL 渲染、分割结果视图、项目创建/重命名、README 和部署均正常。
## 静态检查
- 检查 `Overview.tsx` 图表容器是否有稳定尺寸。
- 检查 `ProjectLibrary.tsx` 是否包含三个 tab`DICOM 影像``3D 模型``分割结果`
- 检查 STL 模块列表不再对首个模块默认蓝色高亮。
- 检查 README 是否包含项目构建和运行方案。
## 构建与类型检查
```bash
cd WebSite
npm run lint
npm run build
```
预期结果:
- TypeScript 检查通过。
- Vite 构建通过。
## API 验证
```bash
curl -s http://127.0.0.1:4000/api/overview
curl -s 'http://127.0.0.1:4000/api/projects/head-ct-demo/dicom-preview?slice=0'
curl -I 'http://127.0.0.1:4000/api/projects/head-ct-demo/models/会厌.stl'
curl -s -X POST http://127.0.0.1:4000/api/projects -H 'Content-Type: application/json' -d '{"name":"测试创建项目"}'
curl -s -X PATCH http://127.0.0.1:4000/api/projects/head-ct-demo -H 'Content-Type: application/json' -d '{"name":"头部 CT 模型逆向体素化演示"}'
```
预期结果:
- overview 返回平稳趋势和 `exportedMaskProjects`
- DICOM preview 返回 `width``height``pixels`
- STL 文件返回 200。
- 创建项目返回新项目。
- 重命名项目成功。
## 页面验证
- 总体概况不再显示“已处理项目总数 = 1”的误导文案。
- 控制台不再出现 Recharts 宽高 -1 警告。
- 项目库 DICOM 影像显示真实灰度切片。
- 项目库 3D 模型显示真实 STL。
- 项目库新增分割结果页,可下载 NII/NII.GZ。
- 项目列表可创建项目。
- 项目列表已有项目可点击编辑图标重命名。
- STL 模块列表所有项目同等样式,没有“会厌”特殊蓝色突出。
## 回归风险
- DICOM 解析兼容性有限,当前先针对本项目 Little Endian CT 数据。
- STL 文件较大时首次加载可能需要等待。
- 新建项目默认无 DICOM/STL 数据,作为项目管理演示项。
## 人工审核状态
本次用户明确要求无需人工二次确认。
状态:自动确认,继续执行。
## 执行结果
- `npm run lint` 执行成功。
- `npm run build` 执行成功。
- Vite 仍有大 chunk 警告,当前不影响本次功能。
- `GET /api/overview` 返回:
- `totalProjects: 1`
- `exportedMaskProjects: 0`
- `dicomCount: 300`
- `modelCount: 9`
- 已将“已处理项目”语义改为“已导出 Mask 项目”,避免项目总数为 1 时误导为已处理 1。
- `GET /api/projects/head-ct-demo/dicom-preview?slice=0` 返回:
- `width: 512`
- `height: 512`
- `total: 300`
- `fileName: 1.dcm`
- `pixels` base64 数据。
- `GET /api/projects/head-ct-demo/models/会厌.stl` 返回 `HTTP/1.1 200 OK`
- `POST /api/projects` 创建项目成功。
- `PATCH /api/projects/:id` 重命名项目成功。
- `POST /api/demo/reset` 执行成功,测试创建项目已清理,默认项目恢复。
- headless Chrome 打开页面后未捕获 `width(-1)``height(-1)` 或 Recharts 相关警告。
- `http://192.168.3.11:4000/` 返回 `HTTP/1.1 200 OK`
- 当前服务由 `tmux` 会话 `revoxelseg-dicom` 托管。
## 本次未创建 Python/conda 环境原因
本次 DICOM 预览、STL 渲染和 NIfTI 演示导出均可由现有 Node/React/Three.js 技术栈完成。为了避免引入不必要的运行环境复杂度,本次不创建 conda 环境README 已说明后续真实体素化算法阶段再引入 Python/conda。