Files
zyt/server/public/admin/assets/im-business-message-parse-QKjFLn3X.js
T
2026-05-11 17:49:38 +08:00

2 lines
2.5 KiB
JavaScript
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{d as l}from"./dayjs-DG77mNTn.js";function r(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?l(s).format("YYYY-MM-DD HH:mm:ss"):l.unix(s).format("YYYY-MM-DD HH:mm:ss")}function p(i){const s=i.call_type??i.callType??2,t=s===2?"视频":s===1?"语音通话":"通话";let e=String(i.cmd||i.action||"").toLowerCase();if(!e){const n=Number(i.actionType??i.action_type??i.call_action);n===1?e="invite":n===2?e="cancel":n===3?e="accept":n===4?e="reject":n===5?e="timeout":n===6?e="hangup":n===7&&(e="linebusy")}const o={hangup:"已结束",invite:"发起通话",linebusy:"对方忙线",cancel:"已取消呼叫",reject:"已拒绝接听",accept:"已接听",timeout:"无人接听"}[e]||(e?`状态:${e}`:""),c=Number(i.duration??i.call_duration),m=c>0&&(o==="已结束"||o==="已挂断")?` (${Math.floor(c/60)}${c%60}秒)`:"",f=o?`${t} · ${o}${m}`:t,u=[];if(i.invitee&&u.push(`对方: ${i.invitee}`),i.groupID&&u.push(`群组: ${i.groupID}`),!o){const n=JSON.stringify(i).replace(/"/g,"");u.push(`(原始参数: ${n})`)}return{main:f,sub:u.length?u.join(""):void 0,tag:"通话"}}function g(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:r(t.time),tag:"诊室"};if(t.businessID==="patient_opened_chat"){const e=[];t.patientName&&e.push(`患者:${String(t.patientName)}`),t.patientId!=null&&t.patientId!==""&&e.push(`患者 ID${String(t.patientId)}`),t.doctorId!=null&&t.doctorId!==""&&e.push(`关联医生:${String(t.doctorId)}`);const a=r(t.time);return a&&e.push(a),{main:"患者进入聊天",sub:e.length?e.join(" · "):void 0,tag:"诊室"}}if(t.businessID==="patient_closed_chat"){const e=[];t.patientName&&e.push(`患者:${String(t.patientName)}`),t.patientId!=null&&t.patientId!==""&&e.push(`患者 ID${String(t.patientId)}`);const a=r(t.time);return a&&e.push(a),{main:"患者离开聊天页",sub:e.length?e.join(" · "):void 0,tag:"诊室"}}if(t.businessID==="user_typing_status")return{main:"对方正在输入…",tag:"状态"};if(t.businessID==="consultation_complete")return{main:"问诊已完成",sub:r(t.time),tag:"诊室"};if(t.businessID===1||t.businessID==="1"||t.businessID==="av_call"){let e=t.data;if(typeof e=="string")try{e=JSON.parse(e)}catch{}const a={...t,...typeof e=="object"&&e?e:{}};return p(a)}return t.businessID==="rtc_call"||t.cmd?p(t):null}export{g as p};