feat(ai): 修改模式自动锁定目标区域 + SystemPrompt模式语义强化

- handleAIGenerate开头增加自动修正目标区域逻辑:修改模式开启且未选区域时,自动选择文档中第一个AI区域
- systemPrompt明确标注'当前处于【修改模式】/【对话模式】',并细化字段要求
- diffModal的targetId改为使用actualTargetId,确保确认注入时使用实际修正后的区域ID
This commit is contained in:
2026-04-19 04:02:05 +08:00
parent c1d2438d2b
commit 9f73d8595c
5 changed files with 203 additions and 4 deletions

View File

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