西藏巴青项目

在线接诊(兽医)前端技术方案.md 3.3KB

在线接诊(兽医)— 前端技术方案

依据:在线接诊(兽医)功能需求.md(v1.1)、在线接诊(兽医)技术方案.md(v1.1);布局参考 diseaseTreatment/aiDiagnosis/index.vue(左右分栏 IM),数据对接后端 REST。


1. 页面与路由

说明
Vue 路径 ruoyi-ui/src/views/diseaseTreatment/onlineConsult/vet/index.vue
组件名 DiseaseTreatmentVetOnlineConsult
菜单配置 组件路径:diseaseTreatment/onlineConsult/vet/index
权限前缀 diseaseTreatment:vetOnlineConsult:listquerysend

2. API 模块

说明
文件 ruoyi-ui/src/api/diseaseTreatment/vetOnlineConsult.js
Base /diseaseTreatment/onlineConsult/vet
方法 HTTP 说明
listVetConsultSessions GET /session/listaskerNamecontentKeywordsearchMode(仅点击搜索为 true
listVetConsultMessages GET /session/{sessionId}/messagesbeforeIdpageSize(默认 50)
sendVetConsultMessage POST /session/{sessionId}/message;Body:msgTypecontentmediaDuration(可选)

3. 页面结构

  1. 筛选区:问诊人、会话内容;搜索searchMode=true,且至少一项非空)、重置(恢复默认近 3 个月列表)。
  2. 左侧:接诊会话列表(头像、姓名、摘要、最后消息日期 M月D日)。
  3. 右侧:顶部问诊人姓名;聊天记录(按日分组、时分);上拉加载更早消息(beforeId)。
  4. 输入区:文本 + 图片/视频/语音文件上传 + 发送(无新建会话、无删除会话)。

4. 业务规则(前端)

规则 实现
默认列表 不传 searchModefalse;仅近 3 个月
搜索 searchMode=trueaskerName / contentKeyword 映射后端同名 Query
消息角色 senderRole=1 问诊人(左),2 兽医(右)
消息类型 1 文本、2 图片、3 视频、4 语音
媒体上传 POST /common/uploadcontent 传返回 url
上传限制 图 jpg/jpeg/png/gif ≤10MB;视频 mp4/mov ≤50MB;语音 mp3/m4a/wav ≤10MB
近实时 选中会话后 2s 轮询 刷新消息与列表(后端 STOMP 就绪后可改为 WebSocket 订阅 /topic/consult/vet/{userId}

5. 国际化

说明
语言包 diseaseTreatment.vetOnlineConsultlang/zh/diseaseTreatment.jslang/bo/diseaseTreatment.js
Mixin diseaseTreatmentLocaleMixindtNs = 'vetOnlineConsult'

6. 文件清单

路径 说明
src/views/diseaseTreatment/onlineConsult/vet/index.vue 主页面
src/api/diseaseTreatment/vetOnlineConsult.js API
src/mixins/diseaseTreatmentLocaleMixin.js 文案

7. 联调说明

  • 登录账号须已在「畜牧医疗资源管理」绑定兽医资源(resource_type=1 且已分配账号),否则列表为空。
  • 会话由移动端 /app/onlineConsult 创建;后台仅查看与回复。
  • 与「AI 诊断」菜单、数据完全隔离(consult_type=1)。
  • 验收近实时:双端在线时,轮询间隔可调整为 1s;生产建议接入技术方案 §5.1 STOMP 推送替代轮询。