1.5 KiB
1.5 KiB
需求分析 — 2026-04-16-19-28-04
原始需求摘要
在 /report-editor 页面进行操作(填写基本信息、上传视频、自动/手动截取关键帧、拖拽图片到 placeholder),离开该页面进入 /report-manage 等其他界面后,再次返回 /report-editor 时,所有内容全部丢失:
- 报告编辑器中的文本和图片丢失;
- 基本信息(患者姓名、住院号等)丢失;
- 视频分析面板中的视频列表和关键帧截图全部丢失。
此前两次修复尝试未能解决该问题。
需求拆解
功能点
- 彻底修复路由切换后报告内容、基本信息、视频分析数据全部丢失的问题;
- 确保自动保存机制(草稿保存)在任何情况下都不会用空值覆盖已有的有效 draft;
- 确保组件卸载时保存的 draft 100% 反映用户最新的操作状态。
非功能点
- 最小化对现有 UI 和交互逻辑的侵入;
- 保持现有 localStorage 存储机制不变;
- 同时兼顾 React 18
StrictMode在开发/预览环境下的双重挂载行为。
影响范围预估
| 模块 | 影响程度 | 说明 |
|---|---|---|
src/pages/ReportEditor.tsx |
高 | 自动保存逻辑 saveDraftToStorage 和自动保存 effect 需要重构 |
useLayoutEffect 安全网 |
中 | 需要添加依赖数组,避免重复执行 |
| 其他组件 | 无 | 不涉及修改 |
待确认问题
无。根因已定位,修复方案明确。