- systemPrompt条件从'aiModifyEnabled && targetRegionEl'改为'aiModifyEnabled',确保开启修改模式后大模型始终返回updatedHtml
- 接收updatedHtml逻辑增加if/else分支:targetRegionEl存在时走diff弹窗,不存在时调用execCmd('insertHTML')降级插入光标位置
- 参考参考-ReportEditor.tsx中injectAIText的降级机制
1.6 KiB
1.6 KiB
测试方案
测试环境
- 浏览器访问
http://localhost:4173/ - 进入「图文报告生成」→ 新建报告
测试用例 1:开启修改模式 + 选中目标区域 → Diff 弹窗
步骤:
- 编辑器中插入一个 AI 可编辑区域(如「手术步骤」)
- AI 面板底部勾选「允许修改正文」
- 下拉框选中「手术步骤」区域
- 输入「请随机填充文本内容」并发送
预期结果:
- AI 聊天面板有回复
- 弹出 diff 确认弹窗,展示原文 vs AI 修改后的 HTML
- 点击确认后,目标区域内容更新
测试用例 2:开启修改模式 + 未选中目标区域 → 光标插入
步骤:
- 编辑器中不插入任何 AI 可编辑区域(或保持下拉框为「无可用 AI 区域」/不选)
- AI 面板底部勾选「允许修改正文」
- 在编辑器正文处点击放置光标
- 输入「请随机填充文本内容」并发送
预期结果:
- AI 聊天面板有回复
- 不弹出 diff 弹窗
- AI 生成的内容直接插入到编辑器当前光标位置
- 编辑器内容自动保存到草稿
测试用例 3:关闭修改模式 → 纯聊天
步骤:
- AI 面板底部取消勾选「允许修改正文」
- 输入「请随机填充文本内容」并发送
预期结果:
- AI 聊天面板有回复
- 编辑器内容不发生任何变化
- 不弹出 diff 弹窗
测试用例 4:编译与部署
步骤:
- 执行
npm run build - 确认无 TypeScript 编译错误
- 预览服务正常启动并返回 200
预期结果:
vite build成功完成- 预览页面可正常访问