Files
REVOXELSEG_DICOM/工程分析/实现方案-2026-05-24-15-55-48.md

2.6 KiB
Raw Blame History

实现方案-2026-05-24-15-55-48

实现方案文档路径

工程分析/实现方案-2026-05-24-15-55-48.md

修改目标

  • 在逆向工作区构件层级标题右侧增加全局显隐按钮。
  • 在项目库项目卡片中增加锁定/解锁能力,并将锁定位姿数据保存到 项目数据/锁定结果/
  • 项目列表支持未锁定筛选,并按最后处理时间倒序排列。
  • 修正 DICOM 切片滚动条的方向与无进度色视觉。

涉及路径

  • WebSite/server.ts
  • WebSite/src/types.ts
  • WebSite/src/lib/api.ts
  • WebSite/src/components/ProjectLibrary.tsx
  • WebSite/src/components/ReverseWorkspace.tsx
  • WebSite/src/index.css
  • Docker部署/
  • 工程分析/经验记录.md

技术路线

  • 后端为项目状态增加 lockedlockedAtlastProcessedAtlockedPoseSnapshotPath 等兼容字段,并提供锁定/解锁 API。
  • 锁定时读取当前项目位姿、构件样式和基础元数据,写入 项目数据/锁定结果/{projectName或projectId}-{timestamp}.json
  • 前端项目库使用新增 API 切换锁定状态;项目卡片在进入逆向工作区前判断锁定状态并提示。
  • 逆向工作区构件层级右侧新增全局眼睛按钮,批量更新所有构件的 visible 字段。
  • 切片滑块保持顶部为 1、底部为 N去掉滚动后轨道进度色。

执行步骤

  1. 阅读现有项目类型、项目库、逆向工作区和后端项目 API。
  2. 扩展类型与 API 封装。
  3. 实现后端锁定状态归一化、锁定结果落盘和接口。
  4. 实现项目库锁定按钮、未锁定筛选、排序与锁定提示。
  5. 实现逆向工作区全局构件显隐按钮。
  6. 修正切片滚动条方向和 CSS。
  7. 同步 Docker 部署说明。
  8. 运行 lint/build重新部署并验证。
  9. 提交并推送 Gitea。

兼容性与回滚方案

  • 旧项目缺少锁定字段时默认 locked=false,缺少最后处理时间时回退到 updatedAtcreatedAt
  • 如锁定结果目录不存在则由后端自动创建。
  • 回滚时可移除新增 API 和前端按钮,已有锁定 JSON 文件不影响系统启动。

预计文件变更

  • 新增本次三份工程分析文档。
  • 修改前后端项目状态、交互和样式文件。
  • 修改 Docker 部署说明,记录新增锁定结果目录和功能。
  • 追加经验记录。

提交与部署策略

  • 仅暂存本次相关文档、前后端源码和 Docker 文档。
  • Commit message 包含 2026-05-24-15-55-48 与简要描述。
  • 使用 tmux 会话 revoxelseg-dicom 重新运行 npm run serve -- --host 0.0.0.0 --port 4000