# 实现方案-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`,使用生产模式启动服务。 - 验证本机和公网入口可访问。