Files
TrueGrowth/docs/PPT_OUTLINE_IMAGE_ACTION_LESSONS.md

28 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PPT 大纲图片入口经验
## 背景
PPT 大纲视图每页只有提示词和优化入口。用户在编辑提示词时,无法快速判断这一页是否已经生成过图片,也不能直接从大纲页预览当前生效的 PPT 图片。
## 经验
- 大纲视图应复用画布里的当前生效图片状态,不额外维护一份图片实体。
- 当前生效图以 `findPPTSlideImage(board, frame.id)` 为准,优先使用 `pptMeta.slideImageElementId`,再回退到标记过的 PPT 图片或 `pptMeta.slideImageUrl`
- 缩略图只展示 URL不读取原图数据小图通过 `useThumbnailUrl` 延迟获取,避免在列表渲染时做大图解码。
- hover 大图适合复用 `HoverCard`,比在列表中常驻大图 DOM 更轻,也能保持大纲列表滚动性能。
- icon、缩略图和提示词优化按钮属于同一页的快捷操作应放在页面标题行右侧避免挤占提示词编辑区。
## 实现要点
- 无图时显示 AI 图片生成 icon点击沿用 `handleRegenerateSlide` 打开图片生成弹窗。
- 有图时显示当前生效图片的小缩略图hover 后展示大图预览。
- 图片生成中、失败、禁用状态只通过轻量 class 表达,不引入新状态源。
- 大图预览使用 `loading="lazy"``decoding="async"`,减少主线程压力。
## 注意事项
- 不要把 base64 或 Blob 内容复制到 React state 中,列表态只传 URL。
- 不要新增 PPT 图片状态表,避免和 `pptMeta` / 画布元素产生双写不一致。
- 不要让原生 `title` 和自定义 hover 预览同时出现,避免浮层干扰。
- 批量生成时按钮禁用即可,底层任务流仍由现有 PPT 生图队列控制。