- 将'允许修改正文'复选框从id/htmlFor绑定改为label直接包裹input,增加e.stopPropagation防止事件冒泡被拦截 - handleAIGenerate中新增editorRef.current.innerText作为全局上下文注入prompt - currentHtml增加过滤​零宽字符 - 优化systemPrompt,明确告知大模型全局参考内容+目标区域源码的双信息源结构
1.2 KiB
1.2 KiB
测试方案 — 2026-04-19-03-19-57
1. 测试范围
- chatInput 持久化(路由切换 + 页面刷新)
- API content 格式(纯文本 vs 带图片)
2. 测试步骤与预期结果
场景 1:纯文本消息(修复 400)
- 进入 ReportEditor,切换到 AI撰写 Tab
- 不上传任何图片,不勾选任何关键帧
- 输入 "你好",按 Enter
预期:Network 面板中请求体
messages[1].content为字符串"【医生指令】: 你好",API 返回 200
场景 2:带图片消息(Vision 格式保留)
- 勾选至少 1 个关键帧或上传 1 张本地图片
- 输入 "描述这张图片",按 Enter
预期:Network 面板中请求体
messages[1].content为数组,包含type: 'image_url'和type: 'text'两项
场景 3:chatInput 持久化
- 在 AI 输入框中输入一段未发送的文字(不要按 Enter)
- 切换到
/report-manage,再返回/report-editor预期:输入框中文字仍然存在 - 刷新浏览器 预期:输入框中文字仍然从 draft 恢复
场景 4:类型检查与构建
npm run lint预期:0 errorsnpm run build预期:成功
3. 回滚检查
- 若测试失败,执行
git checkout main恢复到上一个 commit