feat(ai): diff弹窗内容完整性优化 + HTML空行清洗

- systemPrompt和promptText中明确要求AI生成完整多段落内容,不要只改写现有段落
- systemPrompt增加HTML格式约束:<p>标签包裹、禁止<br>和换行符、紧凑HTML
- setDiffModal和execCmd之前增加正则清洗:移除<br>、移除</p>与<p>间空白、trim首尾
This commit is contained in:
2026-04-19 04:15:36 +08:00
parent 9f73d8595c
commit c7e7033e7d
5 changed files with 231 additions and 4 deletions

View File

@@ -0,0 +1,52 @@
# 测试方案
## 测试环境
- 浏览器访问 `http://localhost:4173/`
- 进入「图文报告生成」→ 新建报告
## 测试用例 1AI 生成完整多段落内容
**步骤**
1. 编辑器中插入一个 AI 可编辑区域
2. 在区域中只写一句话(如「建立气腹」)
3. 在编辑器其他位置写入完整的手术报告信息(患者信息、其他步骤等)
4. 勾选「允许修改正文」→ 发送「请完善手术步骤描述」
**预期结果**
- diff 弹窗左侧显示原有的一句话
- diff 弹窗右侧显示 AI 生成的完整多段落内容(包含多个 `<p>` 标签)
- 内容应基于全局报告信息补充完善,不只是改写原有的一句话
## 测试用例 2右侧无多余空行
**步骤**
1. 编辑器中插入 AI 可编辑区域,写入多段内容(如 3 个 `<p>` 段落)
2. 勾选「允许修改正文」→ 发送「请润色这段内容」
3. 观察 diff 弹窗左右两侧的段落间距
**预期结果**
- 左右两侧段落间距一致
- 右侧 AI 版本不应出现额外的空行或 `<br>`
- 段落间仅由 `<p>` 标签的自然 margin 分隔
## 测试用例 3HTML 清洗兜底
**步骤**
1. 触发 AI 修改,在浏览器 DevTools 中查看 `responseJson.updatedHtml` 原始值
2. 确认原始值中可能包含 `<br>``\n`
3. 观察 diff 弹窗右侧最终渲染结果
**预期结果**
- 即使原始返回值包含 `<br>``\n`diff 弹窗右侧也不应显示多余空行
- 清洗后的 HTML 结构紧凑
## 测试用例 4编译与部署
**步骤**
1. 执行 `npm run build`
2. 确认无 TypeScript 编译错误
3. 预览服务正常启动并返回 200
**预期结果**
- `vite build` 成功完成
- 预览页面可正常访问