Files
Mdeical_Sur_Report/工程分析/需求分析-2026-04-19-03-03-55.md

2.1 KiB
Raw Blame History

需求分析 — 2026-04-19-03-03-55

1. 需求背景

AI 撰写功能上线后出现三个体验问题:

  1. SystemSettings 测试连接成功(返回 13 个模型),但 ReportEditor 调用报 404POST https://api.moonshot.cn/v1/chat/completions 404
  2. 模型名称只能手动输入:用户希望测试连接成功后,模型名称自动变为下拉选择(从 /models 返回的列表中选择)
  3. AI 聊天记录不持久:从 ReportEditor 切换到其他页面再返回AI 撰写面板中的聊天记录全部丢失

2. 需求拆解

  • Task 1修复 404 错误
    • 原因分析:测试按钮读取的是 React state界面临时值ReportEditor 读取的是 localStorage。若测试后未点击"保存",两者不一致。另外 apiEndpoint 末尾多余斜杠可能导致路径拼接错误(v1//chat/completions
    • 修复:在 handleAIGenerate 中对 apiEndpoint.replace(/\/+$/, '') 净化
  • Task 2模型名称下拉栏
    • SystemSettings.tsx 增加 availableModels 状态
    • testApi 成功后解析 /models 响应,填充 availableModels
    • Model Name 输入框在有 availableModels 时自动变为 <select> 下拉
  • Task 3AI 聊天记录持久化
    • stateRef 增加 chatMessages 字段
    • saveDraftToStoragechatMessages 存入 draft
    • 初始化 useEffect 恢复 draft 时,同步恢复 chatMessages

3. 影响范围

文件 修改类型 风险等级
src/pages/ReportEditor.tsx 修改endpoint 净化 + 草稿持久化)
src/pages/SystemSettings.tsx 修改testApi + UI 动态切换)

4. 优先级

  • P0404 修复(功能不可用)
  • P1聊天记录持久化体验问题
  • P1模型名称下拉栏体验优化

5. 验收标准

  • ReportEditor 中 AI 调用不再因尾部斜杠导致 404
  • SystemSettings 测试连接成功后,模型名称自动变为下拉栏,可选模型列表
  • 切换页面后返回 ReportEditorAI 聊天记录保留
  • npm run lint 无类型错误