Files
zyt/server/public/admin/assets/patient-call-BUWri2eC.js
T
2026-03-04 15:32:30 +08:00

2 lines
5.5 KiB
JavaScript

import{J,D as P,B as S,C as F,i as K,d as L,I as q,E as s,b as M}from"./element-plus-Caccz9g_.js";import{N as D}from"./@element-plus-DUVk59Vi.js";import{J as G,w as g,A as x}from"./@tencentcloud-DDwGusEe.js";import{r as H,d as O}from"./index-Ssy6AHhX.js";import{d as Q,r as c,i as R,c as I,o as i,l as n,s as a,j as E,g as y,a as l,a5 as u,m as b,n as W,u as w}from"./@vue-DqCYILjk.js";import"./lodash-es-B-ecsAzo.js";import"./dayjs-DwMCULLY.js";import"./@popperjs-D_chPuIy.js";import"./async-validator-9PlIezaS.js";import"./@ctrl-r5W6hzzQ.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./tuicall-engine-webrtc-aj4O46w7.js";import"./trtc-js-sdk-DYM4KK88.js";import"./rtc-ai-denoiser-V2uN2Ltv.js";import"./tim-js-sdk-D6E6n_Uo.js";import"./tsignaling-LowdXh8I.js";import"./nprogress-Cn18nAuv.js";import"./vue-router-B-0K5V-K.js";import"./pinia-mEEzQJvk.js";import"./axios-DIsA03vz.js";import"./lodash-y93ab0Xv.js";import"./@vueuse-DAQYQaJJ.js";import"./css-color-function-Oslqczna.js";import"./balanced-match-BdS7OldZ.js";import"./color-DYO1E7y4.js";import"./clone-Ddk2tjDh.js";import"./color-convert-DsNsD289.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-CdRib5DX.js";import"./clipboard-DbF4rXjn.js";import"./echarts-CXZcVnUo.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DO4NV0px.js";import"./highlight.js-CCvalMLC.js";import"./@highlightjs-Bvtfkhq1.js";const X={class:"patient-test"},Y={key:1,class:"status"},Z={class:"flex items-center"},$={class:"mt-2"},ee={key:0},le={key:0,class:"call-actions mt-4"},te={id:"call-container",class:"call-container"},oe=Q({__name:"patient-call",setup(ae){const d=c({patientId:"1"}),C=c(!1),p=c(!1),k=c(""),o=c(!1),m=c(null),N=({oldStatus:t,newStatus:e})=>{console.log("通话状态变化:",{oldStatus:t,newStatus:e}),e===x.BE_INVITED&&(o.value=!0,m.value={oldStatus:t,newStatus:e},M({title:"来电提醒",message:"收到视频通话请求",type:"info",duration:0,position:"top-right"}),s.success("收到来电,请点击接听按钮")),e===x.IDLE&&o.value&&(o.value=!1,m.value=null,s.info("通话已结束"))},V=async()=>{try{C.value=!0,s.info("正在获取签名...");const t=await H.get({url:"/tcm.diagnosis/getPatientSignature",params:{patient_id:d.value.patientId}});if(!t)throw new Error("获取签名失败");const{sdkAppId:e,userId:r,userSig:f}=t;k.value=r,console.log("患者签名获取成功:",{userId:r,sdkAppId:e,userSigLength:f.length}),s.info("正在初始化通话组件..."),g.setCallback({statusChanged:N}),await g.init({userID:r,userSig:f,SDKAppID:Number(e)}),console.log("TUICallKitServer.init 完成"),console.log("已注册状态监听回调"),s.info("等待初始化完成..."),await new Promise(v=>setTimeout(v,2e3)),p.value=!0,s.success("患者端初始化成功,等待来电..."),console.log("患者端初始化完成,userId:",r)}catch(t){console.error("初始化失败:",t),s.error(t.message||"初始化失败")}finally{C.value=!1}},A=async()=>{try{console.log("接听来电"),await g.accept(),s.success("已接听通话"),o.value=!1}catch(t){console.error("接听失败:",t),s.error(t.message||"接听失败")}},B=async()=>{try{console.log("拒绝来电"),await g.reject(),s.info("已拒绝通话"),o.value=!1,m.value=null}catch(t){console.error("拒绝失败:",t),s.error(t.message||"拒绝失败")}},h=()=>{p.value=!1,k.value="",o.value=!1,m.value=null,d.value.patientId="1"};return R(()=>{p.value&&(o.value=!1,m.value=null)}),(t,e)=>{const r=J,f=F,v=S,_=K,z=P,T=L,U=q;return i(),I("div",X,[n(U,null,{header:a(()=>e[1]||(e[1]=[l("div",{class:"card-header"},[l("span",null,"患者端测试 - 接听来电")],-1)])),default:a(()=>[n(r,{type:"info",closable:!1,class:"mb-4"},{default:a(()=>e[2]||(e[2]=[l("p",null,"此页面用于测试音视频通话功能",-1),l("p",null,"使用方法:",-1),l("ol",null,[l("li",null,"在此页面初始化患者端"),l("li",null,"在另一个浏览器窗口登录医生端"),l("li",null,"医生端发起通话"),l("li",null,"此页面会收到来电提示")],-1)])),_:1}),p.value?y("",!0):(i(),E(z,{key:0,model:d.value,"label-width":"100px"},{default:a(()=>[n(v,{label:"患者ID"},{default:a(()=>[n(f,{modelValue:d.value.patientId,"onUpdate:modelValue":e[0]||(e[0]=j=>d.value.patientId=j),placeholder:"输入患者ID,如:1",style:{width:"300px"}},null,8,["modelValue"])]),_:1}),n(v,null,{default:a(()=>[n(_,{type:"primary",onClick:V,loading:C.value},{default:a(()=>e[3]||(e[3]=[u(" 初始化患者端 ")])),_:1},8,["loading"])]),_:1})]),_:1},8,["model"])),p.value?(i(),I("div",Y,[n(r,{type:o.value?"warning":"success",closable:!1},{title:a(()=>[l("div",Z,[n(T,{class:W(["mr-2",{"animate-pulse":o.value}])},{default:a(()=>[n(w(D))]),_:1},8,["class"]),l("span",null,b(o.value?"收到来电!":"患者端已初始化,等待来电..."),1)])]),default:a(()=>[l("div",$,[l("p",null,[e[4]||(e[4]=l("strong",null,"患者ID:",-1)),u(" "+b(k.value),1)]),l("p",null,[e[5]||(e[5]=l("strong",null,"状态:",-1)),u(" "+b(o.value?"来电中":"在线"),1)]),o.value&&m.value?(i(),I("p",ee,e[6]||(e[6]=[l("strong",null,"通话类型:",-1),u(" 视频通话 ")]))):y("",!0)])]),_:1},8,["type"]),o.value?(i(),I("div",le,[n(_,{type:"success",size:"large",onClick:A,icon:w(D)},{default:a(()=>e[7]||(e[7]=[u(" 接听 ")])),_:1},8,["icon"]),n(_,{type:"danger",size:"large",onClick:B},{default:a(()=>e[8]||(e[8]=[u(" 拒绝 ")])),_:1})])):(i(),E(_,{key:1,type:"danger",onClick:h,class:"mt-4"},{default:a(()=>e[9]||(e[9]=[u(" 重置 ")])),_:1}))])):y("",!0),l("div",te,[p.value?(i(),E(w(G),{key:0})):y("",!0)])]),_:1})])}}}),qe=O(oe,[["__scopeId","data-v-1ed89ebc"]]);export{qe as default};