# 需求分析 — 2026-04-16-20-24-11 ## 原始需求摘要 在 `/report-editor` 页面操作后,切换到 `/report-manage` 等其他页面,再次返回 `/report-editor` 时: - `class="editor-content-wrapper print-wrapper"` 中的内容(报告文本、图片、表格等)全部丢失; - 视频分析面板中自动摘取的关键帧、手动摘取的关键帧全部丢失。 此前三次修复尝试(同步 stateRef 到更多恢复分支、彻底重构 saveDraftToStorage 依赖 React state)未能根治问题。 ## 需求拆解 ### 功能点 - 修复路由切换后报告编辑器内容丢失的问题; - 修复路由切换后自动/手动关键帧丢失的问题; - 修复 `saveDraftToStorage` 中的闭包陷阱问题; - 修复组件卸载时 `editorRef` 失效导致的 content 丢失问题; - 确保所有修改编辑器 DOM 的操作后都及时更新 `contentRef`。 ### 非功能点 - 最小化改动范围,不引入新的状态管理库; - 保持现有 localStorage 草稿机制不变; - 保持用户现有的操作习惯(上传视频、自动摘帧、拖拽插入等)。 ## 影响范围预估 | 模块 | 影响程度 | 说明 | |------|---------|------| | `src/pages/ReportEditor.tsx` | 高 | `saveDraftToStorage` 函数重构 + `contentRef` 遗漏点补齐 | | 其他文件 | 无 | 不涉及修改 | ## 待确认问题 无。问题现象和分析已明确。