Skip to content

Latest commit

 

History

History
152 lines (108 loc) · 2.63 KB

File metadata and controls

152 lines (108 loc) · 2.63 KB

API 文档

后端默认地址:http://127.0.0.1:5000

统一成功格式:

{
  "success": true,
  "data": {},
  "message": ""
}

统一失败格式:

{
  "success": false,
  "error": "错误说明"
}

配置状态

GET /api/config/status

返回 AI、天气、地图配置状态。

{
  "success": true,
  "data": {
    "ai": { "configured": false, "label": "通义千问 AI" },
    "weather": { "configured": false, "label": "高德天气" },
    "map": { "configured": false, "label": "高德地图" }
  },
  "message": ""
}

症状分析

POST /api/symptoms/analyze

请求:

{
  "symptoms": ["发热", "咳嗽"],
  "severity": "中等",
  "duration": "1-2天",
  "additional_info": "昨晚开始发热"
}

响应会返回风险等级、可能方向、推荐科室、建议和 record_id

医院推荐

POST /api/hospitals/recommend

请求:

{
  "analysis_result": {
    "record_id": 1,
    "recommended_departments": ["内科", "呼吸内科"]
  },
  "location": { "latitude": 39.9042, "longitude": 116.4074 },
  "radius": 50000,
  "preferences": { "sort_by": "score" }
}

响应包含推荐医院、距离、综合分、匹配科室和推荐理由。若传入 record_id,后端会把推荐医院摘要回写到历史记录。

健康档案

GET /api/profile

获取单用户健康档案。无数据时返回空对象。

POST /api/profile

请求:

{
  "nickname": "演示用户",
  "age": 28,
  "gender": "",
  "allergies": "青霉素",
  "chronicDiseases": "",
  "medications": "",
  "emergencyContact": "家人 13800000000"
}

历史记录

GET /api/analysis/history

按时间倒序返回分析记录。

POST /api/analysis/history

手动保存分析记录,通常由症状分析接口自动完成。

健康统计

GET /api/analysis/stats

返回:

  • totalRecords:累计分析次数
  • symptomFrequency:症状频率
  • urgencyDistribution:风险等级分布
  • departmentDistribution:推荐科室分布
  • latestRecords:最近 5 条记录

导诊报告

前端路由:/report/:id

报告页基于 GET /api/analysis/historyGET /api/profile 组合生成,不额外新增后端接口。页面展示:

  • 症状概览
  • 风险等级
  • 推荐科室
  • 可能方向
  • 导诊建议
  • 推荐医院和推荐理由
  • 免责声明

报告支持复制文本和浏览器打印。

AI 问答

POST /api/ai/chat

请求:

{
  "message": "发烧怎么办?",
  "context": { "history": [] }
}

未配置 DASHSCOPE_API_KEY 时返回友好错误,前端会提示可继续使用本地规则分析。