"use strict";const e=require("../../common/vendor.js"),n=require("../../common/assets.js");if(!Array){e.resolveComponent("uni-popup")()}Math;const t={__name:"ai",setup(t){var a;const i=e.ref((null==(a=e.index.getStorageSync("userInfo"))?void 0:a.avatar)||"/static/avatar/default.png"),s=e.ref(""),c=e.ref([]),o=e.ref(0),l=e.ref(null),u=()=>{e.index.showLoading({title:"加载中..."}),setTimeout(()=>{c.value=[{type:"user",content:"之前的咨询记录1"},{type:"ai",content:"历史回复1",quickReplies:["追问1","追问2"]},...c.value],e.index.hideLoading()},1e3)},r=e.ref(["最近感冒了,该怎么办?","头痛是什么原因?","如何缓解失眠?"]),p={record:{content:e=>`\n根据您的病历,我的分析如下:\n\n1. 基本情况\n 医院:${e.hospital}\n 科室:${e.department}\n 诊断:${e.diagnosis}\n\n2. 病情分析\n - 这是一个${e.diagnosis}的诊断\n - 这类疾病通常属于${e.department}常见病症\n - 需要重点关注的症状包括...\n\n3. 建议\n - 建议按医嘱完成治疗疗程\n - 注意观察以下症状...\n - 如有以下情况需及时就医...\n\n4. 预防措施\n - 保持良好的生活习惯\n - 避免接触可能的诱发因素\n - 定期进行相关检查\n\n需要了解更多详细信息吗?\n `,quickReplies:["这个病严重吗?","需要注意什么?","多久能康复?","是否需要复查?"]},report:{content:e=>`\n根据您的检查报告,我的分析如下:\n\n1. 检查概况\n 项目:${e.name}\n 时间:${e.time}\n 结果:${"normal"===e.status?"正常":"异常"}\n\n2. 详细分析\n ${"normal"===e.status?"\n • 您的检查结果在正常范围内\n • 各项指标符合健康标准\n • 建议继续保持良好的生活习惯\n ":"\n • 检测到部分指标异常\n • 建议及时就医进行进一步检查\n • 需要注意观察相关症状变化\n "}\n\n3. 建议\n - ${"normal"===e.status?"定期进行健康检查,保持健康的生活方式。":"建议您尽快预约相关科室进行就医。"}\n - 保持良好的作息和饮食习惯\n - 适量运动,增强体质\n\n4. 后续跟进\n ${"normal"===e.status?"建议您按照常规体检周期进行复查。":"建议您在就医后根据医生建议安排复查时间。"}\n\n需要了解更多信息或预约就医吗?`,quickReplies:["如何预约复查?","需要挂什么科室?","这个结果代表什么?","建议就医吗?"]}},d=e=>{s.value=e,v()},m=[{keywords:["头痛","头晕"],content:"根据您描述的症状,可能的原因包括:\n1. 紧张性头痛\n2. 偏头痛\n3. 颈椎问题\n4. 眼疲劳\n\n建议:\n1. 保持良好的作息习惯\n2. 避免长时间用眼\n3. 适当运动放松\n4. 如果症状持续,建议到神经内科就诊",medicines:["布洛芬缓释胶囊","头痛宁片"],quickReplies:["症状多久需要就医?","如何预防头痛?","需要做什么检查?"]},{keywords:["感冒","发烧","咳嗽"],content:"您的症状疑似上呼吸道感染,建议:\n1. 多休息,保持充足睡眠\n2. 多饮温水\n3. 可以服用一些退烧止咳药物\n4. 如果发烧超过38.5℃或持续3天以上,建议及时就医",medicines:["布洛芬缓释胶囊","感冒灵颗粒","止咳糖浆"],quickReplies:["需要吃什么药?","多久能好?","如何预防传染?"]}],g={"布洛芬缓释胶囊":{id:1,name:"布洛芬缓释胶囊",image:"/static/medicines/buluofen.jpg",price:"39.8",desc:"用于缓解轻至中度疼痛,如头痛、关节痛、发热等",usage:"口服,一次1片,必要时每4-6小时重复一次",spec:"0.3g*12片/盒"},"感冒灵颗粒":{id:2,name:"感冒灵颗粒",image:"/static/medicines/ganmaoling.jpg",price:"28.5",desc:"用于感冒引起的头痛、发热、鼻塞、流涕、咽痛等",usage:"口服,一次1袋,一日3次",spec:"10g*10袋/盒"},"止咳糖浆":{id:3,name:"止咳糖浆",image:"/static/medicines/zhike.jpg",price:"35.6",desc:"用于各种原因引起的咳嗽症状",usage:"口服,一次10ml,一日3次",spec:"100ml/瓶"}},v=async()=>{if(!s.value||!s.value.trim())return;const n=s.value.trim();c.value.push({type:"user",content:n,avatar:i.value}),s.value="",await e.nextTick$1(),h();let t=null;for(const e of m)if(e.keywords.some(e=>n.includes(e))){t=e;break}t||(t={content:"我理解您的问题。建议您:\n1. 注意观察症状变化\n2. 保持良好的作息习惯\n3. 如果症状持续,建议及时就医",medicines:[],quickReplies:["需要挂什么科?","如何预约就医?","还有其他建议吗?"]});const a=t.medicines.map(e=>g[e]).filter(Boolean);setTimeout(()=>{c.value.push({type:"ai",content:t.content+(a.length?"\n\n推荐药品:"+a.map(e=>`\n• ${e.name}\n ${e.desc}\n 规格:${e.spec}\n 用法:${e.usage}`).join("\n"):""),medicines:a,quickReplies:t.quickReplies}),h()},1e3)},h=()=>{e.nextTick$1(()=>{const n=e.index.createSelectorQuery();n.select(".chat-content").boundingClientRect(),n.exec(e=>{e[0]&&(o.value=e[0].height)})})};e.onMounted(()=>{var n;const t=getCurrentPages(),a=t[t.length-1],i=null==(n=a.$getOpenerEventChannel)?void 0:n.call(a);null==i||i.on("initMessage",e=>{e.message&&(c.value.push({type:"user",content:e.message}),setTimeout(()=>{const n=e.message.includes("病历"),t=n?p.record:p.report,a=e.message.match(/医院: (.+)\n科室: (.+)\n诊断: (.+)/)||e.message.match(/检查项目: (.+)\n检查时间: (.+)\n检查结果: (.+)/);if(a){const e=n?{hospital:a[1],department:a[2],diagnosis:a[3]}:{name:a[1],time:a[2],status:a[3]};c.value.push({type:"ai",content:t.content(e),quickReplies:t.quickReplies})}else c.value.push({type:"ai",content:"抱歉,我无法解析这些信息。请提供更多详细信息。",quickReplies:["重新描述","人工咨询"]});h()},1e3))});const s=e.index.getStorageSync("selectedRecordId");s&&getRecordDetail(s).then(e=>{l.value=e,f()})});const f=()=>{l.value&&(c.value.push({type:"ai",content:"我已收到您的病历,正在为您分析...",avatar:"/static/avatar/ai.png"}),setTimeout(()=>{c.value.push({type:"ai",content:`根据您的病历显示:\n1. 主要症状: ${l.value.symptoms}\n2. 初步诊断: ${l.value.diagnosis}\n3. 建议治疗方案: ${l.value.treatment}\n\n请问您还有什么想要了解的吗?`,avatar:"/static/avatar/ai.png"})},1e3))},y=e.ref([{id:1,hospital:"青岛中央医院",department:"呼吸内科",diagnosis:"上呼吸道感染",date:"2024-03-15",details:"发热38.5℃,咽痛,咳嗽..."},{id:2,hospital:"青岛仁伯爵综合医院",department:"消化内科",diagnosis:"慢性胃炎",date:"2024-02-20",details:"上腹部不适,嗳气..."}]),$={"上呼吸道感染":[{id:1,name:"布洛芬缓释胶囊",image:"/static/medicines/buluofen.jpg",price:"39.8",desc:"用于缓解感冒发热、咽喉疼痛"},{id:2,name:"板蓝根颗粒",image:"/static/medicines/banlangen.jpg",price:"28.5",desc:"清热解毒,凉血利咽"}],"慢性胃炎":[{id:3,name:"奥美拉唑肠溶胶囊",image:"/static/medicines/amzl.jpg",price:"45.6",desc:"用于胃酸过多、胃痛"}]},k=e.ref(null),R=()=>{k.value.close()},q=e=>{c.value.push({type:"user",content:`请分析我的病历:\n医院:${e.hospital}\n科室:${e.department}\n诊断:${e.diagnosis}`,avatar:i.value}),setTimeout(()=>{const n=p.record.content({hospital:e.hospital,department:e.department,diagnosis:e.diagnosis,details:e.details}),t=$[e.diagnosis]||[];c.value.push({type:"ai",content:n,medicines:t,quickReplies:["需要复查吗?","如何预防复发?","建议就医吗?","查看其他病历"]}),h()},1e3)};return e.onLoad(e=>{"record"===e.type&&(y.value.length>1?k.value.open():1===y.value.length&&q(y.value[0]))}),(t,a)=>({a:e.f(r.value,(n,t,a)=>({a:e.t(n),b:t,c:e.o(e=>d(n),t)})),b:e.f(c.value,(t,a,s)=>e.e({a:"user"===t.type},"user"===t.type?{b:e.t(t.content),c:i.value}:e.e({d:n._imports_0$15,e:e.t(t.content),f:t.quickReplies},t.quickReplies?{g:e.f(t.quickReplies,(n,t,a)=>({a:e.t(n),b:t,c:e.o(e=>d(n),t)}))}:{}),{h:a,i:e.n(t.type)})),c:o.value,d:e.o(u),e:-1,f:e.o(v),g:s.value,h:e.o(e=>s.value=e.detail.value),i:s.value&&s.value.trim()?1:"",j:e.o(v),k:e.o(R),l:e.f(y.value,(n,t,a)=>({a:e.t(n.hospital),b:e.t(n.department),c:e.t(n.date),d:e.t(n.diagnosis),e:t,f:e.o(e=>(e=>{R(),q(e)})(n),t)})),m:e.sr(k,"67c33e29-0",{k:"recordSelector"}),n:e.p({type:"bottom"}),o:e.gei(t,"")})}};wx.createPage(t);
|