1.9 KiB
1.9 KiB
需求分析 — 2026-04-16-17-07-04
需求背景
在 report-editor 页面的 视频分析 - 关键帧摘取 区域,目前用户需要通过鼠标拖拽的方式将截图插入到报告编辑器的 image-placeholder 中。当关键帧数量较多或占位符位置较远时,拖拽操作不够便捷,用户体验有待提升。
功能目标
为每个关键帧截图增加一个 "插入" 按钮,实现一键自动插入到编辑器中第一个空置的 image-placeholder 中。
具体要求:
- "插入" 按钮放置在每张截图底部的时间格式(如
00:15)与 "可拖拽" 提示文字之间。 - "插入" 按钮的显隐行为与右侧的 "可拖拽" 文字保持一致:仅当鼠标聚焦/悬停到该截图卡片上时才显示(
opacity-0 group-hover:opacity-100)。 - 点击 "插入" 后,系统在当前编辑器内容中查找第一个尚未填充图片的
.image-placeholder元素(即不含has-imageclass 的占位符)。 - 找到后,将该关键帧的图片数据自动填充到该占位符中(效果等价于拖拽放下)。
- 填充后同步更新
contentRef.current并保存草稿。 - 若编辑器中不存在空置的
image-placeholder,则给出提示(如alert('没有可插入图片的空位'))。
涉及页面/模块
src/pages/ReportEditor.tsx—— 关键帧列表渲染区域 + 新增插入逻辑
验收标准
- 每个关键帧截图底部出现 "插入" 按钮,位置在时间文字和 "可拖拽" 之间。
- "插入" 按钮只在鼠标悬停到该截图卡片上时显示,移开即隐藏。
- 点击 "插入" 后,第一个空置的
image-placeholder被自动填充为该帧图片。 - 若无可插入的空占位符,弹出友好提示。
- 插入后编辑器内容、草稿状态正确同步。
npm run lint零错误,npm run build构建通过。