feat(ai): 修改模式自动锁定目标区域 + SystemPrompt模式语义强化
- handleAIGenerate开头增加自动修正目标区域逻辑:修改模式开启且未选区域时,自动选择文档中第一个AI区域 - systemPrompt明确标注'当前处于【修改模式】/【对话模式】',并细化字段要求 - diffModal的targetId改为使用actualTargetId,确保确认注入时使用实际修正后的区域ID
This commit is contained in:
55
工程分析/20260419_0359/测试方案.md
Normal file
55
工程分析/20260419_0359/测试方案.md
Normal 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` 成功完成
|
||||
- 预览页面可正常访问
|
||||
Reference in New Issue
Block a user