# 测试方案-2026-06-23-12-07-35 ## 测试方案文档路径 `工程分析/测试方案-2026-06-23-12-07-35.md` ## 静态检查 - 检查 `WebSite/package.json` 中存在 `build` 与 `serve` 脚本。 - 检查 `WebSite/server.ts` 会解析 `--host`、`--port` 参数并提供 `/api/health`。 - 检查本机是否包含目标网卡地址 `192.168.3.11`。 - 检查当前 Git 工作区,避免提交无关变更。 ## 构建检查 - 在 `WebSite/` 执行 `npm run build`。 - 如果构建失败,停止部署并记录错误。 ## 关键业务场景验证 - 验证首页 HTML 可正常返回,确认前端入口可访问。 - 验证 `/api/health` 返回健康状态,确认 Express API 可用。 - 可选验证 `/api/projects` 返回项目列表,确认默认项目状态可读。 ## 医学影像数据相关边界验证 - 本次仅重新部署,不修改 DICOM/STL 解析、融合、分割映射或 Mask 导出逻辑。 - 检查默认演示数据目录存在并记录数量,不生成新的医学导出文件。 - 避免将 `Head_CT_DICOM/`、`Head_CT_ReConstruct/`、`WebSite/data/`、`WebSite/exports/` 混入 Git 提交。 ## 部署验证 - 服务命令:`npm run serve -- --host 0.0.0.0 --port 4000`。 - 运行载体:`tmux` 会话 `revoxelseg-dicom`。 - 端口验证:确认 `4000` 端口由当前 Node 服务监听。 - 访问验证: - `http://127.0.0.1:4000/api/health` - `http://127.0.0.1:4000/` - `http://192.168.3.11:4000/api/health` - `http://192.168.3.11:4000/` ## Git/Gitea 备份验证 - 只暂存本次工程分析三件套和 `工程分析/经验记录.md`。 - 提交后用 `git show --stat --oneline HEAD` 验证 commit message 包含 `2026-06-23-12-07-35` 和部署简述。 ## 风险与回归关注点 - 如果 `tmux` 会话已存在,需确认旧服务关闭后新服务能稳定启动。 - 如果局域网 IP 不属于当前机器,服务即使监听成功也无法通过目标地址访问。 - 如果只验证 localhost,不能代表 `192.168.3.11` 可访问。 - 如果误提交构建产物或医学数据,会污染备份提交,需要在提交前复查 staged 文件。 ## 执行结果 - `npm run lint`:通过,`tsc --noEmit` 无错误。 - `npm run build`:通过,Vite 成功生成 `dist/`;存在 chunk 大于 500 kB 的体积提示,不影响本次部署。 - 本机网卡:已确认 `ens34` 包含 `192.168.3.11/24`。 - 端口与会话:`tmux` 会话 `revoxelseg-dicom` 已创建,`4000` 端口由当前 Node 进程监听在 `0.0.0.0:4000`。 - 启动命令:`NODE_ENV=production npm run serve -- --host 0.0.0.0 --port 4000`。 - `http://127.0.0.1:4000/api/health`:HTTP 200,返回 `ok: true`。 - `http://127.0.0.1:4000/`:HTTP 200,返回 HTML。 - `http://192.168.3.11:4000/api/health`:HTTP 200,返回 `ok: true`。 - `http://192.168.3.11:4000/`:HTTP 200,返回 HTML。 - `http://127.0.0.1:4000/api/projects`:HTTP 200,当前返回 2 个项目,默认项目 `head-ct-demo` 包含 300 张 DICOM 与 9 个 STL。