2 lines
1.9 KiB
JavaScript
2 lines
1.9 KiB
JavaScript
import{d as o}from"./dayjs-DG77mNTn.js";function u(i){if(i==null||i==="")return;const s=typeof i=="string"&&/^\d+$/.test(i.trim())?parseInt(i.trim(),10):Number(i);if(!(!Number.isFinite(s)||s<=0))return s>1e12?o(s).format("YYYY-MM-DD HH:mm:ss"):o.unix(s).format("YYYY-MM-DD HH:mm:ss")}function c(i){const s=i.call_type,t=s===2?"视频通话":s===1?"语音通话":"通话",n=String(i.cmd||""),a={hangup:"已结束",invite:"发起通话",linebusy:"对方忙线",cancel:"已取消",reject:"已拒绝",accept:"已接听",timeout:"无人接听"}[n]||(n?`状态:${n}`:""),p=a?`${t} · ${a}`:t,e=[];return i.inviter&&e.push(`发起方 ${i.inviter}`),i.invitee&&e.push(`对方 ${i.invitee}`),i.groupID&&e.push(`群组 ${i.groupID}`),{main:p,sub:e.length?e.join(","):void 0,tag:"通话"}}function l(i){const s=i.trim();if(!s.startsWith("{"))return null;let t;try{t=JSON.parse(s)}catch{return null}if(!("businessID"in t)&&!("cmd"in t))return null;if(t.businessID==="doctor_entered_consult_room")return{main:"医生已进入诊室",sub:u(t.time),tag:"诊室"};if(t.businessID==="patient_opened_chat"){const n=[];t.patientName&&n.push(`患者:${String(t.patientName)}`),t.patientId!=null&&t.patientId!==""&&n.push(`患者 ID:${String(t.patientId)}`),t.doctorId!=null&&t.doctorId!==""&&n.push(`关联医生:${String(t.doctorId)}`);const r=u(t.time);return r&&n.push(r),{main:"患者进入聊天",sub:n.length?n.join(" · "):void 0,tag:"诊室"}}if(t.businessID==="user_typing_status")return{main:"对方正在输入…",tag:"状态"};if(t.businessID==="consultation_complete")return{main:"问诊已完成",sub:u(t.time),tag:"诊室"};if(t.businessID===1||t.businessID==="1"){let n=t.data;if(typeof n=="string")try{n=JSON.parse(n)}catch{return{main:"通话信令",sub:"内层数据解析失败",tag:"通话"}}return n&&typeof n=="object"?c(n):null}return t.businessID==="rtc_call"||t.cmd?c(t):null}export{l as p};
|