60 lines
2.4 KiB
Markdown
60 lines
2.4 KiB
Markdown
# 实现方案-2026-05-24-16-28-58
|
|
|
|
## 实现方案文档路径
|
|
|
|
`工程分析/实现方案-2026-05-24-16-28-58.md`
|
|
|
|
## 修改目标
|
|
|
|
- 重启并验证公网服务。
|
|
- 修正 `visible` 导出范围被历史保存结果覆盖的问题。
|
|
- 改进二维 overlay 和后端导出填充,减少实体区域内部条纹和薄结构线条感。
|
|
|
|
## 涉及路径
|
|
|
|
- `WebSite/server.ts`
|
|
- `WebSite/src/components/ReverseWorkspace.tsx`
|
|
- `WebSite/src/lib/api.ts`
|
|
- `WebSite/src/components/ProjectLibrary.tsx`
|
|
- `Docker部署/README.md`
|
|
- `工程分析/经验记录.md`
|
|
|
|
## 技术路线
|
|
|
|
- 先使用 `tmux` 重启 `revoxelseg-dicom`,验证本机与公网入口。
|
|
- 排查导出链路,确认 `projectWithSegmentationResultStyles`、`segmentationScope` 与当前 `moduleStyles.visible` 的优先级。
|
|
- 导出时让当前项目样式覆盖历史分割结果样式,确保最新眼睛状态参与过滤。
|
|
- 必要时在前端导出请求中显式传递当前 `moduleStyles`,后端读取并归一化,避免状态同步延迟。
|
|
- 对填充后的 mask 做轻量闭合与孤立小孔修补,前端 overlay 与后端 NIfTI 保持一致策略。
|
|
|
|
## 执行步骤
|
|
|
|
1. 已重启服务并验证公网、本机 HTTP 200。
|
|
2. 阅读当前导出和填充代码,定位可见构件过滤来源。
|
|
3. 修正导出样式优先级或新增导出样式参数。
|
|
4. 改进实体化填充策略,重点避免可见大块区域内部横向空线。
|
|
5. 同步 Docker 文档和经验记录。
|
|
6. 执行 `npm run lint`、`npm run build`。
|
|
7. 用项目 `123` 执行可见类别分别导出,检查 tar 列表只包含可见构件。
|
|
8. 重启部署,验证公网与本机。
|
|
9. 提交并推送 Gitea。
|
|
|
|
## 兼容性与回滚方案
|
|
|
|
- 如果前端未传 `moduleStyles`,后端回退到项目当前样式与最新结果合并。
|
|
- 如果实体化修补导致过度连接,可回滚到仅小缝闭合和按连通组填充。
|
|
- 回滚时移除新增参数读取即可,不影响旧导出 API。
|
|
|
|
## 预计文件变更
|
|
|
|
- 新增本次三份工程分析文档。
|
|
- 修改后端导出样式选择与 mask 修补。
|
|
- 修改前端导出请求参数。
|
|
- 修改 Docker 部署说明与经验记录。
|
|
|
|
## 提交与部署策略
|
|
|
|
- 只暂存本次相关源码、Docker 文档和工程分析文档。
|
|
- Commit message 包含 `2026-05-24-16-28-58`。
|
|
- 部署使用 `NODE_ENV=production npm run serve -- --host 0.0.0.0 --port 4000`。
|