# 测试方案 — 2026-04-19-02-26-05 ## 1. 测试范围 - TemplateManage / ReportEditor 工具栏 AI 区域插入 - SystemSettings Kimi API 配置保存 - ReportEditor AI 撰写面板全链路(聊天、多模态输入、API调用、Diff确认、注入高亮) - 构建与部署验证 ## 2. 测试步骤与预期结果 ### 场景 1:AI 区域插入(TemplateManage) 1. 进入 `/template-manage`,点击工具栏蓝色 Bot 图标 预期:弹出 prompt,要求输入区域名称 2. 输入 "手术步骤",点击确认 预期:编辑器中出现蓝色虚线框区域,右上角有 "手术步骤-AI可编辑区域" 标签 3. 再次点击 Bot,再次输入 "手术步骤" 预期:alert 提示 "该区域名称已存在..." 4. 输入 "术后总结" 预期:成功插入第二个区域 ### 场景 2:AI 区域插入(ReportEditor) 1. 进入 `/report-editor`,点击工具栏蓝色 Bot 图标 预期:与 TemplateManage 行为一致 ### 场景 3:SystemSettings 配置保存 1. 进入 `/system-settings`,在 AI 接口集成中输入 API Key 和 Endpoint 2. 点击保存 预期:提示"设置已保存",刷新后值仍然保留 ### 场景 4:AI 面板基础聊天(纯聊模式) 1. 进入 `/report-editor`,确保编辑器内已有 `ai-region` 2. 点击右侧 "AI撰写" Tab 预期:出现聊天面板,底部有输入框 3. 取消勾选 "允许修改正文" 4. 输入 "你好",按 Enter 预期:出现 user 气泡(右侧蓝色),随后出现 model 气泡(左侧白色),正文未被修改 ### 场景 5:AI 修改正文(Diff 模式) 1. 勾选 "允许修改正文" 2. 在下拉框中选择一个 AI 区域 3. 输入 "请完善这段手术步骤描述" 4. 按 Enter 预期:AI 返回后弹出 Diff 弹窗,左侧显示原文,右侧显示 AI 版本 5. 在右侧编辑几个字,点击"确认并写入报告" 预期:弹窗关闭,编辑器对应区域内容更新,区域背景出现深蓝→淡蓝→透明渐变 6. 点击"放弃修改" 预期:弹窗关闭,正文保持原样 ### 场景 6:多模态输入 1. 上传一个本地图片到 AI 面板 预期:输入框上方出现小图预览,带删除按钮 2. 在视频分析中截取一帧,回到 AI 面板勾选该帧 预期:缩略图上有蓝色勾选标记 3. 发送消息 预期:消息正常发送,图片随请求提交 ### 场景 7:快捷指令 1. 点击快捷指令旁的 "⚙️" 预期:进入编辑模式,每个指令右上角出现红色删除按钮 2. 点击 "+ 添加",输入新的快捷指令 预期:新指令出现在列表中 3. 点击胶囊按钮 预期:指令文本自动填充到输入框 ### 场景 8:路由切换数据保持 1. 在 AI 面板中发送几条消息 2. 切换到 `/report-manage`,再返回 `/report-editor` 预期:AI 聊天记录丢失(因未设计持久化,属于预期行为),但报告正文、AI 区域结构保留 ### 场景 9:构建与部署 1. 执行 `npm run lint` 预期:无 TypeScript 类型错误 2. 执行 `npm run build` 预期:构建成功,dist/ 生成 3. 执行 `npm run preview -- --host` 预期:`http://localhost:4173/` 返回 200 ## 3. 回滚检查 - 若测试失败,执行 `git checkout main` 恢复到修改前状态(本次 commit 之前) - 或从 Gitea 拉取上一个可用版本