fix(editor): AI只聊天不修改——解绑SystemPrompt目标区域依赖 + 增加光标插入降级

- systemPrompt条件从'aiModifyEnabled && targetRegionEl'改为'aiModifyEnabled',确保开启修改模式后大模型始终返回updatedHtml
- 接收updatedHtml逻辑增加if/else分支:targetRegionEl存在时走diff弹窗,不存在时调用execCmd('insertHTML')降级插入光标位置
- 参考参考-ReportEditor.tsx中injectAIText的降级机制
This commit is contained in:
2026-04-19 03:47:14 +08:00
parent 854a00c2fa
commit c1d2438d2b
5 changed files with 217 additions and 9 deletions

View File

@@ -0,0 +1,54 @@
# 测试方案
## 测试环境
- 浏览器访问 `http://localhost:4173/`
- 进入「图文报告生成」→ 新建报告
## 测试用例 1开启修改模式 + 选中目标区域 → Diff 弹窗
**步骤**
1. 编辑器中插入一个 AI 可编辑区域(如「手术步骤」)
2. AI 面板底部勾选「允许修改正文」
3. 下拉框选中「手术步骤」区域
4. 输入「请随机填充文本内容」并发送
**预期结果**
- AI 聊天面板有回复
- 弹出 diff 确认弹窗,展示原文 vs AI 修改后的 HTML
- 点击确认后,目标区域内容更新
## 测试用例 2开启修改模式 + 未选中目标区域 → 光标插入
**步骤**
1. 编辑器中不插入任何 AI 可编辑区域(或保持下拉框为「无可用 AI 区域」/不选)
2. AI 面板底部勾选「允许修改正文」
3. 在编辑器正文处点击放置光标
4. 输入「请随机填充文本内容」并发送
**预期结果**
- AI 聊天面板有回复
- **不弹出 diff 弹窗**
- AI 生成的内容直接插入到编辑器当前光标位置
- 编辑器内容自动保存到草稿
## 测试用例 3关闭修改模式 → 纯聊天
**步骤**
1. AI 面板底部取消勾选「允许修改正文」
2. 输入「请随机填充文本内容」并发送
**预期结果**
- AI 聊天面板有回复
- 编辑器内容不发生任何变化
- 不弹出 diff 弹窗
## 测试用例 4编译与部署
**步骤**
1. 执行 `npm run build`
2. 确认无 TypeScript 编译错误
3. 预览服务正常启动并返回 200
**预期结果**
- `vite build` 成功完成
- 预览页面可正常访问