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