Files
zyt/server/public/admin/assets/patient-call-DBWp5Sy-.js
T
2026-03-13 14:08:52 +08:00

2 lines
7.6 KiB
JavaScript

import{E as a,K as G,i as O,d as P,a9 as j,J as q,b as J}from"./element-plus-D-JFNXWu.js";import{q as M}from"./@vue/runtime-dom-DVgibYoU.js";import{N}from"./@element-plus/icons-vue-Blep2MBz.js";import{F as g,u as A,y as E}from"./@tencentcloud/call-uikit-vue-BWwKaOEP.js";import{a as F,r as H,d as Q}from"./index-DgHUF7DW.js";import{f as R,b as $,d as W,ak as u,I as d,a as r,aN as n,J as o,O as c,G as U,H as _,aP as X,A as Y}from"./@vue/runtime-core-D7eUgySO.js";import{Q as I,o as Z}from"./@vue/shared-C75lBtbe.js";import{y as w,o as f}from"./@vue/reactivity-maRK_BBd.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-BOuxpn4j.js";import"./nprogress-BpICrWuH.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@tencentcloud/call-engine-js-zVTLS5jL.js";import"./@tencentcloud/chat-ChxDR3fu.js";import"./rtc-detect-DK8BLAXA.js";import"./@tencentcloud/tui-core-aciHwo_F.js";import"./tim-upload-plugin-gicpJEks.js";import"./tim-profanity-filter-plugin-B9dSjS4O.js";import"./vue-router-CJXI7XhX.js";import"./pinia-BhomUS5m.js";import"./axios-C80V62Fs.js";import"./lodash-Ct9_CZb9.js";import"./@vueuse/core-DCeljLnb.js";import"./@vueuse/shared-B444yVpD.js";import"./css-color-function-BVb6B1lA.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-ChYu0NfX.js";import"./clipboard-Bmfw2kIN.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-jaPyNblr.js";import"./@highlightjs/vue-plugin-ASXrwou_.js";const ee={class:"patient-test"},oe={key:0,class:"init-section"},le={key:1,class:"status"},te={class:"flex items-center"},se={class:"mt-2"},ae={key:0},ne={key:0,class:"call-actions mt-4"},re={key:2,id:"call-container",class:"call-container"},ie={key:3,class:"waiting-container"},ue=R({__name:"patient-call",setup(ce){const K=F(),D=Y(()=>K.userInfo),S=f(!1),m=f(!1),T=f(""),l=f(!1),p=f(!1),v=f(null),y=f(null);$(()=>{b()});const L=()=>{y.value&&clearInterval(y.value),y.value=setInterval(()=>{console.log("定时检查 - 当前时间:",new Date().toLocaleTimeString())},5e3)},V=({oldStatus:t,newStatus:e})=>{console.log("========================================"),console.log("=== 通话状态变化回调触发 ==="),console.log("oldStatus:",t),console.log("newStatus:",e),console.log("STATUS 常量:",E),console.log("========================================"),e===E.BE_INVITED&&(console.log(">>> 收到来电邀请"),l.value=!0,v.value={oldStatus:t,newStatus:e},J({title:"来电提醒",message:"收到视频通话请求",type:"info",duration:0,position:"top-right"}),a.success("收到来电,请点击接听按钮")),(e===E.CALLING_C2C_VIDEO||e===E.CALLING_GROUP_VIDEO)&&(console.log(">>> 通话已接通"),a.success("通话已接通"),l.value=!1,p.value=!0),e===E.IDLE&&(l.value||p.value)&&(console.log(">>> 通话已结束"),l.value=!1,p.value=!1,v.value=null,a.info("通话已结束"))},b=async()=>{try{S.value=!0;const t=D.value.id;if(!t)throw new Error("未获取到当前用户ID,请重新登录");console.log("=== 开始初始化医疗助理端 ==="),console.log("当前用户ID:",t),a.info("正在获取签名...");const e=await H.get({url:"/tcm.diagnosis/getDoctorSignature",params:{patient_id:t}});if(!e)throw new Error("获取签名失败");const{sdkAppId:C,userId:i,userSig:k}=e;if(T.value=i,console.log("医疗助理签名获取成功:",{userId:i,sdkAppId:C,userSigLength:k.length}),console.log("完整签名信息:",e),a.info("正在初始化通话组件..."),console.log("=== 开始调用 TUICallKitServer.init ==="),!g||typeof g.init!="function")throw new Error("TUICallKitServer 未正确加载,请刷新页面重试");try{await g.init({userID:i,userSig:k,SDKAppID:Number(C)})}catch(s){console.warn("TUICallKitServer.init 出现错误,但继续执行:",s)}console.log("=== TUICallKitServer.init 完成 ===");const h={statusChanged:V,onError:s=>{console.error("=== TUICallKit 错误回调 ===",s),a.error(`通话错误: ${(s==null?void 0:s.message)||"未知错误"}`)},onInvited:s=>{console.log("=== 收到邀请回调 (onInvited) ===",s),a.info("收到通话邀请 (onInvited)")},afterCalling:()=>{console.log("=== afterCalling 回调 ===")}};try{g.setCallback(h)}catch(s){console.warn("设置回调时出现错误,但继续执行:",s)}console.log("回调设置完成"),a.info("等待初始化完成..."),await new Promise(s=>setTimeout(s,2e3)),m.value=!0,a.success("医疗助理端初始化成功,等待来电..."),console.log("=== 医疗助理端初始化完成 ==="),console.log("userId:",i),console.log("等待来电中..."),console.log("请在医生端发起群组通话,目标用户ID应该是:",i),L()}catch(t){console.error("=== 初始化失败 ===",t),a.error(t.message||"初始化失败")}finally{S.value=!1}},x=async()=>{try{console.log("接听来电"),await g.accept(),a.success("已接听通话"),l.value=!1,p.value=!0}catch(t){console.error("接听失败:",t),a.error(t.message||"接听失败")}},z=async()=>{try{console.log("拒绝来电"),await g.reject(),a.info("已拒绝通话"),l.value=!1,v.value=null}catch(t){console.error("拒绝失败:",t),a.error(t.message||"拒绝失败")}},B=()=>{m.value=!1,T.value="",l.value=!1,p.value=!1,v.value=null};return W(()=>{y.value&&clearInterval(y.value),m.value&&(l.value=!1,p.value=!1,v.value=null)}),(t,e)=>{const C=G,i=O,k=P,h=j,s=q;return u(),d("div",ee,[r(s,null,{header:n(()=>[...e[0]||(e[0]=[o("div",{class:"card-header"},[o("span",null,"医疗助理端 - 接听来电")],-1)])]),default:n(()=>[m.value?_("",!0):(u(),d("div",oe,[r(C,{type:"info",closable:!1,class:"mb-4"},{default:n(()=>[o("p",null,[e[1]||(e[1]=o("strong",null,"当前登录用户:",-1)),c(" "+I(D.value.nickname||D.value.name||"未知"),1)]),o("p",null,[e[2]||(e[2]=o("strong",null,"用户ID:",-1)),c(" "+I(D.value.id||"未获取"),1)]),e[3]||(e[3]=o("p",null,[o("strong",null,"状态:"),c(" 正在初始化...")],-1))]),_:1}),S.value?_("",!0):(u(),U(i,{key:0,type:"primary",onClick:b,loading:S.value,size:"large"},{default:n(()=>[...e[4]||(e[4]=[c(" 重新初始化 ",-1)])]),_:1},8,["loading"]))])),m.value?(u(),d("div",le,[r(C,{type:l.value?"warning":"success",closable:!1},{title:n(()=>[o("div",te,[r(k,{class:Z(["mr-2",{"animate-pulse":l.value}])},{default:n(()=>[r(w(N))]),_:1},8,["class"]),o("span",null,I(l.value?"收到来电!":"医疗助理端已初始化,等待来电..."),1)])]),default:n(()=>[o("div",se,[o("p",null,[e[5]||(e[5]=o("strong",null,"医疗助理ID:",-1)),c(" "+I(T.value),1)]),o("p",null,[e[6]||(e[6]=o("strong",null,"状态:",-1)),c(" "+I(l.value?"来电中":"在线"),1)]),l.value&&v.value?(u(),d("p",ae,[e[7]||(e[7]=o("strong",null,"通话类型:",-1)),c(" "+I(v.value.isGroup?"群组视频通话":"视频通话"),1)])):_("",!0)])]),_:1},8,["type"]),l.value?(u(),d("div",ne,[r(i,{type:"success",size:"large",onClick:x,icon:w(N)},{default:n(()=>[...e[8]||(e[8]=[c(" 接听 ",-1)])]),_:1},8,["icon"]),r(i,{type:"danger",size:"large",onClick:z},{default:n(()=>[...e[9]||(e[9]=[c(" 拒绝 ",-1)])]),_:1})])):(u(),U(i,{key:1,type:"danger",onClick:B,class:"mt-4"},{default:n(()=>[...e[10]||(e[10]=[c(" 重置 ",-1)])]),_:1}))])):_("",!0),l.value||p.value?(u(),d("div",re,[r(w(A))])):m.value?(u(),d("div",ie,[r(h,{description:"等待来电中..."},{image:n(()=>[r(k,{size:80,color:"#909399"},{default:n(()=>[r(w(N))]),_:1})]),_:1})])):_("",!0),X(o("div",null,[m.value&&!l.value&&!p.value?(u(),U(w(A),{key:0})):_("",!0)],512),[[M,!1]])]),_:1})])}}}),Ze=Q(ue,[["__scopeId","data-v-45c03f90"]]);export{Ze as default};