所属项目: 面向全场景用药安全的医师助手 Agent
团队: ColdX · 山东大学软件学院 2026年春季项目实训
个人分工: 前端开发 & 界面设计

一、本阶段进展

完成前端任务拆分后,我这一阶段主要推进接口联调。本项目后端能力比较多,如果页面里到处直接写请求路径,后面维护会很麻烦,所以前端需要先把 API 层整理出来。

当前前端把接口统一封装在:

frontend/src/api/medsafe.ts

这一阶段我的重点是把各页面要用到的接口和后端路径对应起来,确认主流程能从前端发起请求,并且能拿到结构化结果。


二、API 封装思路

项目中使用原生 fetch 做轻量封装。统一请求函数负责处理基础路径、请求头、错误信息和返回类型。

我这边关注的不是 fetch 本身,而是接口封装后页面开发会变得更稳定:

  • 首页只需要调用 medsafeApi.health()
  • 会诊页只需要调用 medsafeApi.multiConsult()
  • 规则审查页调用 medsafeApi.ruleReview()
  • 影像页调用 segment/report 相关接口;
  • Case 页面调用 list/get case 接口。

这样页面代码就不会和 HTTP 细节混在一起。


三、联调重点

本阶段优先联调了几个关键接口:

GET  /health
GET  /api/v1/agents
POST /api/v1/multi-consult
POST /api/v1/review
GET  /api/v1/cases
GET  /api/v1/case/{id}

其中最重要的是 /api/v1/multi-consult。这个接口返回的不只是一段回答,而是完整会诊结果,包括规则审查、专家意见、辩论、安全面板、主席仲裁、Clarify 和最终建议。

这也让我意识到,前端页面必须按结构展示结果,不能把返回内容简单拼成一段文本。


四、联调中遇到的问题

接口联调时主要遇到两个问题。

第一,返回结构比较复杂,字段层级多。比如最终风险等级在 arbitration 中,规则证据在 rule_output.evidence 中,信息澄清在 clarify_output 中。如果不提前整理类型,页面很容易写乱。

第二,有些字段不是每次都会出现。例如并不是所有会诊结果都有 Clarify,也不是所有辩论过程都有明显分歧。因此页面需要做条件渲染,不能假设所有字段一定存在。

为了解决这个问题,我把接口联调和 types/index.ts 的类型定义一起对照,后续页面根据类型来取值。


五、AI交互过程

这一阶段我主要让 AI辅助做接口联调检查。提示词大致是:

请根据 frontend/src/api/medsafe.ts 和 src/types/index.ts,帮我整理前端已经封装了哪些后端接口。
重点关注 /consult、/rule-review、/chat、/imaging、/cases 页面分别依赖哪些 API。
输出联调检查清单,不要重新写接口代码。

AI 帮我把接口按页面分组,并提醒我重点检查 MultiConsultResponse 的字段是否和结果组件对应。根据这个检查清单,我后续把 /consult 页面拆成最终建议、规则证据、辩论过程、专家意见和 Clarify 几个区域。


六、本阶段产出

本阶段完成了:

  • 梳理 medsafeApi 中的主要接口;
  • 明确各页面和接口之间的对应关系;
  • 确认多智能体会诊接口返回结构;
  • 发现页面需要处理可选字段和条件渲染;
  • 用 AI辅助生成接口联调检查清单。

下一阶段我会继续推进前端状态管理,重点处理聊天会话状态和会诊请求状态的边界。


相关链接

  • 项目地址:https://gitee.com/aemond/innovation-training/tree/master
  • 团队博客:https://blog.csdn.net/curufin/category_13140668.html
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐