Files
REVOXELSEG_DICOM/工程分析/实现方案-2026-05-24-17-29-17.md

54 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 实现方案-2026-05-24-17-29-17
## 实现方案文档路径
`工程分析/实现方案-2026-05-24-17-29-17.md`
## 修改目标
- 为逆向分割映射视图增加可见 STL 构件加载进度条。
- 修正 DICOM/映射画布滚轮缩放和触摸操作中的 passive event listener 警告。
- 同步 Docker 部署说明与本次交互修正。
## 涉及路径
- `WebSite/src/components/ReverseWorkspace.tsx`
- `WebSite/src/components/ProjectLibrary.tsx`
- `Docker部署/README.md`
- `工程分析/经验记录.md`
## 技术路线
- 在逆向分割映射视图中新增 overlay 加载状态,记录 `loading/loaded/total/phase`
- 可见构件列表变化时清空旧预览并按构件逐个更新加载进度;加载完成后再绘制最新 overlay。
- 将需要阻止页面滚动的 `wheel` 缩放改为原生 `addEventListener('wheel', ..., { passive: false })`,避免 React 合成事件被浏览器按 passive 处理时产生告警。
- 移除按钮触摸开始阶段不必要的 `event.preventDefault()`,用 `touch-action` 类维持操作稳定性。
## 执行步骤
1. 定位 `preventDefault``onWheel/onTouchStart` 使用点。
2. 为项目库 DICOM 画布和逆向映射画布改造 wheel 事件监听。
3. 为逆向映射视图增加加载进度状态和 UI。
4. 更新 Docker 部署说明。
5. 执行类型检查、构建、部署和访问验证。
6. 提交并推送到 Gitea。
## 兼容性与回滚方案
- 新增进度条只依赖现有 STL preview API不改变接口契约。
- 如 wheel 原生监听出现兼容问题,可回退到 React `onWheel` 但必须移除 `preventDefault` 或继续保持非被动监听。
- 回滚时可撤销本次 commit重新构建并部署上一版本。
## 预计文件变更
- 2 个前端组件文件。
- 1 个 Docker 部署说明文件。
- 3 个工程分析当次文档。
- 1 个经验记录追加。
## 提交与部署策略
- Commit message 使用 `2026-05-24-17-29-17 增加构件加载进度并修正滚轮事件`
- 构建通过后重启 `tmux` 会话 `revoxelseg-dicom`,使用生产模式启动服务。
- 验证本机和公网入口可访问。