- 将'允许修改正文'复选框从id/htmlFor绑定改为label直接包裹input,增加e.stopPropagation防止事件冒泡被拦截 - handleAIGenerate中新增editorRef.current.innerText作为全局上下文注入prompt - currentHtml增加过滤​零宽字符 - 优化systemPrompt,明确告知大模型全局参考内容+目标区域源码的双信息源结构
2.0 KiB
2.0 KiB
测试方案
测试环境
- 浏览器访问
http://localhost:4173/ - 进入「图文报告生成」→ 新建报告
测试用例 1:Checkbox 可正常切换
步骤:
- 打开右侧「AI 撰写」面板
- 观察底部「允许修改正文」复选框,当前应为勾选状态(默认
aiModifyEnabled = true) - 点击复选框,观察勾选状态是否消失
- 再次点击,观察勾选状态是否恢复
- 点击复选框左侧的文字「允许修改正文」,观察勾选状态是否切换
预期结果:
- 点击复选框本身:状态正常切换
- 点击文字标签:状态正常切换
- 切换时上方「区域锚定」select 的
disabled状态同步变化(禁用/启用)
测试用例 2:AI 能看到全局报告内容
步骤:
- 在编辑器中输入一些文本,例如「气腹压力为 12mmHg」
- 插入一个 AI 可编辑区域(如「手术步骤」)
- 在 AI 面板中输入:「你能看到当前气腹压力吗?」
- 不勾选「允许修改正文」,直接发送
预期结果:
- AI 回复中应提到「12mmHg」或「气腹压力」,表明它读取了全局上下文
测试用例 3:AI 能基于全局上下文修改目标区域
步骤:
- 编辑器中有完整报告内容(含患者信息、手术步骤等)
- 在 AI 可编辑区域(如「手术步骤」)中已有部分内容
- 勾选「允许修改正文」
- 输入指令:「根据全局报告内容,将手术步骤中提到的止血方法更新为电凝止血」
- 发送并查看 diff 确认弹窗
预期结果:
- AI 返回的
updatedHtml应能引用全局报告中的其他信息 - Diff 弹窗能正确展示原文 vs 修改后的内容
- 确认注入后目标区域内容更新
测试用例 4:编译与部署
步骤:
- 执行
npm run build - 确认无 TypeScript 编译错误
- 预览服务正常启动并返回 200
预期结果:
vite build成功完成- 预览页面可正常访问