2.6 KiB
2.6 KiB
实现方案-2026-05-24-15-55-48
实现方案文档路径
工程分析/实现方案-2026-05-24-15-55-48.md
修改目标
- 在逆向工作区构件层级标题右侧增加全局显隐按钮。
- 在项目库项目卡片中增加锁定/解锁能力,并将锁定位姿数据保存到
项目数据/锁定结果/。 - 项目列表支持未锁定筛选,并按最后处理时间倒序排列。
- 修正 DICOM 切片滚动条的方向与无进度色视觉。
涉及路径
WebSite/server.tsWebSite/src/types.tsWebSite/src/lib/api.tsWebSite/src/components/ProjectLibrary.tsxWebSite/src/components/ReverseWorkspace.tsxWebSite/src/index.cssDocker部署/工程分析/经验记录.md
技术路线
- 后端为项目状态增加
locked、lockedAt、lastProcessedAt、lockedPoseSnapshotPath等兼容字段,并提供锁定/解锁 API。 - 锁定时读取当前项目位姿、构件样式和基础元数据,写入
项目数据/锁定结果/{projectName或projectId}-{timestamp}.json。 - 前端项目库使用新增 API 切换锁定状态;项目卡片在进入逆向工作区前判断锁定状态并提示。
- 逆向工作区构件层级右侧新增全局眼睛按钮,批量更新所有构件的
visible字段。 - 切片滑块保持顶部为 1、底部为 N,去掉滚动后轨道进度色。
执行步骤
- 阅读现有项目类型、项目库、逆向工作区和后端项目 API。
- 扩展类型与 API 封装。
- 实现后端锁定状态归一化、锁定结果落盘和接口。
- 实现项目库锁定按钮、未锁定筛选、排序与锁定提示。
- 实现逆向工作区全局构件显隐按钮。
- 修正切片滚动条方向和 CSS。
- 同步 Docker 部署说明。
- 运行 lint/build,重新部署并验证。
- 提交并推送 Gitea。
兼容性与回滚方案
- 旧项目缺少锁定字段时默认
locked=false,缺少最后处理时间时回退到updatedAt、createdAt。 - 如锁定结果目录不存在则由后端自动创建。
- 回滚时可移除新增 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。