10927 lines
591 KiB
JavaScript
10927 lines
591 KiB
JavaScript
|
(function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode(".tk-justify-start{justify-content:flex-start}.tk-justify-center{justify-content:center}.tk-justify-end{justify-content:flex-end}.tk-justify-space-between{justify-content:space-between}.tk-justify-space-around{justify-content:space-around}.tk-justify-space-evenly{justify-content:space-evenly}.tk-align-center{align-items:center}.tk-align-start{align-items:flex-start}.tk-align-end{align-items:flex-end}.tk-align-stretch{align-items:stretch}.tk-align-baseline{align-items:baseline}.tk-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tk-round{border-radius:20px}.tk-circle{border-radius:100%}.tk-row{display:flex;flex-wrap:wrap;position:relative;box-sizing:border-box;width:100%}.tk-col{display:flex;flex-wrap:wrap;position:relative;box-sizing:border-box}.tk-justify-start{justify-content:flex-start}.tk-justify-center{justify-content:center}.tk-justify-end{justify-content:flex-end}.tk-justify-space-between{justify-content:space-between}.tk-justify-space-around{justify-content:space-around}.tk-justify-space-evenly{justify-content:space-evenly}.tk-align-center{align-items:center}.tk-align-start{align-items:flex-start}.tk-align-end{align-items:flex-end}.tk-align-stretch{align-items:stretch}.tk-align-baseline{align-items:baseline}.tk-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tk-round{border-radius:20px}.tk-circle{border-radius:100%}.tk-loading_dot-container{display:flex;justify-content:space-between;align-items:center;height:100%}.tk-loading_dot-container .tk-loading_dot:nth-child(1){opacity:0;animation-duration:.8s;animation-delay:0s;animation-play-state:running}.tk-loading_dot-container .tk-loading_dot:nth-child(2){opacity:.083;animation-duration:.8s;animation-delay:.2666666667s;animation-play-state:running}.tk-loading_dot-container .tk-loading_dot:nth-child(3){opacity:.1667;animation-duration:.8s;animation-delay:.5333333333s;animation-play-state:running}.tk-loading_dot-container .tk-loading_dot{width:20%;height:20%;border-radius:50%;background-color:#fff;animation-duration:1.8s;animation-name:dotting;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both}@keyframes dotting{0%{opacity:.15}1%{opacity:.8}33%{opacity:.8}34%{opacity:.15}to{opacity:.15}}.tk-justify-start{justify-content:flex-start}.tk-justify-center{justify-content:center}.tk-justify-end{justify-content:flex-end}.tk-justify-space-between{justify-content:space-between}.tk-justify-space-around{justify-content:space-around}.tk-justify-space-evenly{justify-content:space-evenly}.tk-align-center{align-items:center}.tk-align-start{align-items:flex-start}.tk-align-end{align-items:flex-end}.tk-align-stretch{align-items:stretch}.tk-align-baseline{align-items:baseline}.tk-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tk-round{border-radius:20px}.tk-circle{border-radius:100%}.tk-loading_circle-container{height:100%;border:2px solid;border-radius:50%;border-top-color:transparent;border-right-color:transparent;border-bottom-color:#fff;border-left-color:#fff;background:0 0;vertical-align:middle;box-sizing:border-box;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tk-justify-start{justify-content:flex-start}.tk-justify-center{justify-content:center}.tk-justify-end{justify-content:flex-end}.tk-justify-space-between{justify-content:space-between}.tk-justify-space-around{justify-content:space-around}.tk-justify-space-evenly{justify-content:space-evenly}.tk-align-center{align-items:center}.tk-align-start{align-items:flex-start}.tk-align-end{align-items:flex-end}.tk-align-stretch{align-items:stretch}.tk-align-baseline{align-items:baseline}.tk-blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tk-round{border-radius:20px}.tk-circle{border-radius:100%}.tk-loading{display:flex;align-items:center;flex-direction:column}.tk-loading .tk-loading_text{margin:10px}.tk-justify-start{justify-content:fle
|
||
|
import { TUICallEvent as f, TUICallEngine as wl } from "tuicall-engine-webrtc";
|
||
|
import { TUICore as HA, TUIConstants as H, TUILogin as Ol } from "@tencentcloud/tui-core";
|
||
|
import ma from "@tencentcloud/chat";
|
||
|
import Xt from "vue";
|
||
|
import { inject as NA, ref as I, onMounted as aA, onUnmounted as tA, toRefs as z, watch as J, computed as p, provide as gA, watchEffect as QA, toRef as wt, unref as xl, nextTick as Vl, reactive as Ye } from "@vue/composition-api";
|
||
|
var c = /* @__PURE__ */ ((A) => (A.CALL = "call", A.CUSTOM = "custom", A))(c || {}), F = /* @__PURE__ */ ((A) => (A[A.UNKNOWN = 0] = "UNKNOWN", A[A.AUDIO = 1] = "AUDIO", A[A.VIDEO = 2] = "VIDEO", A))(F || {}), K = /* @__PURE__ */ ((A) => (A.UNKNOWN = "unknown", A.CALLEE = "callee", A.CALLER = "caller", A))(K || {}), U = /* @__PURE__ */ ((A) => (A.IDLE = "idle", A.CALLING = "calling", A.CONNECTED = "connected", A))(U || {}), ne = /* @__PURE__ */ ((A) => (A.CONTAIN = "contain", A.COVER = "cover", A.FILL = "fill", A))(ne || {}), oe = /* @__PURE__ */ ((A) => (A.RESOLUTION_480P = "480p", A.RESOLUTION_720P = "720p", A.RESOLUTION_1080P = "1080p", A))(oe || {}), lo = /* @__PURE__ */ ((A) => (A.EN = "en", A["ZH-CN"] = "zh-cn", A.JA_JP = "ja_JP", A))(lo || {});
|
||
|
const nA = {
|
||
|
IDLE: "idle",
|
||
|
BE_INVITED: "be-invited",
|
||
|
DIALING_C2C: "dialing-c2c",
|
||
|
DIALING_GROUP: "dialing-group",
|
||
|
CALLING_C2C_AUDIO: "calling-c2c-audio",
|
||
|
CALLING_C2C_VIDEO: "calling-c2c-video",
|
||
|
CALLING_GROUP_AUDIO: "calling-group-audio",
|
||
|
CALLING_GROUP_VIDEO: "calling-group-video"
|
||
|
}, bl = {
|
||
|
unknown: 0,
|
||
|
audio: 1,
|
||
|
video: 2
|
||
|
};
|
||
|
var Ae = /* @__PURE__ */ ((A) => (A.EAR = "ear", A.SPEAKER = "speaker", A))(Ae || {}), oA = /* @__PURE__ */ ((A) => (A.MICROPHONE = "microphone", A.CAMERA = "camera", A.SPEAKER = "speaker", A))(oA || {}), le = /* @__PURE__ */ ((A) => (A[A.FRONT = 0] = "FRONT", A[A.BACK = 1] = "BACK", A))(le || {}), zA = /* @__PURE__ */ ((A) => (A.Camera = "camera", A.Microphone = "microphone", A.SwitchCamera = "switchCamera", A.InviteUser = "inviteUser", A))(zA || {}), JA = /* @__PURE__ */ ((A) => (A.Open = "open", A.Close = "close", A))(JA || {}), At = /* @__PURE__ */ ((A) => (A.LOCAL = "local", A.REMOTE = "remote", A))(At || {}), et = /* @__PURE__ */ ((A) => (A.LocalInLargeView = "local", A.RemoteInLargeView = "remote", A))(et || {}), XA = /* @__PURE__ */ ((A) => (A[A.INVITE = 1] = "INVITE", A[A.CANCEL_INVITE = 2] = "CANCEL_INVITE", A[A.ACCEPT_INVITE = 3] = "ACCEPT_INVITE", A[A.REJECT_INVITE = 4] = "REJECT_INVITE", A[A.INVITE_TIMEOUT = 5] = "INVITE_TIMEOUT", A))(XA || {});
|
||
|
const ja = {
|
||
|
SWITCH_TO_AUDIO_CALL_FAILED: 60001,
|
||
|
SWITCH_TO_VIDEO_CALL_FAILED: 60002,
|
||
|
MICROPHONE_UNAVAILABLE: 60003,
|
||
|
CAMERA_UNAVAILABLE: 60004,
|
||
|
BAN_DEVICE: 60005,
|
||
|
NOT_SUPPORTED_WEBRTC: 60006,
|
||
|
ERROR_BLACKLIST: 20007
|
||
|
}, Bl = {
|
||
|
SWITCH_TO_AUDIO_CALL_FAILED: "switchToAudioCall-call-failed",
|
||
|
SWITCH_TO_VIDEO_CALL_FAILED: "switchToVideoCall-call-failed",
|
||
|
MICROPHONE_UNAVAILABLE: "microphone-unavailable",
|
||
|
CAMERA_UNAVAILABLE: "camera-unavailable",
|
||
|
BAN_DEVICE: "ban-device",
|
||
|
NOT_SUPPORTED_WEBRTC: "not-supported-webrtc",
|
||
|
ERROR_BLACKLIST: "blacklist-user-tips"
|
||
|
};
|
||
|
var io = /* @__PURE__ */ ((A) => (A[A.NORMAL = 0] = "NORMAL", A[A.RELEASE = 1] = "RELEASE", A[A.WARNING = 2] = "WARNING", A[A.ERROR = 3] = "ERROR", A[A.NONE = 4] = "NONE", A))(io || {});
|
||
|
const Ke = {
|
||
|
CALL_STATUS: "callStatus",
|
||
|
CALL_ROLE: "callRole",
|
||
|
CALL_MEDIA_TYPE: "callMediaType",
|
||
|
LOCAL_USER_INFO: "localUserInfo",
|
||
|
LOCAL_USER_INFO_EXCLUDE_VOLUMN: "localUserInfoExcludeVolume",
|
||
|
REMOTE_USER_INFO_LIST: "remoteUserInfoList",
|
||
|
REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST: "remoteUserInfoExcludeVolumeList",
|
||
|
CALLER_USER_INFO: "callerUserInfo",
|
||
|
IS_GROUP: "isGroup",
|
||
|
CALL_DURATION: "callDuration",
|
||
|
CALL_TIPS: "callTips",
|
||
|
TOAST_INFO: "toastInfo",
|
||
|
IS_MINIMIZED: "isMinimized",
|
||
|
ENABLE_FLOAT_WINDOW: "enableFloatWindow",
|
||
|
BIG_SCREEN_USER_ID: "bigScreenUserId",
|
||
|
LANGUAGE: "language",
|
||
|
IS_CLICKABLE: "isClickable",
|
||
|
DISPLAY_MODE: "displayMode",
|
||
|
VIDEO_RESOLUTION: "videoResolution",
|
||
|
PUSHER: "pusher",
|
||
|
PLAYER: "player",
|
||
|
IS_EAR_PHONE: "isEarPhone",
|
||
|
IS_MUTE_SPEAKER: "isMuteSpeaker",
|
||
|
SHOW_PERMISSION_TIP: "SHOW_PERMISSION_TIP",
|
||
|
NETWORK_STATUS: "NetWorkStatus",
|
||
|
GROUP_ID: "groupID",
|
||
|
ROOM_ID: "roomID",
|
||
|
ROOM_ID_TYPE: "roomIdType",
|
||
|
SHOW_SELECT_USER: "showSelectUser",
|
||
|
IS_SHOW_ENABLE_VIRTUAL_BACKGROUND: "isShowEnableVirtualBackground",
|
||
|
ENABLE_VIRTUAL_BACKGROUND: "enableVirtualBackground",
|
||
|
GROUP_CALL_MEMBERS: "groupCallMembers",
|
||
|
PUSHER_ID: "pusherId"
|
||
|
}, Fl = {
|
||
|
INNER_ATTR_KIT_INFO: "inner_attr_kit_info"
|
||
|
}, Rl = {
|
||
|
INITIAL_PUSHER: "initialPusher",
|
||
|
NEW_PUSHER: "newPusher"
|
||
|
}, o = {
|
||
|
PREFIX: "\u3010CallService\u3011",
|
||
|
AUDIO: "audio",
|
||
|
VIDEO: "video",
|
||
|
LOCAL_VIDEO: "localVideo",
|
||
|
ERROR: "error",
|
||
|
TIMEOUT: "timeout",
|
||
|
RAF: "raf",
|
||
|
INTERVAL: "interval",
|
||
|
DEFAULT: "default",
|
||
|
BOOLEAN: "boolean",
|
||
|
STRING: "string",
|
||
|
NUMBER: "number",
|
||
|
OBJECT: "object",
|
||
|
ARRAY: "array",
|
||
|
FUNCTION: "function",
|
||
|
UNDEFINED: "undefined",
|
||
|
UNKNOWN: "unknown",
|
||
|
ALL: "all",
|
||
|
MYSELF: "myself",
|
||
|
DEVICE_LIST: "deviceList",
|
||
|
CAMERA_POSITION: "cameraPosition",
|
||
|
CUSTOM_UI_CONFIG: "customUIConfig",
|
||
|
...Rl,
|
||
|
...Ke,
|
||
|
...Fl
|
||
|
}, kl = "https://web.sdk.qcloud.com/component/TUIKit/assets/call.png", Pl = "https://web.sdk.qcloud.com/component/TUIKit/assets/call-video-reverse.svg", va = 2147483647, Wl = 3, Gl = 4;
|
||
|
var Rt = /* @__PURE__ */ ((A) => (A.MAC = "mac", A.WIN = "win", A))(Rt || {}), _t = /* @__PURE__ */ ((A) => (A[A.TUI_CALL_KIT = 14] = "TUI_CALL_KIT", A[A.TIM_CALL_KIT = 15] = "TIM_CALL_KIT", A))(_t || {}), kt = /* @__PURE__ */ ((A) => (A[A.NUMBER_ROOM_ID = 1] = "NUMBER_ROOM_ID", A[A.STRING_ROOM_ID = 2] = "STRING_ROOM_ID", A))(kt || {});
|
||
|
async function Ql(A) {
|
||
|
if (!A)
|
||
|
return !1;
|
||
|
try {
|
||
|
const t = await new Promise((e, a) => {
|
||
|
const n = new XMLHttpRequest();
|
||
|
n.open("HEAD", A, !0), n.onload = () => e(n), n.onerror = () => a(n), n.send();
|
||
|
});
|
||
|
return t.status === 200 && t.getResponseHeader("Content-Type") === "audio/mpeg";
|
||
|
} catch (t) {
|
||
|
return console.warn(t), !1;
|
||
|
}
|
||
|
}
|
||
|
function tt(A) {
|
||
|
if (typeof A != "object" || A === null)
|
||
|
return A;
|
||
|
let t = Array.isArray(A) ? [] : {};
|
||
|
for (let e in A)
|
||
|
A.hasOwnProperty(e) && (t[e] = tt(A[e]));
|
||
|
return t;
|
||
|
}
|
||
|
const Zl = {
|
||
|
hangup: "Hang up",
|
||
|
reject: "Decline",
|
||
|
accept: "Accept",
|
||
|
camera: "Camera",
|
||
|
microphone: "Microphone",
|
||
|
speaker: "speaker",
|
||
|
"open camera": "Open Camera",
|
||
|
"close camera": "Close Camera",
|
||
|
"open microphone": "Open Microphone",
|
||
|
"close microphone": "Close Microphone",
|
||
|
"video-to-audio": "Switch to audio",
|
||
|
"virtual-background": "Blur Background",
|
||
|
"other side reject call": "other side reject call",
|
||
|
"reject call": "Reject Call",
|
||
|
cancel: "Cancel Call",
|
||
|
"other side line busy": "other side line busy",
|
||
|
"in busy": "in busy",
|
||
|
"call timeout": "call timeout",
|
||
|
"no response from the other side": "no response from the other side",
|
||
|
"end call": "end call",
|
||
|
"caller calling message": "Awaiting response",
|
||
|
"callee calling video message": "invites you to a video call",
|
||
|
"callee calling audio message": "invites you to a voice call",
|
||
|
"no microphone access": "no microphone access",
|
||
|
"no camera access": "no camera access",
|
||
|
"invite member": "Invite Member",
|
||
|
"Invited group call": "invites you to a group call",
|
||
|
waiting: "Calling...",
|
||
|
me: "(me)",
|
||
|
"browser-authorization": "Browser authorization",
|
||
|
"mac-privacy": "System Preferences -> Security and Privacy -> Privacy",
|
||
|
"win-privacy": "Setting -> Privacy and Security -> App permissions",
|
||
|
"mac-preferences": "Open System Preferences",
|
||
|
"win-preferences": "Open Setting",
|
||
|
"Please enter userID": "Please enter userID",
|
||
|
"View more": "View more",
|
||
|
"people selected": "people selected",
|
||
|
"Select all": "Select all",
|
||
|
Cancel: "Cancel",
|
||
|
Done: "Done",
|
||
|
"exist group call": "A group call already exists in the current group",
|
||
|
"camera enabled": "Camera On",
|
||
|
"camera disabled": "Camera Off",
|
||
|
"microphone enabled": "Unmuted",
|
||
|
"microphone disabled": "Muted",
|
||
|
"speaker enabled": "Speaker On",
|
||
|
"speaker disabled": "Speaker Off",
|
||
|
"open speaker": "Turn on speaker",
|
||
|
"close speaker": "Turn off speaker",
|
||
|
"wait to be called": "Waiting",
|
||
|
answered: "Connected",
|
||
|
"people in the call": " other(s) in the call",
|
||
|
"failed to obtain speakers": "failed to obtain speakers",
|
||
|
"you have a new call": "You have a new call",
|
||
|
"switch camera": "Switch",
|
||
|
join: "Join",
|
||
|
"people on the call": "people on the call",
|
||
|
"Supports a maximum of 9 people for simultaneous calls": "Supports a maximum of 9 people for simultaneous calls",
|
||
|
you: "(you)",
|
||
|
"The network is poor during your current call": "The network is poor during your current call",
|
||
|
"The other user network is poor during the current call": "The other party's network is poor during the current call",
|
||
|
"TUICallKit init is not complete": "TUICallKit init is not complete. You need to use this API after the init API is finished.",
|
||
|
"Video call": "Video call",
|
||
|
"Voice call": "Voice call",
|
||
|
"Call End": "Call End",
|
||
|
"Switch voice call": "Switch voice call",
|
||
|
"Switch video call": "Switch video call",
|
||
|
"Call duration": "Duration",
|
||
|
"Call Cancel": "Canceled",
|
||
|
"Other Side Cancel": "Call canceled by caller",
|
||
|
Decline: "Declined",
|
||
|
"Other Side Decline": "Call declined by user",
|
||
|
"No answer": "Call not answered",
|
||
|
"Other Side No Answer": "Call wasn't answered",
|
||
|
Answered: "Answered",
|
||
|
"Other Side Line Busy": "Line busy",
|
||
|
"Line Busy": "Line busy. Call not received.",
|
||
|
"Those involved": "Those involved in the call are",
|
||
|
call: "call",
|
||
|
"video-call": "video call",
|
||
|
"audio-call": "audio call",
|
||
|
search: "search",
|
||
|
"search-result": "search result",
|
||
|
"no-user": "user not found",
|
||
|
"member-not-added": "member not added",
|
||
|
"input-phone-userID": "phone number or userID",
|
||
|
"not-login": "not logged in",
|
||
|
"login-status-expire": "login status is invalid, please refresh the page and try again",
|
||
|
"experience-multi-call": "experience multi-person calls, please download the full-featured demo: ",
|
||
|
"not-support-multi-call": "multi-person call interface is not open",
|
||
|
userID: "userID",
|
||
|
"already-enter": "entered the call",
|
||
|
"camera-opened": "Camera on",
|
||
|
"camera-closed": "Camera off",
|
||
|
"microphone-opened": "Mic on",
|
||
|
"microphone-closed": "Mic off",
|
||
|
timeout: "timeout",
|
||
|
"kick out": "kick out",
|
||
|
"image-resolution": "Resolution",
|
||
|
"default-image-resolution": "Default",
|
||
|
"invited-person": "Invite",
|
||
|
"be-rejected": "Call declined, ",
|
||
|
"be-no-response": "No response, ",
|
||
|
"be-line-busy": "Line busy, ",
|
||
|
"be-canceled": "The call is canceled, ",
|
||
|
"voice-call-end": "Voice call ended",
|
||
|
"video-call-end": "Video call ended",
|
||
|
"method-call-failed": "Failed to sync the operation",
|
||
|
"failed-to-obtain-permission": "Failed to obtain permissions",
|
||
|
"environment-detection-failed": "Failed to check the environment",
|
||
|
"switchToAudioCall-call-failed": "switch to audio call method failed",
|
||
|
"switchToVideoCall-call-failed": "switch to video call method failed",
|
||
|
"microphone-unavailable": "No mic found",
|
||
|
"camera-unavailable": "No camera found",
|
||
|
"ban-device": "Device access denied",
|
||
|
"not-supported-webrtc": "Your current environment does not support WebRTC",
|
||
|
"blacklist-user-tips": "The identifier is in blacklist. Failed to send this message!",
|
||
|
"is-already-calling": "TUICallKit is already on a call",
|
||
|
"need-init": "Before initiating a call with TUICallKit, ensure that the TUICallKitServer.init() method has executed successfully. ",
|
||
|
"can't call yourself": "Can't call yourself",
|
||
|
"Use-phone-and-computer": "Use your mobile phone and computer to experience video calls",
|
||
|
"Wechat scan right QR code": "Wechat scan right QR code",
|
||
|
"Scan the QR code above": "Scan the QR code above",
|
||
|
"accept-error": "Accept failed",
|
||
|
"accept-device-error": "Accept failed, unable to auth calling device",
|
||
|
"call-error": "Start call failed"
|
||
|
}, Yl = {
|
||
|
hangup: "\u6302\u65AD",
|
||
|
reject: "\u62D2\u7EDD",
|
||
|
accept: "\u63A5\u53D7",
|
||
|
camera: "\u6444\u50CF\u5934",
|
||
|
microphone: "\u9EA6\u514B\u98CE",
|
||
|
speaker: "\u626C\u58F0\u5668",
|
||
|
"open camera": "\u6253\u5F00\u6444\u50CF\u5934",
|
||
|
"close camera": "\u5173\u95ED\u6444\u50CF\u5934",
|
||
|
"open microphone": "\u6253\u5F00\u9EA6\u514B\u98CE",
|
||
|
"close microphone": "\u5173\u95ED\u9EA6\u514B\u98CE",
|
||
|
"video-to-audio": "\u8F6C\u8BED\u97F3\u901A\u8BDD",
|
||
|
"virtual-background": "\u6A21\u7CCA\u80CC\u666F",
|
||
|
"other side reject call": "\u5BF9\u65B9\u5DF2\u62D2\u7EDD",
|
||
|
"reject call": "\u62D2\u7EDD\u901A\u8BDD",
|
||
|
cancel: "\u53D6\u6D88\u901A\u8BDD",
|
||
|
"other side line busy": "\u5BF9\u65B9\u5FD9\u7EBF",
|
||
|
"in busy": "\u6B63\u5728\u5FD9",
|
||
|
"call timeout": "\u547C\u53EB\u8D85\u65F6",
|
||
|
"end call": "\u7ED3\u675F\u901A\u8BDD",
|
||
|
"caller calling message": "\u7B49\u5F85\u5BF9\u65B9\u63A5\u53D7\u9080\u8BF7",
|
||
|
"callee calling video message": "\u9080\u8BF7\u4F60\u89C6\u9891\u901A\u8BDD",
|
||
|
"callee calling audio message": "\u9080\u8BF7\u4F60\u8BED\u97F3\u901A\u8BDD",
|
||
|
"no microphone access": "\u6CA1\u6709\u9EA6\u514B\u98CE\u6743\u9650",
|
||
|
"no camera access": "\u6CA1\u6709\u6444\u50CF\u5934\u6743\u9650",
|
||
|
"invite member": "\u9080\u8BF7\u6210\u5458",
|
||
|
"Invited group call": "\u9080\u8BF7\u4F60\u52A0\u5165\u591A\u4EBA\u901A\u8BDD",
|
||
|
"Those involved": "\u53C2\u4E0E\u901A\u8BDD\u7684\u6709\uFF1A",
|
||
|
waiting: "\u7B49\u5F85\u63A5\u542C...",
|
||
|
me: "(\u6211)",
|
||
|
"browser-authorization": "\u6D4F\u89C8\u5668\u6388\u6743",
|
||
|
"mac-privacy": "\u7CFB\u7EDF\u504F\u597D\u8BBE\u7F6E -> \u5B89\u5168\u4E0E\u9690\u79C1 -> \u9690\u79C1",
|
||
|
"win-privacy": "\u8BBE\u7F6E -> \u9690\u79C1\u548C\u5B89\u5168\u6027 -> \u5E94\u7528\u6743\u9650",
|
||
|
"mac-preferences": "\u6253\u5F00\u7CFB\u7EDF\u504F\u597D\u8BBE\u7F6E",
|
||
|
"win-preferences": "\u6253\u5F00\u7CFB\u7EDF\u8BBE\u7F6E",
|
||
|
"Please enter userID": "\u8BF7\u8F93\u5165 userID",
|
||
|
"View more": "\u67E5\u770B\u66F4\u591A",
|
||
|
"people selected": "\u4EBA\u5DF2\u9009\u4E2D",
|
||
|
"Select all": "\u5168\u9009",
|
||
|
Cancel: "\u53D6\u6D88",
|
||
|
Done: "\u5B8C\u6210",
|
||
|
"exist group call": "\u5F53\u524D\u7FA4\u7EC4\u4E2D\u5DF2\u7ECF\u5B58\u5728\u7FA4\u7EC4\u901A\u8BDD",
|
||
|
"camera enabled": "\u6444\u50CF\u5934\u5DF2\u5F00",
|
||
|
"camera disabled": "\u6444\u50CF\u5934\u5DF2\u5173",
|
||
|
"microphone enabled": "\u9EA6\u514B\u98CE\u5DF2\u5F00",
|
||
|
"microphone disabled": "\u9EA6\u514B\u98CE\u5DF2\u5173",
|
||
|
"speaker enabled": "\u626C\u58F0\u5668\u5DF2\u5F00",
|
||
|
"speaker disabled": "\u626C\u58F0\u5668\u5DF2\u5173",
|
||
|
"open speaker": "\u5F00\u542F\u626C\u58F0\u5668",
|
||
|
"close speaker": "\u5173\u95ED\u626C\u58F0\u5668",
|
||
|
"wait to be called": "\u7B49\u5F85\u63A5\u542C",
|
||
|
answered: "\u5DF2\u63A5\u901A",
|
||
|
"people in the call": "\u4EBA\u53C2\u4E0E\u901A\u8BDD",
|
||
|
"failed to obtain speakers": "\u65E0\u6CD5\u83B7\u53D6\u626C\u58F0\u5668",
|
||
|
"you have a new call": "\u60A8\u6709\u4E00\u4E2A\u65B0\u7684\u901A\u8BDD",
|
||
|
"switch camera": "\u7FFB\u8F6C",
|
||
|
join: "\u52A0\u5165",
|
||
|
"people on the call": "\u4EBA\u6B63\u5728\u901A\u8BDD",
|
||
|
"Supports a maximum of 9 people for simultaneous calls": "\u6700\u591A\u652F\u63019\u4EBA\u540C\u65F6\u901A\u8BDD",
|
||
|
you: "(\u4F60)",
|
||
|
"The network is poor during your current call": "\u5F53\u524D\u901A\u8BDD\u4F60\u7684\u7F51\u7EDC\u4E0D\u4F73",
|
||
|
"The other user network is poor during the current call": "\u5F53\u524D\u901A\u8BDD\u5BF9\u65B9\u7F51\u7EDC\u4E0D\u4F73",
|
||
|
"TUICallKit init is not complete": "TUICallKit \u521D\u59CB\u5316\u767B\u5F55\u672A\u5B8C\u6210\uFF0C\u9700\u8981\u5728 init \u5B8C\u6210\u540E\u4F7F\u7528\u6B64 API",
|
||
|
"Video call": "\u53D1\u8D77\u89C6\u9891\u901A\u8BDD",
|
||
|
"Voice call": "\u53D1\u8D77\u8BED\u97F3\u901A\u8BDD",
|
||
|
"Call End": "\u901A\u8BDD\u7ED3\u675F",
|
||
|
"Switch voice call": "\u5207\u6362\u8BED\u97F3\u901A\u8BDD",
|
||
|
"Switch video call": "\u5207\u6362\u89C6\u9891\u901A\u8BDD",
|
||
|
"Call duration": "\u901A\u8BDD\u65F6\u957F",
|
||
|
"Call Cancel": "\u5DF2\u53D6\u6D88",
|
||
|
"Other Side Cancel": "\u5BF9\u65B9\u5DF2\u53D6\u6D88",
|
||
|
Decline: "\u5DF2\u62D2\u7EDD",
|
||
|
"Other Side Decline": "\u5BF9\u65B9\u5DF2\u62D2\u7EDD",
|
||
|
"No answer": "\u8D85\u65F6\u65E0\u5E94\u7B54",
|
||
|
"Other Side No Answer": "\u5BF9\u65B9\u65E0\u5E94\u7B54",
|
||
|
Answered: "\u5DF2\u63A5\u542C",
|
||
|
"Other Side Line Busy": "\u5BF9\u65B9\u5FD9\u7EBF\u4E2D",
|
||
|
"Line Busy": "\u5FD9\u7EBF\u65E0\u5E94\u7B54",
|
||
|
timeout: "\u8D85\u65F6",
|
||
|
"kick out": "\u88AB\u8E22",
|
||
|
call: "\u901A\u8BDD",
|
||
|
"video-call": "\u89C6\u9891\u901A\u8BDD",
|
||
|
"audio-call": "\u97F3\u9891\u901A\u8BDD",
|
||
|
search: "\u641C\u7D22",
|
||
|
"search-result": "\u641C\u7D22\u7ED3\u679C",
|
||
|
"Wechat scan right QR code": "\u5FAE\u4FE1\u626B\u53F3\u4E8C\u7EF4\u7801",
|
||
|
"Use-phone-and-computer": "\u7528\u624B\u673A\u4E0E\u7535\u8111\u4E92\u6253\u4F53\u9A8C\u89C6\u9891\u901A\u8BDD",
|
||
|
"Scan the QR code above": "\u626B\u63CF\u4E0A\u65B9\u4E8C\u7EF4\u7801",
|
||
|
"no-user": "\u672A\u641C\u7D22\u5230\u7528\u6237",
|
||
|
"member-not-added": "\u672A\u6DFB\u52A0\u6210\u5458",
|
||
|
"not-login": "\u672A\u767B\u5F55",
|
||
|
"login-status-expire": "\u767B\u5F55\u72B6\u6001\u5DF2\u5931\u6548\uFF0C\u8BF7\u5237\u65B0\u7F51\u9875\u91CD\u8BD5",
|
||
|
"experience-multi-call": "\u4F53\u9A8C\u591A\u4EBA\u901A\u8BDD\u8BF7\u4E0B\u8F7D\u5168\u529F\u80FDdemo:",
|
||
|
"not-support-multi-call": "\u591A\u4EBA\u901A\u8BDD\u63A5\u53E3\u672A\u5F00\u653E",
|
||
|
"input-phone-userID": "\u8BF7\u8F93\u5165\u624B\u673A\u53F7/\u7528\u6237ID",
|
||
|
userID: "\u7528\u6237ID",
|
||
|
"already-enter": "\u5DF2\u7ECF\u8FDB\u5165\u5F53\u524D\u901A\u8BDD",
|
||
|
"image-resolution": "\u5206\u8FA8\u7387",
|
||
|
"default-image-resolution": "\u9ED8\u8BA4\u5206\u8FA8\u7387",
|
||
|
"invited-person": "\u6DFB\u52A0\u6210\u5458",
|
||
|
"be-rejected": "\u5BF9\u65B9\u5DF2\u62D2\u7EDD\uFF0C",
|
||
|
"be-no-response": "\u5BF9\u65B9\u65E0\u5E94\u7B54\uFF0C",
|
||
|
"be-line-busy": "\u5BF9\u65B9\u5FD9\u7EBF\u4E2D\uFF0C",
|
||
|
"be-canceled": "\u5BF9\u65B9\u5DF2\u53D6\u6D88",
|
||
|
"voice-call-end": "\u8BED\u97F3\u901A\u8BDD\u7ED3\u675F",
|
||
|
"video-call-end": "\u89C6\u9891\u901A\u8BDD\u7ED3\u675F",
|
||
|
"method-call-failed": "\u540C\u6B65\u64CD\u4F5C\u5931\u8D25",
|
||
|
"failed-to-obtain-permission": "\u6743\u9650\u83B7\u53D6\u5931\u8D25",
|
||
|
"environment-detection-failed": "\u73AF\u5883\u68C0\u6D4B\u5931\u8D25",
|
||
|
"switchToAudioCall-call-failed": "\u5207\u8BED\u97F3\u8C03\u7528\u5931\u8D25",
|
||
|
"switchToVideoCall-call-failed": "\u5207\u89C6\u9891\u8C03\u7528\u5931\u8D25",
|
||
|
"microphone-unavailable": "\u6CA1\u6709\u53EF\u7528\u7684\u9EA6\u514B\u98CE\u8BBE\u5907",
|
||
|
"camera-unavailable": "\u6CA1\u6709\u53EF\u7528\u7684\u6444\u50CF\u5934\u8BBE\u5907",
|
||
|
"ban-device": "\u7528\u6237\u7981\u6B62\u4F7F\u7528\u8BBE\u5907",
|
||
|
"not-supported-webrtc": "\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301 WebRTC",
|
||
|
"blacklist-user-tips": "\u53D1\u8D77\u901A\u8BDD\u5931\u8D25\uFF0C\u88AB\u5BF9\u65B9\u62C9\u5165\u9ED1\u540D\u5355\uFF0C\u7981\u6B62\u53D1\u8D77\uFF01",
|
||
|
"is-already-calling": "TUICallKit \u5DF2\u5728\u901A\u8BDD\u72B6\u6001",
|
||
|
"need-init": "TUICallKit \u53D1\u8D77\u901A\u8BDD\u524D\u9700\u4FDD\u8BC1 TUICallKitServer.init() \u65B9\u6CD5\u6267\u884C\u6210\u529F",
|
||
|
"can't call yourself": "\u4E0D\u80FD\u547C\u53EB\u81EA\u5DF1",
|
||
|
"accept-error": "\u63A5\u901A\u5931\u8D25",
|
||
|
"accept-device-error": "\u63A5\u901A\u5931\u8D25\uFF0C\u901A\u8BDD\u8BBE\u5907\u83B7\u53D6\u5931\u8D25",
|
||
|
"call-error": "\u53D1\u8D77\u901A\u8BDD\u5931\u8D25"
|
||
|
}, Xl = {
|
||
|
hangup: "\u901A\u8A71\u7D42\u4E86",
|
||
|
reject: "\u62D2\u5426",
|
||
|
accept: "\u5FDC\u7B54",
|
||
|
camera: "\u30AB\u30E1\u30E9",
|
||
|
microphone: "\u30DE\u30A4\u30AF",
|
||
|
speaker: "\u30B9\u30D4\u30FC\u30AB\u30FC",
|
||
|
"virtual-background": "\u30DC\u30B1\u80CC\u666F",
|
||
|
"other side reject call": "\u901A\u8A71\u304C\u62D2\u5426\u3055\u308C\u307E\u3057\u305F",
|
||
|
"reject call": "\u901A\u8A71\u62D2\u5426",
|
||
|
cancel: "\u901A\u8A71\u3092\u30AD\u30E3\u30F3\u30BB\u30EB",
|
||
|
"other side line busy": "\u76F8\u624B\u304C\u901A\u8A71\u4E2D\u3067\u3059",
|
||
|
"in busy": "\u901A\u8A71\u4E2D",
|
||
|
"call timeout": "\u547C\u3073\u51FA\u3057\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8",
|
||
|
"end call": "\u901A\u8A71\u7D42\u4E86",
|
||
|
"caller calling message": "\u5FDC\u7B54\u3092\u5F85\u3063\u3066\u3044\u307E\u3059",
|
||
|
"callee calling video message": "\u30D3\u30C7\u30AA\u901A\u8A71\u306B\u62DB\u5F85\u3055\u308C\u307E\u3057\u305F",
|
||
|
"callee calling audio message": "\u97F3\u58F0\u901A\u8A71\u306B\u62DB\u5F85\u3055\u308C\u307E\u3057\u305F",
|
||
|
"no microphone access": "\u30DE\u30A4\u30AF\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093",
|
||
|
"no camera access": "\u30AB\u30E1\u30E9\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093",
|
||
|
"invite member": "\u30E1\u30F3\u30D0\u30FC\u3092\u62DB\u5F85\u3059\u308B",
|
||
|
"browser-authorization": "\u30D6\u30E9\u30A6\u30B6\u8A8D\u8A3C",
|
||
|
"mac-privacy": "\u30B7\u30B9\u30C6\u30E0\u74B0\u5883\u8A2D\u5B9A -> \u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u3068\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC ->\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC",
|
||
|
"win-privacy": "\u8A2D\u5B9A -> \u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u3068\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC ->\u30A2\u30D7\u30EA\u306E\u30A2\u30AF\u30BB\u30B9\u8A31\u53EF",
|
||
|
"mac-preferences": "\u30B7\u30B9\u30C6\u30E0\u74B0\u5883\u8A2D\u5B9A\u3092\u958B\u304F",
|
||
|
"win-preferences": "\u30B7\u30B9\u30C6\u30E0\u8A2D\u5B9A\u3092\u958B\u304F",
|
||
|
"Please enter userID": "\u30E6\u30FC\u30B6\u30FCID\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
||
|
"View more": "\u3082\u3063\u3068\u898B\u308B",
|
||
|
"people selected": "\u4EBA\u304C\u9078\u629E\u3055\u308C\u307E\u3057\u305F",
|
||
|
"Select all": "\u3059\u3079\u3066\u9078\u629E",
|
||
|
Cancel: "\u30AD\u30E3\u30F3\u30BB\u30EB",
|
||
|
Done: "\u5B8C\u4E86",
|
||
|
"exist group call": "\u73FE\u5728\u306E\u30B0\u30EB\u30FC\u30D7\u306B\u306F\u65E2\u306B\u30B0\u30EB\u30FC\u30D7\u901A\u8A71\u304C\u5B58\u5728\u3057\u3066\u3044\u307E\u3059",
|
||
|
"Video call": "\u30D3\u30C7\u30AA\u901A\u8A71\u3092\u958B\u59CB",
|
||
|
"Voice call": "\u97F3\u58F0\u901A\u8A71\u3092\u958B\u59CB",
|
||
|
"Call End": "\u901A\u8A71\u7D42\u4E86",
|
||
|
"Switch audio call": "\u97F3\u58F0\u901A\u8A71\u306B\u5207\u308A\u66FF\u3048\u308B",
|
||
|
"Switch video call": "\u30D3\u30C7\u30AA\u901A\u8A71\u306B\u5207\u308A\u66FF\u3048\u308B",
|
||
|
"Call duration": "\u901A\u8A71\u6642\u9593",
|
||
|
"Call Cancel": "\u901A\u8A71\u3092\u30AD\u30E3\u30F3\u30BB\u30EB\u3059\u308B",
|
||
|
"Other Side Cancel": "\u76F8\u624B\u304C\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u307E\u3057\u305F",
|
||
|
Decline: "\u901A\u8A71\u3092\u62D2\u5426\u3059\u308B",
|
||
|
"Other Side Decline": "\u76F8\u624B\u304C\u62D2\u5426\u3057\u307E\u3057\u305F",
|
||
|
"No answer": "\u7121\u5FDC\u7B54",
|
||
|
"Other Side No Answer": "\u76F8\u624B\u304B\u3089\u306E\u8FD4\u7B54\u306F\u3042\u308A\u307E\u305B\u3093",
|
||
|
Answered: "\u5FDC\u7B54\u3057\u307E\u3057\u305F",
|
||
|
"Other Side Line Busy": "\u76F8\u624B\u306F\u73FE\u5728\u5FD9\u3057\u304F\u3066\u5BFE\u5FDC\u3067\u304D\u307E\u305B\u3093",
|
||
|
"Line Busy": "\u5FD9\u3057\u3044\u306E\u3067\u5FDC\u7B54\u3067\u304D\u307E\u305B\u3093",
|
||
|
"open camera": "\u30AA\u30FC\u30D7\u30F3\u30AB\u30E1\u30E9",
|
||
|
"close camera": "\u30AB\u30E1\u30E9\u3092\u9589\u3058\u308B",
|
||
|
"open microphone": "\u30AA\u30FC\u30D7\u30F3\u30DE\u30A4\u30AF",
|
||
|
"close microphone": "\u30DE\u30A4\u30AF\u3092\u9589\u3058\u308B",
|
||
|
"camera enabled": "\u30AB\u30E1\u30E9\u30AA\u30F3",
|
||
|
"camera disabled": "\u30AB\u30E1\u30E9\u30AA\u30D5",
|
||
|
"microphone enabled": "\u30DE\u30A4\u30AF\u30AA\u30F3",
|
||
|
"microphone disabled": "\u30DE\u30A4\u30AF\u30AA\u30D5",
|
||
|
"speaker enabled": "\u30B9\u30D4\u30FC\u30AB\u30FC\u30AA\u30F3",
|
||
|
"speaker disabled": "\u30B9\u30D4\u30FC\u30AB\u30FC\u30AA\u30D5",
|
||
|
"open speaker": "\u30B9\u30D4\u30FC\u30AB\u30FC\u3092\u30AA\u30F3\u306B\u3059\u308B",
|
||
|
"close speaker": "\u30B9\u30D4\u30FC\u30AB\u30FC\u306E\u96FB\u6E90\u3092\u5207\u308A\u307E\u3059",
|
||
|
"wait to be called": "\u5F85\u6A5F\u4E2D",
|
||
|
answered: "\u63A5\u7D9A\u6E08\u307F",
|
||
|
"people in the call": "\u901A\u8A71\u306B\u53C2\u52A0\u3057\u3066\u3044\u308B\u4EBA\u305F\u3061",
|
||
|
"failed to obtain speakers": "\u30B9\u30D4\u30FC\u30AB\u30FC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",
|
||
|
"you have a new call": "\u65B0\u3057\u3044\u901A\u8A71\u304C\u3042\u308A\u307E\u3059",
|
||
|
"switch camera": "\u5207\u308A\u66FF\u3048",
|
||
|
join: "\u53C2\u52A0\u3059\u308B",
|
||
|
"people on the call": "\u4EBA\u304C\u901A\u8A71\u4E2D\u3067\u3059",
|
||
|
"Supports a maximum of 9 people for simultaneous calls": "\u6700\u5927\u30679\u4EBA\u307E\u3067\u540C\u6642\u901A\u8A71\u304C\u53EF\u80FD\u3067\u3059",
|
||
|
you: "(\u3042\u306A\u305F)",
|
||
|
"The network is poor during your current call": "\u73FE\u5728\u306E\u901A\u8A71\u3067\u3001\u3042\u306A\u305F\u306E\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306F\u4E0D\u826F\u3067\u3059",
|
||
|
"The other user network is poor during the current call": "\u73FE\u5728\u306E\u901A\u8A71\u3067\u3001\u76F8\u624B\u5074\u306E\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u304C\u4E0D\u826F\u3067\u3059",
|
||
|
"TUICallKit init is not complete": "TUICallKit\u306E\u521D\u671F\u5316\u30ED\u30B0\u30A4\u30F3\u304C\u5B8C\u4E86\u3057\u3066\u3044\u307E\u305B\u3093\u3002init \u304C\u5B8C\u4E86\u3057\u305F\u5F8C\u306B\u3053\u306EAPI\u3092\u4F7F\u7528\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002",
|
||
|
timeout: "\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8",
|
||
|
"kick out": "\u30AD\u30C3\u30AF\u30A2\u30A6\u30C8\u3055\u308C\u307E\u3057\u305F",
|
||
|
"Invited group call": "\u30B0\u30EB\u30FC\u30D7\u901A\u8A71\u306B\u62DB\u5F85\u3055\u308C\u307E\u3057\u305F\u3002",
|
||
|
"Those involved": "\u53C2\u52A0\u8005\uFF1A",
|
||
|
call: "\u901A\u8A71",
|
||
|
"video-call": "\u30D3\u30C7\u30AA\u901A\u8A71",
|
||
|
"audio-call": "\u97F3\u58F0\u901A\u8A71",
|
||
|
search: "\u691C\u7D22",
|
||
|
"search-result": "\u691C\u7D22\u7D50\u679C",
|
||
|
"Wechat scan right QR code": "WeChat\u3067\u53F3\u5074\u306B\u3042\u308BQR\u30B3\u30FC\u30C9\u3092\u8AAD\u307F\u53D6\u308A\u307E\u3059\u3002",
|
||
|
"Use-phone-and-computer": "\u643A\u5E2F\u96FB\u8A71\u3068\u30B3\u30F3\u30D4\u30E5\u30FC\u30BF\u3092\u4F7F\u7528\u3057\u3066\u30D3\u30C7\u30AA\u901A\u8A71\u3092\u4F53\u9A13\u3057\u3066\u304F\u3060\u3055\u3044",
|
||
|
"Scan the QR code above": "\u4E0A\u306EQR\u30B3\u30FC\u30C9\u3092\u8AAD\u307F\u53D6\u308A\u307E\u3059\u3002",
|
||
|
"no-user": "\u30E6\u30FC\u30B6\u30FC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F",
|
||
|
"member-not-added": "\u30E1\u30F3\u30D0\u30FC\u304C\u8FFD\u52A0\u3055\u308C\u3066\u3044\u307E\u305B\u3093",
|
||
|
"not-login": "\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u3044\u307E\u305B\u3093",
|
||
|
"login-status-expire": "\u30ED\u30B0\u30A4\u30F3\u306E\u6709\u52B9\u671F\u9650\u304C\u904E\u304E\u3066\u3044\u307E\u3059\u3002\u30DA\u30FC\u30B8\u3092\u66F4\u65B0\u3057\u3066\u3082\u3046\u4E00\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044",
|
||
|
"experience-multi-call": "\u8907\u6570\u4EBA\u3067\u540C\u6642\u306B\u97F3\u58F0\u901A\u8A71\u3067\u304D\u308B\u30B0\u30EB\u30FC\u30D7\u901A\u8A71\u6A5F\u80FD\u3092\u4F53\u9A13\u3059\u308B\u306B\u306F\u3001\u5168\u6A5F\u80FD\u306E\u30C7\u30E2\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044",
|
||
|
"not-support-multi-call": "\u30B0\u30EB\u30FC\u30D7\u901A\u8A71\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9\u304C\u958B\u3044\u3066\u3044\u307E\u305B\u3093",
|
||
|
"input-phone-userID": "\u643A\u5E2F\u96FB\u8A71\u756A\u53F7/\u30E6\u30FC\u30B6\u30FCID\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",
|
||
|
userID: "\u30E6\u30FC\u30B6\u30FCID",
|
||
|
"already-enter": "\u3059\u3067\u306B\u901A\u8A71\u306B\u53C2\u52A0\u3057\u3066\u3044\u307E\u3059",
|
||
|
waiting: "\u5FDC\u7B54\u3092\u5F85\u3063\u3066\u3044\u307E\u3059...",
|
||
|
"camera-opened": "\u30AB\u30E1\u30E9\u304C\u30AA\u30F3\u306B\u306A\u3063\u3066\u3044\u307E\u3059",
|
||
|
"camera-closed": "\u30AB\u30E1\u30E9\u304C\u30AA\u30D5\u306B\u306A\u3063\u3066\u3044\u307E\u3059",
|
||
|
"microphone-opened": "\u30DE\u30A4\u30AF\u304C\u30AA\u30F3\u306B\u306A\u3063\u3066\u3044\u307E\u3059",
|
||
|
"microphone-closed": "\u30DE\u30A4\u30AF\u304C\u30AA\u30D5\u306B\u306A\u3063\u3066\u3044\u307E\u3059",
|
||
|
"image-resolution": "\u89E3\u50CF\u5EA6",
|
||
|
"default-image-resolution": "\u30C7\u30D5\u30A9\u30EB\u30C8\u89E3\u50CF\u5EA6",
|
||
|
"invited-person": "\u30E1\u30F3\u30D0\u30FC\u3092\u62DB\u5F85",
|
||
|
"video-to-audio": "\u97F3\u58F0\u901A\u8A71\u306B\u5207\u308A\u66FF\u3048\u307E\u3059",
|
||
|
me: "(\u81EA\u5206)",
|
||
|
"be-rejected": "\u901A\u8A71\u304C\u62D2\u5426\u3055\u308C\u307E\u3057\u305F, ",
|
||
|
"be-no-response": "\u5FDC\u7B54\u306A\u3057, ",
|
||
|
"be-line-busy": "\u76F8\u624B\u304C\u901A\u8A71\u4E2D\u3067\u3059, ",
|
||
|
"be-canceled": "\u76F8\u624B\u304C\u901A\u8A71\u3092\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u307E\u3057\u305F",
|
||
|
"voice-call-end": "\u97F3\u58F0\u901A\u8A71\u304C\u7D42\u4E86\u3057\u307E\u3057\u305F",
|
||
|
"video-call-end": "\u30D3\u30C7\u30AA\u901A\u8A71\u304C\u7D42\u4E86\u3057\u307E\u3057\u305F",
|
||
|
"method-call-failed": "\u64CD\u4F5C\u306E\u540C\u671F\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
||
|
"failed-to-obtain-permission": "\u6A29\u9650\u306E\u53D6\u5F97\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
||
|
"environment-detection-failed": "\u74B0\u5883\u306E\u691C\u51FA\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
||
|
"switchToAudioCall-call-failed": "\u97F3\u58F0\u901A\u8A71\u306B\u5207\u308A\u66FF\u3048\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093",
|
||
|
"switchToVideoCall-call-failed": "\u30D3\u30C7\u30AA\u901A\u8A71\u306B\u5207\u308A\u66FF\u3048\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093",
|
||
|
"microphone-unavailable": "\u4F7F\u7528\u3067\u304D\u308B\u30DE\u30A4\u30AF\u304C\u3042\u308A\u307E\u305B\u3093",
|
||
|
"camera-unavailable": "\u4F7F\u7528\u3067\u304D\u308B\u30AB\u30E1\u30E9\u304C\u3042\u308A\u307E\u305B\u3093",
|
||
|
"ban-device": "\u30C7\u30D0\u30A4\u30B9\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u304C\u62D2\u5426\u3055\u308C\u307E\u3057\u305F",
|
||
|
"not-supported-webrtc": "\u73FE\u5728\u306E\u74B0\u5883\u306FWebRTC\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093",
|
||
|
"blacklist-user-tips": "\u30E6\u30FC\u30B6\u30FC\u306F\u30D6\u30E9\u30C3\u30AF\u30EA\u30B9\u30C8\u306B\u767B\u9332\u3055\u308C\u3001\u901A\u8A71\u304C\u958B\u59CB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F",
|
||
|
"is-already-calling": "TUICallKit \u306F\u3059\u3067\u306B\u901A\u8A71\u4E2D\u3067\u3059",
|
||
|
"need-init": "TUICallKit\u3067\u901A\u8A71\u3092\u958B\u59CB\u3059\u308B\u524D\u306B\u3001TUICallKitServer.init() \u30E1\u30BD\u30C3\u30C9\u304C\u6B63\u5E38\u306B\u5B9F\u884C\u3055\u308C\u305F\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
||
|
"can't call yourself": "\u81EA\u5206\u306B\u96FB\u8A71\u3092\u304B\u3051\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093",
|
||
|
"accept-error": "\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F",
|
||
|
"accept-device-error": "\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u767A\u4FE1\u5074\u30C7\u30D0\u30A4\u30B9\u3092\u8A8D\u8A3C\u3067\u304D\u307E\u305B\u3093",
|
||
|
"call-error": "\u901A\u8A71\u304C\u958B\u59CB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F"
|
||
|
}, sA = {
|
||
|
OTHER_SIDE: "other side",
|
||
|
CANCEL: "cancel",
|
||
|
OTHER_SIDE_REJECT_CALL: "other side reject call",
|
||
|
REJECT_CALL: "reject call",
|
||
|
OTHER_SIDE_LINE_BUSY: "other side line busy",
|
||
|
IN_BUSY: "in busy",
|
||
|
CALL_TIMEOUT: "call timeout",
|
||
|
END_CALL: "end call",
|
||
|
TIMEOUT: "timeout",
|
||
|
KICK_OUT: "kick out",
|
||
|
CALLER_CALLING_MSG: "caller calling message",
|
||
|
CALLER_GROUP_CALLING_MSG: "wait to be called",
|
||
|
CALLEE_CALLING_VIDEO_MSG: "callee calling video message",
|
||
|
CALLEE_CALLING_AUDIO_MSG: "callee calling audio message",
|
||
|
NO_MICROPHONE_DEVICE_PERMISSION: "no microphone access",
|
||
|
NO_CAMERA_DEVICE_PERMISSION: "no camera access",
|
||
|
EXIST_GROUP_CALL: "exist group call",
|
||
|
LOCAL_NETWORK_IS_POOR: "The network is poor during your current call",
|
||
|
REMOTE_NETWORK_IS_POOR: "The other user network is poor during the current call"
|
||
|
}, fa = {
|
||
|
en: Zl,
|
||
|
"zh-cn": Yl,
|
||
|
ja_JP: Xl
|
||
|
};
|
||
|
function v(A) {
|
||
|
var a;
|
||
|
const t = d.getData(c.CALL, o.LANGUAGE);
|
||
|
for (const n in fa)
|
||
|
if (n === t) {
|
||
|
const l = fa[n];
|
||
|
for (const i in l)
|
||
|
if (i === A)
|
||
|
return l[i];
|
||
|
}
|
||
|
const e = (a = A.en) == null ? void 0 : a.key;
|
||
|
return console.error(`${o.PREFIX}translation is not found: ${A}.`), e;
|
||
|
}
|
||
|
const at = typeof wx < "u" && typeof wx.getSystemInfoSync == "function" && Boolean(wx.getSystemInfoSync().fontSizeSetting), so = typeof uni < "u" && typeof uni > "u", La = at || so, uo = typeof uni < "u", co = function() {
|
||
|
return (typeof uni < "u" || typeof window < "u") && !La;
|
||
|
}(), _l = function() {
|
||
|
return at ? wx : uo ? uni : window;
|
||
|
}(), wA = co && window && window.navigator && window.navigator.userAgent || "", ql = /Android/i.test(wA), Jl = /(?:Windows Phone)/.test(wA), Hl = /(?:SymbianOS)/.test(wA), Kl = /iPad/i.test(wA) || /iPhone/i.test(wA) || /iPod/i.test(wA), ro = ql || Jl || Hl || Kl, qt = co && !ro, $l = qt && wA.includes("Windows NT"), Ai = qt && wA.includes("Mac");
|
||
|
class kA {
|
||
|
constructor() {
|
||
|
this.global = _l, this.isPC = !1, this.isH5 = !1, this.isWeChat = !1, this.isApp = !1, this.isUniPlatform = !1, this.isOfficial = !1, this.isWIN = !1, this.isMAC = !1, this.initEnv();
|
||
|
}
|
||
|
static getInstance() {
|
||
|
return kA.instance || (kA.instance = new kA()), kA.instance;
|
||
|
}
|
||
|
initEnv() {
|
||
|
this.isPC = qt, this.isH5 = ro, this.isWeChat = at, this.isApp = so && !at, this.isUniPlatform = uo, this.isWIN = $l, this.isMAC = Ai;
|
||
|
}
|
||
|
initOfficial(t) {
|
||
|
this.isOfficial = t === 1400187352 || t === 1400188366;
|
||
|
}
|
||
|
}
|
||
|
const Et = function(A) {
|
||
|
return typeof A === o.UNDEFINED;
|
||
|
}, Mo = function(A) {
|
||
|
if (typeof A !== o.OBJECT || A === null)
|
||
|
return !1;
|
||
|
const t = Object.getPrototypeOf(A);
|
||
|
if (t === null)
|
||
|
return !0;
|
||
|
let e = t;
|
||
|
for (; Object.getPrototypeOf(e) !== null; )
|
||
|
e = Object.getPrototypeOf(e);
|
||
|
return t === e;
|
||
|
}, Io = function(A) {
|
||
|
return typeof Array.isArray === o.FUNCTION ? Array.isArray(A) : Object.prototype.toString.call(A).match(/^\[object (.*)\]$/)[1].toLowerCase() === o.ARRAY;
|
||
|
}, Pt = function(A) {
|
||
|
return typeof A === o.STRING;
|
||
|
}, ei = function(A) {
|
||
|
return typeof A === o.BOOLEAN;
|
||
|
}, go = function(A) {
|
||
|
return A !== null && (typeof A === o.NUMBER && !isNaN(A - 0) || typeof A === o.OBJECT && A.constructor === Number);
|
||
|
};
|
||
|
function No(A) {
|
||
|
const t = Math.floor(A / 3600), e = Math.floor(A % 3600 / 60), a = Math.floor(A % 60);
|
||
|
let n = t > 9 ? `${t}` : `0${t}`;
|
||
|
return n += e > 9 ? `:${e}` : `:0${e}`, n += a > 9 ? `:${a}` : `:0${a}`, n;
|
||
|
}
|
||
|
function ti(A) {
|
||
|
if (typeof A === o.STRING)
|
||
|
try {
|
||
|
return !!JSON.parse(A);
|
||
|
} catch (t) {
|
||
|
return console.debug(t), !1;
|
||
|
}
|
||
|
return !1;
|
||
|
}
|
||
|
const Xe = function(A) {
|
||
|
return !A || !ti(A) ? A : JSON.parse(A);
|
||
|
};
|
||
|
function Ua(A) {
|
||
|
return (A == null ? void 0 : A.message.indexOf("is ongoing, please avoid repeated calls")) !== -1;
|
||
|
}
|
||
|
function ai(A) {
|
||
|
const { message: t } = A;
|
||
|
return t.indexOf("NotAllowedError: Permission denied") !== -1;
|
||
|
}
|
||
|
function Ot() {
|
||
|
return Date.now();
|
||
|
}
|
||
|
const $e = function(A) {
|
||
|
return typeof A === o.FUNCTION;
|
||
|
}, ni = () => {
|
||
|
if (kA.getInstance().isWeChat)
|
||
|
return "zh-cn";
|
||
|
const A = ((navigator == null ? void 0 : navigator.language) || (navigator == null ? void 0 : navigator.userLanguage) || "").substr(0, 2);
|
||
|
let t = "en";
|
||
|
switch (A) {
|
||
|
case "zh":
|
||
|
t = "zh-cn";
|
||
|
break;
|
||
|
case "ja":
|
||
|
t = "ja_JP";
|
||
|
break;
|
||
|
default:
|
||
|
t = "en";
|
||
|
}
|
||
|
return t;
|
||
|
}, oi = function(A) {
|
||
|
return Object.prototype.toString.call(A).match(/^\[object (.*)\]$/)[1].toLowerCase();
|
||
|
};
|
||
|
function li(A, t, e) {
|
||
|
if (!A.hasOwnProperty(t))
|
||
|
return A;
|
||
|
const a = {};
|
||
|
return Object.keys(A).forEach((n) => {
|
||
|
n === t ? a[e] = A[n] : a[n] = A[n];
|
||
|
}), a;
|
||
|
}
|
||
|
const ii = "data:audio/mpeg;base64,SUQzAwAAAAAAGFRYWFgAAAAOAAAAVFhYWABpc29taXNvMv/zNGQAAqwAvnihCAADQAF4CUAQAFYAg3Lh8u+XUD5///wx//wQOAhKAgb/////xOoH4g8Hz4Pq8RoAbdTgMsMt9hcb990EP//zNGQQBPDjEgDItAAFWcIoAYoQAN9P/03QQ//umn//91SXL5uXP+pf8WYTvzgJPAQ+p/7f///1//6f///WH///F4BtJhNFkP/zNGQGA/jjNADHiAAEQDJcAYkQAGWrn6vw6ljfPtj/////////9Pv9sL/mL/QezSepgwrimv07//////y3u602OiyhOYb+LP/zNGQIBKTBKADoCACDoCZMAckAAKHKCUIAFsqGZXtSZ/////////Sn/Vy3nVUOJBqSX2UAkQxBddzv//////yq3lcgaTmTQ//zNGQHA9SrJgA8AliD4C5IAApYAKh3FKlMunKHm8H/2//77vkdqB2xfsXaHiDKBGtFKqONF3/////Z9VXClT5ND+syHkjBq//zNGQLBITJIAA8AmQEiDI4AAjSAGa1Vffm3ff/1/0//11tvZpAaIw3dBiIrjJgHQrGVWmdBU1f/////oDqEKrV1OpBUTjQtv/zNGQHAsjDKAAwAl4D0Co8AAmCBHIQNtld6fm0+/VigZzuMnGZlkAMLMJFv/////33UIWeFQkKsaceBsangecHzYXKI//////zNGQUA4QjKAA3CAID8CpEABMCBPfuStx4FQVHYMgKcO6jIJh//////9uIlspQkGQ2YyZscAV83Bv/////ncL6BEiWHyA2K//zNEQbAogfJgAx5hAEwDJcCAsEBtICgF3/////WJaIuuqMCCVGucgkrtwiwBO//////pW4YFRWQhaRRhZZnVwGhf////+ocv/zNEQmApgVJAANjwAFkC5YCApeAolD4kQb+EQJYNKwLWGmc6sqMBwJvf////6tDEOWDgFJk1VywKMGoM2f////+N1JmgJuPv/zNGQuA4AbJAAl5hIDwC48AAIGBEho7wTL5b6kSO7IUAA5uDABYNNjGDBSJEN//////xtQsszVy27IcWBbQkLgzv7YmZYW///zNGQ2AqzFNAgcA1+D8CZIAAhMAP/3/rozCAsBjIqCY/DBWMfQZp1f/////0F6phXSNisgAJjo6icT2vpvM/Vf9v///97eu//zNGRDA4gdJgBhghIDwCZAABGMAFVWERbCdaMYNCKs///2f//QMOBhFBEL+ykPDBIJgp1sjvOMAd/////1OEsNl3MST2Q0Yf/zNGRKA2DJKAAsBWYD8Co8AAmEBLDHj+M/IhcksnAgg6G+qLIYz5etEeeW8HZsorBzgkAa1AWMPfu/////LaYPuAABp7iKXP/zNGRSA3glKgQJ6QACOCZMAAmGAYUAPF9exl35wz/9DIK2KUmQgYlTwgEEWkm3f////6IVoMJPBkKdWoQnDLurGiesVhdx6f/zNGRgAqizNAQsA20D4B5QAAmEAP/+vjlaZ1RwqBVMJYhaM4sYnFlVf/////6qAEghRzo0nRKQQRlI/EAPkCE6srVAiTUt/f/zNGRuAwCzQMwkAmwDsCpUAAmEAD3e5qf+yS5UwJFzQ145RxpgyI1QrkYnFjlaFdmklTcdAYL/rpcl7an3N18alNr+8+Tjqf/zNGR6BAjHKgQ8AmoDUDZUAADGBHMxO4R8koQnxNohhQoHS/XVF40p6jdPQ7qEIfuLKpUDOmf////2TGDwwTzkh0sePBMWCv/zNGR/BGwnMDxhhhIDyEJQAHpMISk//////0K1gsLiN1WF6ShLE4o14ccxglb//9P/4q5FQOpJkMGwZxhY7oDQW//////sWv/zNGR/A8zBKgRkA22CsC5QABvEAaoDMZE4OYXHboRqlgfr85KzbMjSIgKRUEILJNuHBYDoH//////qgPyBJdUEsYVyTSAteP/zNGSIAzQjLAQ9gxIDwDZMAAmKBLmvo0L///b/2iiK48qOD4gBjCxhQ7AbaCjzm/////+utNUXkYSLUD1SBQS8MECruBT57f/zNGSSA6AhJgAl5gQD0DZIABDGBN5qjnO4MkB4hZ7dh4ffb/////8g+xYWYFUYeDYyhC18k+tOcH4z9f9slvls1HAAcxB95//zNGSYAri9MAgwA16D0CJIADpGANGJmAqH6X//////V13vmwnBdjKbx6RrmMrau4F7wPrWv/p//76f+k81B8eKBCgyNya5jf/zNGSmA9AjJAA97AID6DZEACjEBIYDAEG3//////y7mAIq1aOwiF0rtiCEZJNHhm85SBFNJn63f//b8hnQytnEhqioQHLMDP/zNGSqAwy/KgQ8Al6DoCpAAApCBK3qJ6KDBVDgKb/////8c2bq7lAgjFKFNzoDGD2f6DnQpO1rBdGPZq/////t/X/jKy3bUv/zNGS2A2DBKAQ8A2yDqC5EAAMGBBNFy1AzuLARQspDWGjQiDQGf//6avV6pGJBLsfDuI/14WvXP9v///T7IkQkctXkHygJAf/zNGS/BIzLJgA8B2YD4CJQAAhKAHBkdgIRgDqoaE/////9QxgQTKqB+vY/RzDLHYYoY0Y0Xj30gb+zdF///5/2R//z9La1HP/zNGS+BMTHIAAwBWaDyCZAAAhMAD9/SSaHQTkQS2EGSh02NjgJZbYoOt//9yv/8/SlAVEdCjJAdiSKMLieMEgRojWdrsPvhP/zNGS7BUzJHgBh4hYC+CZAAAGMAJbWjunv1dnJf7va5R0APyBgh0RKxyBAj////7E+vUryN6fWmQZjSKkWZIC6sb+aU/Ohk//zNES3A1y5IgA8AliF6DpIABMGBJf//8ZkvsiuL/fvOBkwbBoLBjMY+qgy8Irx3Co4gCeyz//7v/8vftKVDjBg3fp8qFcj1f/zNGS3BOTJIgA8KF4FoD40ABJMBIl0NQ+MxtVQRi20lr36O0rSbvflAUFCIUaRQdNtE5j+LeXB7TUNPFjP/+hav/2LjkHX4//zNGSsBDglJDg95iAD6CZAAAiMAFUAkEkY1LkZoHjlPbtusbU/vCkLlJ480wHkKcof9//UhWSZfAmf5ovuC6XqRor/2dmBIv/zNGStBaTDGgA8I1yD0DI4AADEBAALgw4c8ByDxLPorWktBluaGYNjx0HnzMPFj///95hxUHn/4eQcxif/+Pk0BwAsZ+nw+v/zNGSjBSAdIDiniAAFECo0AUYQANZQWuOefHOA9WA39Khw2NjPM0C+khp7n//////vN2P87mF5r2c6F607H8ZeEyB6CZZV7P/zNGSYB6C9NGTMNAAJ6XZUAY04AIg84IPMLROUTmsw/7hJxOjVupv+kI+3/30oWQecIbC042klckMcsgOSKovRrkbhKj0HUf/zNGRmB5i7VADpmAAFCDqUKc0QAOKmnvZmHi4Ye/VFxY8eaKC2EntAYFAHH4AoHK/UjViBLV//63AJjdI0XtwGkifICyqmi//zNGRIBSw7btwFgyMD6ALqWAhETu2ZOWicEhAiswV/hPFBGEqauoaRW3V54HwcFxIkk6KAAcADyHB0AIv/9dYcMzfqHQ111v/zNGRCBcxXZSwV4yID0Iq6YAGEQckgAG2n4fkUQuw23aCbLDMdqFwtlXh63MmhYuoS17LCLjXNAUUAfACgdZy78phH///11f/zNGQ3BOQxfywBJgcDwALuWAAEAmgxd7v9LaPcBg1L81hTvD0CHIluDY0XFot+LevrYw7WIAQBcKdMOj136pAOA48FlaCiKP/zNGQzA/wdi3wgJhED2DKmQABUAFsyYl7gxBmYOtXykChn+aEhu72l/8Ysza/SIQAB6KABLXByn9drV1/Q3Z+v+1to0Exr8//zNGQ2A5wvYMQLAiADwDKyWABOAOAYUtUAgZPn19TSzma6m/p90nQUCACboP6YFq/o98Z4CSkYi23WySBvXAHAVZ1SRY5U1//zNGQ9A8AbiywIJhEDgIq9wBAGacvvqgOV6a1LfZXW/iMWDACgS2qwzv9VuB2ttwgg0C3bhahyHlma
|
||
|
class si {
|
||
|
constructor() {
|
||
|
this._bellContext = null, this._isMuteBell = !1, this._calleeBellFilePath = za, this._callRole = K.UNKNOWN, this._callStatus = U.IDLE, this._bellContext = new Audio(), this._bellContext.loop = !0;
|
||
|
}
|
||
|
setBellSrc() {
|
||
|
try {
|
||
|
let t = ii;
|
||
|
this._callRole === K.CALLEE && (t = this._calleeBellFilePath || za), this._bellContext.src = t;
|
||
|
} catch (t) {
|
||
|
console.warn(`${o.PREFIX}Failed to setBellSrc, ${t}`);
|
||
|
}
|
||
|
}
|
||
|
setBellProperties(t) {
|
||
|
this._callRole = t.callRole || this._callRole, this._callStatus = t.callStatus || this._callStatus, this._calleeBellFilePath = t.calleeBellFilePath || this._calleeBellFilePath, this._isMuteBell = Et(t.isMuteBell) ? this._isMuteBell : t.isMuteBell;
|
||
|
}
|
||
|
async play() {
|
||
|
try {
|
||
|
if (this._callStatus !== U.CALLING)
|
||
|
return;
|
||
|
this.setBellSrc(), this._callRole === K.CALLEE && !this._isMuteBell && await this._bellContext.play(), this._callRole === K.CALLER && await this._bellContext.play();
|
||
|
} catch (t) {
|
||
|
console.warn(`${o.PREFIX}Failed to play audio file, ${t}`);
|
||
|
}
|
||
|
}
|
||
|
async stop() {
|
||
|
try {
|
||
|
await this._bellContext.pause();
|
||
|
} catch (t) {
|
||
|
console.warn(`${o.PREFIX}Failed to stop audio file, ${t}`);
|
||
|
}
|
||
|
}
|
||
|
async setBellMute(t) {
|
||
|
this._callStatus !== U.CALLING && this._callRole !== K.CALLEE || (t ? await this.stop() : await this.play());
|
||
|
}
|
||
|
destroy() {
|
||
|
try {
|
||
|
this._isMuteBell = !1, this._calleeBellFilePath = "", this._callRole = K.UNKNOWN, this._callStatus = U.IDLE, this._bellContext.pause(), this._bellContext = null;
|
||
|
} catch (t) {
|
||
|
console.warn(`${o.PREFIX}Failed to destroy, ${t}`);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
function $() {
|
||
|
return function(A, t, e) {
|
||
|
const a = e.value, n = /* @__PURE__ */ new Set();
|
||
|
return e.value = async function(...l) {
|
||
|
var i, u;
|
||
|
if (n.has(this)) {
|
||
|
console.warn(`${o.PREFIX}previous ${t}() is ongoing, please avoid repeated calls`), (u = (i = this == null ? void 0 : this.getTUICallEngineInstance()) == null ? void 0 : i.reportLog) == null || u.call(i, {
|
||
|
name: "TUICallKit.avoidRepeatedCall.fail",
|
||
|
data: { name: t },
|
||
|
error: `previous ${t}() is ongoing`
|
||
|
});
|
||
|
return;
|
||
|
}
|
||
|
try {
|
||
|
n.add(this);
|
||
|
const s = await a.apply(this, l);
|
||
|
return n.delete(this), s;
|
||
|
} catch (s) {
|
||
|
throw n.delete(this), s;
|
||
|
}
|
||
|
}, e;
|
||
|
};
|
||
|
}
|
||
|
const KA = o.PREFIX + "API";
|
||
|
function cA(A) {
|
||
|
return function(t, e, a) {
|
||
|
let n = a.value;
|
||
|
return a.value = function(...l) {
|
||
|
return ui.call(this, A, l, e), n.apply(this, l);
|
||
|
}, a;
|
||
|
};
|
||
|
}
|
||
|
function ui(A, t, e) {
|
||
|
try {
|
||
|
if (t[0].SDKAppID || (A = li(A, "SDKAppID", "sdkAppID")), Io(A))
|
||
|
for (let a = 0; a < A.length; a++)
|
||
|
wa.call(this, {
|
||
|
...A[a],
|
||
|
value: t[a],
|
||
|
name: e
|
||
|
});
|
||
|
else
|
||
|
for (const a in A)
|
||
|
A.hasOwnProperty(a) && wa.call(this, {
|
||
|
...A[a],
|
||
|
value: t[0][a],
|
||
|
name: e,
|
||
|
key: a
|
||
|
});
|
||
|
} catch (a) {
|
||
|
throw console.error(a), a;
|
||
|
}
|
||
|
}
|
||
|
function wa({ required: A, rules: t, range: e, value: a, allowEmpty: n, name: l, key: i }) {
|
||
|
if (Et(a)) {
|
||
|
if (A)
|
||
|
throw new Error(`${KA}<${l}>: ${i} is required.`);
|
||
|
return;
|
||
|
}
|
||
|
const u = t.some((r) => r === oi(a));
|
||
|
let s = "";
|
||
|
if (!u) {
|
||
|
for (let r = 0; r < t.length; r++) {
|
||
|
let M = t[r];
|
||
|
M = M.replace(M[0], M[0].toUpperCase()), s += `${M}/`;
|
||
|
}
|
||
|
throw s = s.substring(0, s.length - 1), new Error(`${KA}<${l}>: ${i} must be ${s}, current ${i} is ${typeof a}.`);
|
||
|
}
|
||
|
if (n === !1 && Pt(a) && a.trim() === "")
|
||
|
throw new Error(`${KA}<${l}>: ${i} is blank.`);
|
||
|
if (Io(e) && e && e.indexOf(a) === -1)
|
||
|
throw new Error(`${KA}<${l}>: ${i} error, only be ${e}, current ${i} is ${a}.`);
|
||
|
if (Pt(e) && e.indexOf("~") !== -1) {
|
||
|
const r = e.split("~");
|
||
|
if (a < +r[0] || a > +r[1] || go(a) && Number.isNaN(a))
|
||
|
throw new Error(`${KA}<${l}>: ${i} error, only be ${e}, current ${i} is ${a}.`);
|
||
|
}
|
||
|
}
|
||
|
const rA = {
|
||
|
init: {
|
||
|
SDKAppID: {
|
||
|
required: !0,
|
||
|
rules: [o.NUMBER],
|
||
|
allowEmpty: !1
|
||
|
},
|
||
|
userID: {
|
||
|
required: !0,
|
||
|
rules: [o.STRING],
|
||
|
allowEmpty: !1
|
||
|
},
|
||
|
userSig: {
|
||
|
required: !0,
|
||
|
rules: [o.STRING],
|
||
|
allowEmpty: !1
|
||
|
},
|
||
|
tim: {
|
||
|
required: !1,
|
||
|
rules: [o.OBJECT]
|
||
|
}
|
||
|
},
|
||
|
call: {
|
||
|
userID: {
|
||
|
required: !0,
|
||
|
rules: [o.STRING],
|
||
|
allowEmpty: !1
|
||
|
},
|
||
|
type: {
|
||
|
required: !0,
|
||
|
rules: [o.NUMBER],
|
||
|
range: [1, 2],
|
||
|
allowEmpty: !1
|
||
|
},
|
||
|
roomID: {
|
||
|
required: !1,
|
||
|
rules: [o.NUMBER],
|
||
|
range: `0~${va}`,
|
||
|
allowEmpty: !1
|
||
|
},
|
||
|
strRoomID: {
|
||
|
required: !1,
|
||
|
rules: [o.STRING],
|
||
|
allowEmpty: !0
|
||
|
},
|
||
|
userData: {
|
||
|
required: !1,
|
||
|
rules: [o.STRING],
|
||
|
allowEmpty: !1
|
||
|
},
|
||
|
timeout: {
|
||
|
required: !1,
|
||
|
rules: [o.NUMBER],
|
||
|
allowEmpty: !1
|
||
|
}
|
||
|
},
|
||
|
groupCall: {
|
||
|
userIDList: {
|
||
|
required: !0,
|
||
|
rules: [o.ARRAY],
|
||
|
allowEmpty: !1
|
||
|
},
|
||
|
type: {
|
||
|
required: !0,
|
||
|
rules: [o.NUMBER],
|
||
|
range: [1, 2],
|
||
|
allowEmpty: !1
|
||
|
},
|
||
|
groupID: {
|
||
|
required: !0,
|
||
|
rules: [o.STRING],
|
||
|
allowEmpty: !1
|
||
|
},
|
||
|
roomID: {
|
||
|
required: !1,
|
||
|
rules: [o.NUMBER],
|
||
|
range: `0~${va}`,
|
||
|
allowEmpty: !1
|
||
|
},
|
||
|
strRoomID: {
|
||
|
required: !1,
|
||
|
rules: [o.STRING],
|
||
|
allowEmpty: !0
|
||
|
},
|
||
|
timeout: {
|
||
|
required: !1,
|
||
|
rules: [o.NUMBER],
|
||
|
allowEmpty: !1
|
||
|
},
|
||
|
userData: {
|
||
|
required: !1,
|
||
|
rules: [o.STRING],
|
||
|
allowEmpty: !1
|
||
|
},
|
||
|
offlinePushInfo: {
|
||
|
required: !1,
|
||
|
rules: [o.OBJECT],
|
||
|
allowEmpty: !1
|
||
|
}
|
||
|
},
|
||
|
joinInGroupCall: {
|
||
|
type: {
|
||
|
required: !0,
|
||
|
rules: [o.NUMBER],
|
||
|
range: [1, 2],
|
||
|
allowEmpty: !1
|
||
|
},
|
||
|
groupID: {
|
||
|
required: !0,
|
||
|
rules: [o.STRING],
|
||
|
allowEmpty: !1
|
||
|
},
|
||
|
roomID: {
|
||
|
required: !0,
|
||
|
rules: [o.NUMBER],
|
||
|
allowEmpty: !1
|
||
|
},
|
||
|
strRoomID: {
|
||
|
required: !1,
|
||
|
rules: [o.STRING],
|
||
|
allowEmpty: !0
|
||
|
}
|
||
|
},
|
||
|
inviteUser: {
|
||
|
userIDList: {
|
||
|
required: !0,
|
||
|
rules: [o.ARRAY],
|
||
|
allowEmpty: !1
|
||
|
}
|
||
|
},
|
||
|
setSelfInfo: {
|
||
|
nickName: {
|
||
|
required: !1,
|
||
|
rules: [o.STRING],
|
||
|
allowEmpty: !1
|
||
|
},
|
||
|
avatar: {
|
||
|
required: !1,
|
||
|
rules: [o.STRING],
|
||
|
allowEmpty: !1
|
||
|
}
|
||
|
},
|
||
|
enableFloatWindow: [
|
||
|
{
|
||
|
key: "enable",
|
||
|
required: !1,
|
||
|
rules: [o.BOOLEAN],
|
||
|
allowEmpty: !1
|
||
|
}
|
||
|
],
|
||
|
enableAIVoice: [
|
||
|
{
|
||
|
key: "enable",
|
||
|
required: !0,
|
||
|
rules: [o.BOOLEAN],
|
||
|
allowEmpty: !1
|
||
|
}
|
||
|
],
|
||
|
enableMuteMode: [
|
||
|
{
|
||
|
key: "enable",
|
||
|
required: !0,
|
||
|
rules: [o.BOOLEAN],
|
||
|
allowEmpty: !1
|
||
|
}
|
||
|
],
|
||
|
setCallingBell: [
|
||
|
{
|
||
|
key: "filePath",
|
||
|
required: !1,
|
||
|
rules: [o.STRING],
|
||
|
allowEmpty: !0
|
||
|
}
|
||
|
],
|
||
|
setLanguage: [
|
||
|
{
|
||
|
key: "language",
|
||
|
required: !0,
|
||
|
rules: [o.STRING],
|
||
|
allowEmpty: !1
|
||
|
}
|
||
|
],
|
||
|
setVideoDisplayMode: [
|
||
|
{
|
||
|
key: "displayMode",
|
||
|
required: !0,
|
||
|
rules: [o.STRING],
|
||
|
range: [ne.CONTAIN, ne.COVER, ne.FILL],
|
||
|
allowEmpty: !1
|
||
|
}
|
||
|
],
|
||
|
setVideoResolution: [
|
||
|
{
|
||
|
key: "resolution",
|
||
|
required: !0,
|
||
|
rules: [o.STRING],
|
||
|
range: [oe.RESOLUTION_1080P, oe.RESOLUTION_480P, oe.RESOLUTION_720P],
|
||
|
allowEmpty: !1
|
||
|
}
|
||
|
]
|
||
|
};
|
||
|
function ht(A) {
|
||
|
return function(t, e, a) {
|
||
|
let n = a.value;
|
||
|
return a.value = function(...l) {
|
||
|
return ci.call(this, A, l, e), n.apply(this, l);
|
||
|
}, a;
|
||
|
};
|
||
|
}
|
||
|
function ci(A) {
|
||
|
if ((A == null ? void 0 : A.engineInstance) && !this._tuiCallEngine) {
|
||
|
const t = `${o.PREFIX} ${v("TUICallKit init is not complete")}`;
|
||
|
throw console.error(t), t;
|
||
|
}
|
||
|
}
|
||
|
class ri {
|
||
|
constructor() {
|
||
|
this.defaultStore = {
|
||
|
callStatus: U.IDLE,
|
||
|
callRole: K.UNKNOWN,
|
||
|
callMediaType: F.UNKNOWN,
|
||
|
localUserInfo: { userId: "" },
|
||
|
localUserInfoExcludeVolume: { userId: "" },
|
||
|
remoteUserInfoList: [],
|
||
|
remoteUserInfoExcludeVolumeList: [],
|
||
|
callerUserInfo: { userId: "" },
|
||
|
isGroup: !1,
|
||
|
callDuration: "00:00:00",
|
||
|
callTips: "",
|
||
|
toastInfo: { text: "" },
|
||
|
isMinimized: !1,
|
||
|
enableFloatWindow: !1,
|
||
|
bigScreenUserId: "",
|
||
|
language: ni(),
|
||
|
isClickable: !1,
|
||
|
deviceList: { cameraList: [], microphoneList: [], currentCamera: {}, currentMicrophone: {} },
|
||
|
showPermissionTip: !1,
|
||
|
netWorkQualityList: [],
|
||
|
isMuteSpeaker: !1,
|
||
|
groupID: "",
|
||
|
roomID: 0,
|
||
|
roomIdType: 0,
|
||
|
cameraPosition: le.FRONT,
|
||
|
groupCallMembers: [],
|
||
|
displayMode: ne.COVER,
|
||
|
videoResolution: oe.RESOLUTION_480P,
|
||
|
showSelectUser: !1,
|
||
|
pusher: {},
|
||
|
player: [],
|
||
|
isEarPhone: !1,
|
||
|
pusherId: o.INITIAL_PUSHER,
|
||
|
isShowEnableVirtualBackground: !1,
|
||
|
enableVirtualBackground: !1,
|
||
|
customUIConfig: {
|
||
|
button: {},
|
||
|
viewBackground: {},
|
||
|
layoutMode: et.RemoteInLargeView
|
||
|
}
|
||
|
}, this.store = tt(this.defaultStore), this.prevStore = tt(this.defaultStore);
|
||
|
}
|
||
|
update(t, e) {
|
||
|
switch (t) {
|
||
|
case o.CALL_TIPS:
|
||
|
const a = this.getData(t);
|
||
|
this.prevStore[t] = a;
|
||
|
default:
|
||
|
this.store[t] = e;
|
||
|
}
|
||
|
}
|
||
|
getPrevData(t) {
|
||
|
return t ? this.prevStore[t] : this.prevStore;
|
||
|
}
|
||
|
getData(t) {
|
||
|
return t ? this.store[t] : this.store;
|
||
|
}
|
||
|
reset(t = []) {
|
||
|
t.length === 0 && (t = Object.keys(this.store));
|
||
|
const e = t.reduce((a, n) => ({ ...a, [n]: this.defaultStore[n] }), {});
|
||
|
this.store = {
|
||
|
...this.defaultStore,
|
||
|
...this.store,
|
||
|
...e
|
||
|
};
|
||
|
}
|
||
|
}
|
||
|
class yA {
|
||
|
constructor() {
|
||
|
this.timerId = -1, this.storeMap = {
|
||
|
[c.CALL]: new ri()
|
||
|
}, this.task = {};
|
||
|
}
|
||
|
static getInstance() {
|
||
|
return yA.instance || (yA.instance = new yA()), yA.instance;
|
||
|
}
|
||
|
watch(t, e, a) {
|
||
|
this.task[t] || (this.task[t] = {});
|
||
|
const n = this.task[t];
|
||
|
Object.keys(e).forEach((l) => {
|
||
|
const i = e[l];
|
||
|
n[l] || (n[l] = /* @__PURE__ */ new Map()), n[l].set(i, 1);
|
||
|
const { notifyRangeWhenWatch: u } = a || {};
|
||
|
if (u === o.ALL && this.notify(t, l), u === o.MYSELF) {
|
||
|
const s = this.getData(t, l);
|
||
|
i.call(this, s);
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
unwatch(t, e) {
|
||
|
if (!this.task[t])
|
||
|
return;
|
||
|
const a = this.task[t];
|
||
|
Object.keys(e).forEach((n) => {
|
||
|
a[n].delete(e[n]);
|
||
|
});
|
||
|
}
|
||
|
update(t, e, a) {
|
||
|
var n;
|
||
|
(Pt(a) || go(a) || ei(a)) && this.storeMap[t].store[e] === a || ((n = this.storeMap[t]) == null || n.update(e, a), this.notify(t, e));
|
||
|
}
|
||
|
getPrevData(t, e) {
|
||
|
var a;
|
||
|
return (a = this.storeMap[t]) == null ? void 0 : a.getPrevData(e);
|
||
|
}
|
||
|
getData(t, e) {
|
||
|
var a;
|
||
|
return (a = this.storeMap[t]) == null ? void 0 : a.getData(e);
|
||
|
}
|
||
|
notify(t, e) {
|
||
|
if (!this.task[t])
|
||
|
return;
|
||
|
const a = this.task[t];
|
||
|
if (a[e]) {
|
||
|
const n = a[e], l = this.getData(t, e);
|
||
|
for (const [i] of n.entries())
|
||
|
i.call(this, l);
|
||
|
}
|
||
|
}
|
||
|
reset(t, e = [], a = !1) {
|
||
|
if (t in this.storeMap) {
|
||
|
const n = this.storeMap[t];
|
||
|
e.length === 0 && (e = Object.keys(n == null ? void 0 : n.store)), n.reset(e), a && e.forEach((l) => {
|
||
|
this.notify(t, l);
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
updateStore(t, e) {
|
||
|
const a = e || c.CALL;
|
||
|
Object.keys(t).forEach((n) => {
|
||
|
this.update(a, n, t[n]);
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
const W = yA.getInstance();
|
||
|
function Wt(A, t) {
|
||
|
const e = {
|
||
|
userId: A,
|
||
|
nick: "",
|
||
|
avatar: "",
|
||
|
remark: "",
|
||
|
displayUserInfo: "",
|
||
|
isAudioAvailable: !1,
|
||
|
isVideoAvailable: !1,
|
||
|
isEnter: !1,
|
||
|
domId: t || A
|
||
|
};
|
||
|
return t ? e : { ...e, isEnter: !1 };
|
||
|
}
|
||
|
async function Mi(A, t) {
|
||
|
var a, n, l, i, u;
|
||
|
let e = Wt(A, o.LOCAL_VIDEO);
|
||
|
try {
|
||
|
if (!t)
|
||
|
return e;
|
||
|
const s = await t.getMyProfile(), r = W == null ? void 0 : W.getData(c.CALL, o.LOCAL_USER_INFO);
|
||
|
return (s == null ? void 0 : s.code) === 0 && (e = {
|
||
|
...e,
|
||
|
...r,
|
||
|
userId: (a = s == null ? void 0 : s.data) == null ? void 0 : a.userID,
|
||
|
nick: (n = s == null ? void 0 : s.data) == null ? void 0 : n.nick,
|
||
|
avatar: (l = s == null ? void 0 : s.data) == null ? void 0 : l.avatar,
|
||
|
displayUserInfo: ((i = s == null ? void 0 : s.data) == null ? void 0 : i.nick) || ((u = s == null ? void 0 : s.data) == null ? void 0 : u.userID)
|
||
|
}), e;
|
||
|
} catch (s) {
|
||
|
return console.error(`${o.PREFIX}getMyProfile failed, error: ${s}.`), e;
|
||
|
}
|
||
|
}
|
||
|
async function ie(A, t) {
|
||
|
let e = A.map((a) => Wt(a));
|
||
|
try {
|
||
|
if (!t)
|
||
|
return e;
|
||
|
const a = await t.getFriendProfile({ userIDList: A });
|
||
|
if (a.code === 0) {
|
||
|
const { friendList: n = [], failureUserIDList: l = [] } = a.data;
|
||
|
let i = l.map((M) => M.userID);
|
||
|
if (l.length > 0) {
|
||
|
const M = await t.getUserProfile({ userIDList: l.map((D) => D.userID) });
|
||
|
(M == null ? void 0 : M.code) === 0 && (i = (M == null ? void 0 : M.data) || []);
|
||
|
}
|
||
|
const u = W == null ? void 0 : W.getData(c.CALL, o.REMOTE_USER_INFO_LIST), s = n.map((M) => M.userID), r = i.map((M) => M.userID);
|
||
|
e = A.map((M) => {
|
||
|
var L, m, k, _, Z, b, P;
|
||
|
const D = Wt(M), g = s.indexOf(M), N = r.indexOf(M);
|
||
|
let y = "", T = "", C = "", E = "";
|
||
|
g !== -1 && (y = ((L = n[g]) == null ? void 0 : L.remark) || "", T = ((k = (m = n[g]) == null ? void 0 : m.profile) == null ? void 0 : k.nick) || "", C = y || T || D.userId || "", E = ((Z = (_ = n[g]) == null ? void 0 : _.profile) == null ? void 0 : Z.avatar) || ""), N !== -1 && (T = ((b = i[N]) == null ? void 0 : b.nick) || "", C = T || D.userId || "", E = ((P = i[N]) == null ? void 0 : P.avatar) || "");
|
||
|
const w = u.find((AA) => AA.userId === M) || {};
|
||
|
return { ...D, ...w, remark: y, nick: T, displayUserInfo: C, avatar: E };
|
||
|
});
|
||
|
}
|
||
|
return e;
|
||
|
} catch (a) {
|
||
|
return console.error(`${o.PREFIX}getRemoteUserProfile failed, error: ${a}.`), e;
|
||
|
}
|
||
|
}
|
||
|
function vA(A, t, e) {
|
||
|
const a = W.getData(c.CALL, o.IS_GROUP);
|
||
|
let n = `${v(A)}`;
|
||
|
return a && (n = t ? `${t} ${n}` : n, n = e ? `${n} ${e}` : n), n;
|
||
|
}
|
||
|
function _e() {
|
||
|
const A = W.getData(c.CALL, o.CALL_STATUS);
|
||
|
if (A === U.IDLE)
|
||
|
return nA.IDLE;
|
||
|
const t = W.getData(c.CALL, o.IS_GROUP);
|
||
|
if (A === U.CALLING)
|
||
|
return t ? nA.DIALING_GROUP : nA.DIALING_C2C;
|
||
|
const e = W.getData(c.CALL, o.CALL_MEDIA_TYPE);
|
||
|
return t ? e === F.AUDIO ? nA.CALLING_GROUP_AUDIO : nA.CALLING_GROUP_VIDEO : e === F.AUDIO ? nA.CALLING_C2C_AUDIO : nA.CALLING_C2C_VIDEO;
|
||
|
}
|
||
|
async function di(A, t, e, a) {
|
||
|
let n = [];
|
||
|
try {
|
||
|
const l = await t.getGroupMemberList({ groupID: A, count: e, offset: a });
|
||
|
if (l.code === 0)
|
||
|
return l.data.memberList || n;
|
||
|
} catch (l) {
|
||
|
return console.error(`${o.PREFIX}getGroupMember failed, error: ${l}.`), n;
|
||
|
}
|
||
|
}
|
||
|
async function Ii(A, t) {
|
||
|
let e = {};
|
||
|
try {
|
||
|
return (await t.getGroupProfile({ groupID: A })).data.group || e;
|
||
|
} catch (a) {
|
||
|
return console.warn(`${o.PREFIX}getGroupProfile failed, error: ${a}.`), e;
|
||
|
}
|
||
|
}
|
||
|
function po(A, t) {
|
||
|
A === 0 && t ? (W.update(c.CALL, o.ROOM_ID, t), W.update(c.CALL, o.ROOM_ID_TYPE, kt.STRING_ROOM_ID)) : (W.update(c.CALL, o.ROOM_ID, A), W.update(c.CALL, o.ROOM_ID_TYPE, kt.NUMBER_ROOM_ID));
|
||
|
}
|
||
|
function DA(A) {
|
||
|
return A || {};
|
||
|
}
|
||
|
function xt(A) {
|
||
|
if (A.length === 0)
|
||
|
return;
|
||
|
let t = W.getData(c.CALL, o.REMOTE_USER_INFO_LIST);
|
||
|
A.forEach((e) => {
|
||
|
t = t.filter((a) => a.userId !== e);
|
||
|
}), W.update(c.CALL, o.REMOTE_USER_INFO_LIST, t), W.update(c.CALL, o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST, t);
|
||
|
}
|
||
|
function Vt(A) {
|
||
|
A == null || A.getDeviceList("speaker").then((e) => {
|
||
|
const a = W.getData(c.CALL, o.DEVICE_LIST), n = (e == null ? void 0 : e[0]) || {};
|
||
|
W.update(
|
||
|
c.CALL,
|
||
|
o.DEVICE_LIST,
|
||
|
{ ...a, speakerList: e, currentSpeaker: n }
|
||
|
);
|
||
|
}).catch((e) => {
|
||
|
console.error(`${o.PREFIX}updateSpeakerList failed, error: ${JSON.stringify(e)}.`);
|
||
|
}), W.getData(c.CALL, o.CALL_MEDIA_TYPE) === F.VIDEO && (A == null || A.getDeviceList("camera").then((e) => {
|
||
|
const a = W.getData(c.CALL, o.DEVICE_LIST), n = (e == null ? void 0 : e[0]) || {};
|
||
|
W.update(
|
||
|
c.CALL,
|
||
|
o.DEVICE_LIST,
|
||
|
{ ...a, cameraList: e, currentCamera: n }
|
||
|
);
|
||
|
}).catch((e) => {
|
||
|
console.error(`${o.PREFIX}updateCameraList failed, error: ${e}.`);
|
||
|
})), A == null || A.getDeviceList("microphones").then((e) => {
|
||
|
const a = W.getData(c.CALL, o.DEVICE_LIST), n = (e == null ? void 0 : e[0]) || {};
|
||
|
W.update(
|
||
|
c.CALL,
|
||
|
o.DEVICE_LIST,
|
||
|
{ ...a, microphoneList: e, currentMicrophone: n }
|
||
|
);
|
||
|
}).catch((e) => {
|
||
|
console.error(`${o.PREFIX}updateMicrophoneList failed, error: ${e}.`);
|
||
|
});
|
||
|
}
|
||
|
function bt(A, t, e) {
|
||
|
if (ai(A)) {
|
||
|
let a = "";
|
||
|
t === F.AUDIO && (a = vA(sA.NO_MICROPHONE_DEVICE_PERMISSION)), t === F.VIDEO && (a = vA(sA.NO_CAMERA_DEVICE_PERMISSION));
|
||
|
const n = e == null ? void 0 : e.getDevicePermission();
|
||
|
n != null && n.audio || W.update(c.CALL, o.SHOW_PERMISSION_TIP, !0), a && W.update(c.CALL, o.TOAST_INFO, { text: a, type: o.ERROR }), console.error(`${o.PREFIX}call failed, error: ${A.message}.`);
|
||
|
}
|
||
|
}
|
||
|
function FA(A, t) {
|
||
|
let e = W.getData(c.CALL, o.LOCAL_USER_INFO);
|
||
|
t === o.AUDIO && (e = { ...e, isAudioAvailable: A }), t === o.VIDEO && (e = { ...e, isVideoAvailable: A }), W.update(c.CALL, o.LOCAL_USER_INFO, e), W.update(c.CALL, o.LOCAL_USER_INFO_EXCLUDE_VOLUMN, e);
|
||
|
}
|
||
|
class nt {
|
||
|
static generateTaskID() {
|
||
|
return this.currentTaskID++;
|
||
|
}
|
||
|
static run(t = o.TIMEOUT, e, a) {
|
||
|
t === o.INTERVAL ? a = { delay: 2e3, count: 0, backgroundTask: !0, ...a } : a = { delay: 2e3, count: 0, backgroundTask: !0, ...a }, Mo(e) && (a = { ...a, ...e }), $e(t) && (e = t, t = o.TIMEOUT);
|
||
|
const n = {
|
||
|
taskID: this.generateTaskID(),
|
||
|
loopCount: 0,
|
||
|
intervalID: null,
|
||
|
timeoutID: null,
|
||
|
taskName: t,
|
||
|
callback: e,
|
||
|
...a
|
||
|
};
|
||
|
return this.taskMap.set(n.taskID, n), t === o.INTERNAL ? this.interval(n) : this.timeout(n), n.taskID;
|
||
|
}
|
||
|
static interval(t) {
|
||
|
const e = () => {
|
||
|
t.callback(), t.loopCount += 1, this.isBreakLoop(t);
|
||
|
};
|
||
|
return t.intervalID = setInterval(e, t.delay);
|
||
|
}
|
||
|
static timeout(t) {
|
||
|
const e = () => {
|
||
|
if (t.callback(), t.loopCount += 1, !this.isBreakLoop(t))
|
||
|
return t.timeoutID = setTimeout(e, t.delay);
|
||
|
};
|
||
|
return t.timeoutID = setTimeout(e, t.delay);
|
||
|
}
|
||
|
static hasTask(t) {
|
||
|
return this.taskMap.has(t);
|
||
|
}
|
||
|
static clearTask(t) {
|
||
|
if (!this.taskMap.has(t))
|
||
|
return !0;
|
||
|
const { intervalID: e, timeoutID: a, onVisibilitychange: n } = this.taskMap.get(t);
|
||
|
return e && clearInterval(e), a && clearTimeout(a), n && document.removeEventListener("visibilitychange", n), this.taskMap.delete(t), !0;
|
||
|
}
|
||
|
static isBreakLoop(t) {
|
||
|
return this.taskMap.has(t.taskID) ? t.count !== 0 && t.loopCount >= t.count ? (this.clearTask(t.taskID), !0) : !1 : !0;
|
||
|
}
|
||
|
}
|
||
|
nt.taskMap = /* @__PURE__ */ new Map();
|
||
|
nt.currentTaskID = 1;
|
||
|
const gi = function(A) {
|
||
|
if (A === null || typeof A > "u")
|
||
|
return !0;
|
||
|
if (typeof A == "boolean")
|
||
|
return !1;
|
||
|
if (typeof A == "number")
|
||
|
return A === 0;
|
||
|
if (typeof A == "string" || typeof A == "function" || Array.isArray(A))
|
||
|
return A.length === 0;
|
||
|
if (A instanceof Error)
|
||
|
return A.message === "";
|
||
|
if (Mo(A)) {
|
||
|
for (const t in A)
|
||
|
if (Object.prototype.hasOwnProperty.call(A, t))
|
||
|
return !1;
|
||
|
return !0;
|
||
|
}
|
||
|
return !1;
|
||
|
}, Bt = "_local_user_id";
|
||
|
class PA {
|
||
|
constructor() {
|
||
|
this._viewConfig = {
|
||
|
viewBackground: {
|
||
|
local: {},
|
||
|
remote: {}
|
||
|
}
|
||
|
}, this._isSetViewBackgroundConfig = { remote: !1, local: !1 }, this._tuiCallEngine = null, this._tuiStore = null;
|
||
|
}
|
||
|
static getInstance() {
|
||
|
return PA.instance || (PA.instance = new PA()), PA.instance;
|
||
|
}
|
||
|
_updateViewBackground() {
|
||
|
var a, n, l;
|
||
|
const t = (a = this._tuiStore) == null ? void 0 : a.getData(c.CALL, o.CUSTOM_UI_CONFIG), { userId: e } = (n = this._tuiStore) == null ? void 0 : n.getData(c.CALL, o.LOCAL_USER_INFO);
|
||
|
Object.keys(this._viewConfig.viewBackground.remote).includes(e) && delete this._viewConfig.viewBackground.remote[e], (l = this._tuiStore) == null || l.update(
|
||
|
c.CALL,
|
||
|
o.CUSTOM_UI_CONFIG,
|
||
|
{
|
||
|
...t,
|
||
|
viewBackground: {
|
||
|
...this._viewConfig.viewBackground.remote,
|
||
|
...this._viewConfig.viewBackground.local
|
||
|
}
|
||
|
}
|
||
|
);
|
||
|
}
|
||
|
setEngineInstance(t) {
|
||
|
this._tuiCallEngine = t;
|
||
|
}
|
||
|
setTUIStore(t) {
|
||
|
this._tuiStore = t;
|
||
|
}
|
||
|
updateViewBackgroundUserId(t) {
|
||
|
var e, a;
|
||
|
if (t === "local") {
|
||
|
const { userId: n } = (e = this._tuiStore) == null ? void 0 : e.getData(c.CALL, o.LOCAL_USER_INFO);
|
||
|
if (Object.keys(this._viewConfig.viewBackground.remote).includes(n) && (delete this._viewConfig.viewBackground.remote[n], this._updateViewBackground()), !this._isSetViewBackgroundConfig.local)
|
||
|
return;
|
||
|
const l = this._viewConfig.viewBackground.local, i = l[n] || l[Bt];
|
||
|
l[n] = l[Bt], this._viewConfig.viewBackground.local = { [n]: i }, this._updateViewBackground();
|
||
|
} else {
|
||
|
let n = this._viewConfig.viewBackground.remote;
|
||
|
this._isSetViewBackgroundConfig.remote && Object.keys(n).includes("*") && (((a = this._tuiStore) == null ? void 0 : a.getData(c.CALL, o.REMOTE_USER_INFO_LIST)).map((u) => u.userId).forEach((u) => {
|
||
|
Object.keys(n).includes(u) || (n[u] = n["*"]);
|
||
|
}), this._viewConfig.viewBackground.remote = n, this._updateViewBackground());
|
||
|
}
|
||
|
}
|
||
|
hideFeatureButton(t) {
|
||
|
var a, n, l, i, u;
|
||
|
(n = (a = this._tuiCallEngine) == null ? void 0 : a.reportLog) == null || n.call(a, {
|
||
|
name: "TUICallKit.hideFeatureButton.start",
|
||
|
data: { buttonName: t }
|
||
|
});
|
||
|
const e = (l = this._tuiStore) == null ? void 0 : l.getData(c.CALL, o.CUSTOM_UI_CONFIG);
|
||
|
(u = this._tuiStore) == null || u.update(
|
||
|
c.CALL,
|
||
|
o.CUSTOM_UI_CONFIG,
|
||
|
{
|
||
|
...e,
|
||
|
button: {
|
||
|
...e.button,
|
||
|
[t]: { ...((i = e.button) == null ? void 0 : i[t]) || {}, show: !1 }
|
||
|
}
|
||
|
}
|
||
|
);
|
||
|
}
|
||
|
setLocalViewBackgroundImage(t) {
|
||
|
var a, n, l;
|
||
|
(n = (a = this._tuiCallEngine) == null ? void 0 : a.reportLog) == null || n.call(a, {
|
||
|
name: "TUICallKit.setLocalViewBackgroundImage.start",
|
||
|
data: { url: t }
|
||
|
}), this._isSetViewBackgroundConfig.local = !0;
|
||
|
let { userId: e } = (l = this._tuiStore) == null ? void 0 : l.getData(c.CALL, o.LOCAL_USER_INFO);
|
||
|
gi(e) && (e = Bt), this._viewConfig.viewBackground.local = { [e]: t }, this._updateViewBackground();
|
||
|
}
|
||
|
setRemoteViewBackgroundImage(t, e) {
|
||
|
var a, n;
|
||
|
(n = (a = this._tuiCallEngine) == null ? void 0 : a.reportLog) == null || n.call(a, {
|
||
|
name: "TUICallKit.setRemoteViewBackgroundImage.start",
|
||
|
data: { userId: t, url: e }
|
||
|
}), this._isSetViewBackgroundConfig.remote = !0, t === "*" && (this._viewConfig.viewBackground.remote = {}), this._viewConfig.viewBackground.remote[t] = e, this._updateViewBackground();
|
||
|
}
|
||
|
setLayoutMode(t) {
|
||
|
var a, n;
|
||
|
(n = (a = this._tuiCallEngine) == null ? void 0 : a.reportLog) == null || n.call(a, {
|
||
|
name: "TUICallKit.setLayoutMode.start",
|
||
|
data: { layoutMode: t }
|
||
|
});
|
||
|
const e = this._tuiStore.getData(c.CALL, o.CUSTOM_UI_CONFIG);
|
||
|
this._tuiStore.update(
|
||
|
c.CALL,
|
||
|
o.CUSTOM_UI_CONFIG,
|
||
|
{
|
||
|
...e,
|
||
|
layoutMode: t
|
||
|
}
|
||
|
);
|
||
|
}
|
||
|
setCameraDefaultState(t) {
|
||
|
var a, n;
|
||
|
(n = (a = this._tuiCallEngine) == null ? void 0 : a.reportLog) == null || n.call(a, {
|
||
|
name: "TUICallKit.setCameraDefaultState.start",
|
||
|
data: { isOpen: t }
|
||
|
});
|
||
|
const e = tt(this._tuiStore.getData(c.CALL, o.CUSTOM_UI_CONFIG));
|
||
|
Object.keys(e.button).includes(zA.Camera) || (e.button[zA.Camera] = {}), e.button[zA.Camera].state = t ? JA.Open : JA.Close, this._tuiStore.update(c.CALL, o.CUSTOM_UI_CONFIG, e);
|
||
|
}
|
||
|
}
|
||
|
const qe = yA.getInstance(), TA = {
|
||
|
audioCall: () => v("Voice call"),
|
||
|
videoCall: () => v("Video call"),
|
||
|
switchToAudio: () => v("Switch audio call"),
|
||
|
switchToVideo: () => v("Switch video call"),
|
||
|
hangup: ({ callDuration: A }) => `${v("Call duration")}\uFF1A${A}`
|
||
|
};
|
||
|
class qA {
|
||
|
constructor(t) {
|
||
|
var e, a, n;
|
||
|
this._callService = t.callService, HA.registerEvent(H.TUILogin.EVENT.LOGIN_STATE_CHANGED, H.TUILogin.EVENT_SUB_KEY.USER_LOGIN_SUCCESS, this), (e = H.TUIChat) != null && e.EVENT && HA.registerEvent((a = H.TUIChat.EVENT) == null ? void 0 : a.CHAT_STATE_CHANGED, (n = H.TUIChat.EVENT_SUB_KEY) == null ? void 0 : n.CHAT_OPENED, this), HA.registerService(H.TUICalling.SERVICE.NAME, this), HA.registerExtension(H.TUIChat.EXTENSION.INPUT_MORE.EXT_ID, this);
|
||
|
}
|
||
|
static getInstance(t) {
|
||
|
return qA.instance || (qA.instance = new qA(t)), qA.instance;
|
||
|
}
|
||
|
callTUIService(t) {
|
||
|
const { message: e } = t || {};
|
||
|
HA.callService({
|
||
|
serviceName: H.TUIChat.SERVICE.NAME,
|
||
|
method: H.TUIChat.SERVICE.METHOD.UPDATE_MESSAGE_LIST,
|
||
|
params: { message: e }
|
||
|
});
|
||
|
}
|
||
|
onGetExtension(t, e) {
|
||
|
var a, n;
|
||
|
if (t === H.TUIChat.EXTENSION.INPUT_MORE.EXT_ID) {
|
||
|
if ((n = (a = this._callService.getTUICallEngineInstance()) == null ? void 0 : a.reportLog) == null || n.call(a, { name: "TUICallKit.onGetExtension", data: { extensionID: t, params: e } }), Et(e))
|
||
|
return [];
|
||
|
if ([H.TUIChat.TYPE.ROOM, H.TUIChat.TYPE.CUSTOMER_SERVICE].includes(e.chatType))
|
||
|
return [];
|
||
|
let l = [];
|
||
|
const i = {
|
||
|
weight: 1e3,
|
||
|
text: "\u8BED\u97F3\u901A\u8BDD",
|
||
|
icon: kl,
|
||
|
data: {
|
||
|
name: "voiceCall"
|
||
|
},
|
||
|
listener: {
|
||
|
onClicked: async (s) => await this._handleTUICoreOnClick(s, s.type || F.AUDIO)
|
||
|
}
|
||
|
}, u = {
|
||
|
weight: 900,
|
||
|
text: "\u89C6\u9891\u901A\u8BDD",
|
||
|
icon: Pl,
|
||
|
data: {
|
||
|
name: "videoCall"
|
||
|
},
|
||
|
listener: {
|
||
|
onClicked: async (s) => await this._handleTUICoreOnClick(s, s.type || F.VIDEO)
|
||
|
}
|
||
|
};
|
||
|
return e != null && e.chatType ? l = [i, u] : (!(e != null && e.filterVoice) && l.push(i), !(e != null && e.filterVideo) && l.push(u)), l;
|
||
|
}
|
||
|
}
|
||
|
async onCall(t, e) {
|
||
|
t === H.TUICalling.SERVICE.METHOD.START_CALL && await this._handleTUICoreOnClick(e, e.type);
|
||
|
}
|
||
|
async onNotifyEvent(t, e, a) {
|
||
|
var n, l, i, u, s, r, M, D;
|
||
|
try {
|
||
|
if (t === H.TUILogin.EVENT.LOGIN_STATE_CHANGED)
|
||
|
if (e === H.TUILogin.EVENT_SUB_KEY.USER_LOGIN_SUCCESS) {
|
||
|
const { chat: g, userID: N, userSig: y, SDKAppID: T } = Ol.getContext();
|
||
|
await ((n = this._callService) == null ? void 0 : n.init({ tim: g, userID: N, userSig: y, sdkAppID: T, isFromChat: !0, component: _t.TIM_CALL_KIT })), (l = this._callService) == null || l.setIsFromChat(!0), (i = this._callService) == null || i.setLogLevel(io.NORMAL), this._addListenChatEvent();
|
||
|
} else
|
||
|
e === H.TUILogin.EVENT_SUB_KEY.USER_LOGOUT_SUCCESS && (this._removeListenChatEvent(), await ((u = this._callService) == null ? void 0 : u.destroyed()));
|
||
|
if (((s = H.TUIChat) == null ? void 0 : s.EVENT) && t === H.TUIChat.EVENT.CHAT_STATE_CHANGED && e === H.TUIChat.EVENT_SUB_KEY.CHAT_OPENED) {
|
||
|
if ((r = this._callService) == null || r.setCurrentGroupId((a == null ? void 0 : a.groupID) || ""), qe.getData(c.CALL, o.CALL_STATUS) !== U.IDLE)
|
||
|
return;
|
||
|
const g = (M = this._callService) == null ? void 0 : M.getCurrentGroupId(), N = g ? await this.getGroupAttributes((D = this._callService) == null ? void 0 : D.getTim(), g) : {};
|
||
|
await this.updateStoreBasedOnGroupAttributes(N);
|
||
|
}
|
||
|
} catch (g) {
|
||
|
console.error(`${o.PREFIX}TUICore onNotifyEvent failed, error: ${g}.`);
|
||
|
}
|
||
|
}
|
||
|
async updateStoreBasedOnGroupAttributes(t) {
|
||
|
var e, a, n, l;
|
||
|
(n = (a = (e = this._callService) == null ? void 0 : e.getTUICallEngineInstance()) == null ? void 0 : a.reportLog) == null || n.call(a, {
|
||
|
name: "TUICallKit.getJoinGroupCallInfo.success",
|
||
|
data: { groupAttributes: t }
|
||
|
});
|
||
|
try {
|
||
|
const {
|
||
|
group_id: i = "",
|
||
|
room_id: u = 0,
|
||
|
room_id_type: s = 0,
|
||
|
call_media_type: r = o.UNKNOWN,
|
||
|
user_list: M
|
||
|
} = t[o.INNER_ATTR_KIT_INFO] ? JSON.parse(t[o.INNER_ATTR_KIT_INFO]) : {};
|
||
|
let D = (M || []).map((N) => N.userid);
|
||
|
D = D.length && await ie(D, (l = this._callService) == null ? void 0 : l.getTim());
|
||
|
const g = {
|
||
|
[o.GROUP_ID]: i,
|
||
|
[o.GROUP_CALL_MEMBERS]: D,
|
||
|
[o.ROOM_ID]: u,
|
||
|
[o.CALL_MEDIA_TYPE]: bl[r],
|
||
|
[o.ROOM_ID_TYPE]: s
|
||
|
};
|
||
|
qe.updateStore(g, c.CALL);
|
||
|
} catch (i) {
|
||
|
console.warn(`${o.PREFIX}updateStoreBasedOnGroupAttributes fail, error: ${i}`);
|
||
|
}
|
||
|
}
|
||
|
async getGroupAttributes(t, e) {
|
||
|
if (!e)
|
||
|
return {};
|
||
|
try {
|
||
|
const { data: a } = await t.getGroupAttributes({
|
||
|
groupID: e,
|
||
|
keyList: []
|
||
|
});
|
||
|
return (a == null ? void 0 : a.groupAttributes) || {};
|
||
|
} catch (a) {
|
||
|
return console.warn(`${o.PREFIX}getGroupAttributes fail: ${a}`), {};
|
||
|
}
|
||
|
}
|
||
|
isLineBusy(t) {
|
||
|
var n;
|
||
|
const e = Xe(t.payload.data), a = Xe(e == null ? void 0 : e.data);
|
||
|
return (a == null ? void 0 : a.line_busy) === "line_busy" || (a == null ? void 0 : a.line_busy) === "" || ((n = a == null ? void 0 : a.data) == null ? void 0 : n.message) === "lineBusy";
|
||
|
}
|
||
|
async getCallKitMessage(t, e) {
|
||
|
var g, N, y, T;
|
||
|
const a = Xe(t.payload.data);
|
||
|
if ((a == null ? void 0 : a.businessID) !== 1)
|
||
|
return {};
|
||
|
let n = "";
|
||
|
const l = Xe(a == null ? void 0 : a.data), i = l.call_type, u = a.inviteeList, s = (g = l == null ? void 0 : l.data) == null ? void 0 : g.inviter, r = qe.getData(c.CALL, o.LOCAL_USER_INFO).userId, M = s === r, D = (N = l == null ? void 0 : l.data) == null ? void 0 : N.cmd;
|
||
|
switch (a == null ? void 0 : a.actionType) {
|
||
|
case XA.INVITE: {
|
||
|
n = TA[D]({ callDuration: No(l == null ? void 0 : l.call_end) });
|
||
|
break;
|
||
|
}
|
||
|
case XA.CANCEL_INVITE:
|
||
|
n = v(M ? "Call Cancel" : "Other Side Cancel");
|
||
|
break;
|
||
|
case XA.ACCEPT_INVITE:
|
||
|
["switchToAudio", "switchToVideo"].includes(D) ? n = (y = TA == null ? void 0 : TA[D]) == null ? void 0 : y.call(TA) : n = v("Answered");
|
||
|
break;
|
||
|
case XA.REJECT_INVITE:
|
||
|
this.isLineBusy(t) ? n = v(M ? "Line Busy" : "Other Side Line Busy") : n = v(M ? "Other Side Decline" : "Decline");
|
||
|
break;
|
||
|
case XA.INVITE_TIMEOUT:
|
||
|
["switchToAudio", "switchToVideo"].includes(D) ? n = (T = TA == null ? void 0 : TA[D]) == null ? void 0 : T.call(TA) : n = v(M ? "Other Side No Answer" : "No answer");
|
||
|
break;
|
||
|
}
|
||
|
return { messageCardContent: n, callMediaType: i, inviteeList: u };
|
||
|
}
|
||
|
_addListenChatEvent() {
|
||
|
var t, e;
|
||
|
if (!((t = this._callService) != null && t.getTim())) {
|
||
|
console.warn(`${o.PREFIX}add tim event listener failed, tim is empty.`);
|
||
|
return;
|
||
|
}
|
||
|
(e = this._callService) == null || e.getTim().on(ma.EVENT.GROUP_ATTRIBUTES_UPDATED, this._handleGroupAttributesUpdated, this);
|
||
|
}
|
||
|
_removeListenChatEvent() {
|
||
|
var t, e;
|
||
|
if (!((t = this._callService) != null && t.getTim())) {
|
||
|
console.warn(`${o.PREFIX}remove tim event listener failed, tim is empty.`);
|
||
|
return;
|
||
|
}
|
||
|
(e = this._callService) == null || e.getTim().off(ma.EVENT.GROUP_ATTRIBUTES_UPDATED, this._handleGroupAttributesUpdated, this);
|
||
|
}
|
||
|
async _handleTUICoreOnClick(t, e) {
|
||
|
var a, n;
|
||
|
try {
|
||
|
const { groupID: l, userIDList: i = [], ...u } = t;
|
||
|
l ? await ((a = this._callService) == null ? void 0 : a.groupCall({ groupID: l, userIDList: i, type: e, ...u })) : i.length === 1 && await ((n = this._callService) == null ? void 0 : n.call({ userID: i[0], type: e, ...u }));
|
||
|
} catch (l) {
|
||
|
console.debug(l);
|
||
|
}
|
||
|
}
|
||
|
async _handleGroupAttributesUpdated(t) {
|
||
|
var l;
|
||
|
if (qe.getData(c.CALL, o.CALL_STATUS) !== U.IDLE)
|
||
|
return;
|
||
|
const e = (t == null ? void 0 : t.data) || {}, { groupID: a = "", groupAttributes: n = {} } = e;
|
||
|
a === ((l = this._callService) == null ? void 0 : l.getCurrentGroupId()) && await this.updateStoreBasedOnGroupAttributes(n);
|
||
|
}
|
||
|
}
|
||
|
const Ni = 0, pi = 1, Oa = 2;
|
||
|
function Di({ retryFunction: A, settings: t, onError: e, onRetrying: a, onRetryFailed: n, context: l }) {
|
||
|
return function(...i) {
|
||
|
const u = t.retries || 5;
|
||
|
let s = 0, r = -1, M = Ni;
|
||
|
const D = async (g, N) => {
|
||
|
const y = l || this;
|
||
|
try {
|
||
|
const T = await A.apply(y, i);
|
||
|
s = 0, g(T);
|
||
|
} catch (T) {
|
||
|
const C = () => {
|
||
|
clearTimeout(r), s = 0, M = Oa, N(T);
|
||
|
}, E = () => {
|
||
|
M !== Oa && s < u ? (s++, M = pi, $e(a) && a.call(y, s, C), r = setTimeout(
|
||
|
() => {
|
||
|
r = -1, D(g, N);
|
||
|
},
|
||
|
Et(t.timeout) ? 1e3 : t.timeout
|
||
|
)) : (C(), $e(n) && n.call(y, T));
|
||
|
};
|
||
|
$e(e) ? e.call(y, T, E, N, i) : E();
|
||
|
}
|
||
|
};
|
||
|
return new Promise(D);
|
||
|
};
|
||
|
}
|
||
|
function Ti(A) {
|
||
|
return function(t, e, a) {
|
||
|
const { retries: n = 5, timeout: l = 2e3, onError: i, onRetrying: u, onRetryFailed: s } = A, r = Di({
|
||
|
retryFunction: a.value,
|
||
|
settings: { retries: n, timeout: l },
|
||
|
onError: i,
|
||
|
onRetrying: u,
|
||
|
onRetryFailed: s,
|
||
|
context: null
|
||
|
});
|
||
|
return a.value = function(...M) {
|
||
|
return r.apply(this, M);
|
||
|
}, a;
|
||
|
};
|
||
|
}
|
||
|
var Ci = Object.defineProperty, yi = Object.getOwnPropertyDescriptor, Si = (A, t, e, a) => {
|
||
|
for (var n = a > 1 ? void 0 : a ? yi(t, e) : t, l = A.length - 1, i; l >= 0; l--)
|
||
|
(i = A[l]) && (n = (a ? i(t, e, n) : i(n)) || n);
|
||
|
return a && n && Ci(t, e, n), n;
|
||
|
};
|
||
|
const V = yA.getInstance(), Ei = PA.getInstance(), ee = class {
|
||
|
constructor(A) {
|
||
|
this._callService = A.callService;
|
||
|
}
|
||
|
static getInstance(A) {
|
||
|
return ee.instance || (ee.instance = new ee(A)), ee.instance;
|
||
|
}
|
||
|
addListenTuiCallEngineEvent() {
|
||
|
var t;
|
||
|
const A = (t = this._callService) == null ? void 0 : t.getTUICallEngineInstance();
|
||
|
if (!A) {
|
||
|
console.warn(`${o.PREFIX}add engine event listener failed, engine is empty.`);
|
||
|
return;
|
||
|
}
|
||
|
A.on(f.ERROR, this._handleError, this), A.on(f.INVITED, this._handleNewInvitationReceived, this), A.on(f.USER_ACCEPT, this._handleUserAccept, this), A.on(f.USER_ENTER, this._handleUserEnter, this), A.on(f.USER_LEAVE, this._handleUserLeave, this), A.on(f.REJECT, this._handleInviteeReject, this), A.on(f.NO_RESP, this._handleNoResponse, this), A.on(f.LINE_BUSY, this._handleLineBusy, this), A.on(f.CALLING_CANCEL, this._handleCallingCancel, this), A.on(f.SDK_READY, this._handleSDKReady, this), A.on(f.KICKED_OUT, this._handleKickedOut, this), A.on(f.MESSAGE_SENT_BY_ME, this._messageSentByMe, this), f.CALL_MESSAGE && A.on(f.CALL_MESSAGE, this._handleCallMessage, this), f.ON_USER_NETWORK_QUALITY_CHANGED && A.on(f.ON_USER_NETWORK_QUALITY_CHANGED, this._handleNetworkQuality, this), A.on(f.CALLING_END, this._handleCallingEnd, this), A.on(f.CALL_TYPE_CHANGED, this._handleCallTypeChange, this), A.on(f.USER_VIDEO_AVAILABLE, this._handleUserVideoAvailable, this), A.on(f.USER_AUDIO_AVAILABLE, this._handleUserAudioAvailable, this), A.on(f.USER_VOICE_VOLUME, this._handleUserVoiceVolume, this), A.on(f.DEVICED_UPDATED, this._handleDeviceUpdate, this);
|
||
|
}
|
||
|
removeListenTuiCallEngineEvent() {
|
||
|
var t;
|
||
|
const A = (t = this._callService) == null ? void 0 : t.getTUICallEngineInstance();
|
||
|
A.off(f.ERROR, this._handleError, this), A.off(f.INVITED, this._handleNewInvitationReceived, this), A.off(f.USER_ACCEPT, this._handleUserAccept, this), A.off(f.USER_ENTER, this._handleUserEnter, this), A.off(f.USER_LEAVE, this._handleUserLeave, this), A.off(f.REJECT, this._handleInviteeReject, this), A.off(f.NO_RESP, this._handleNoResponse, this), A.off(f.LINE_BUSY, this._handleLineBusy, this), A.off(f.CALLING_CANCEL, this._handleCallingCancel, this), A.off(f.SDK_READY, this._handleSDKReady, this), A.off(f.KICKED_OUT, this._handleKickedOut, this), A.off(f.MESSAGE_SENT_BY_ME, this._messageSentByMe, this), f.ON_USER_NETWORK_QUALITY_CHANGED && A.off(f.ON_USER_NETWORK_QUALITY_CHANGED, this._handleNetworkQuality, this), A.off(f.CALLING_END, this._handleCallingEnd, this), A.off(f.CALL_TYPE_CHANGED, this._handleCallTypeChange, this), A.off(f.USER_VIDEO_AVAILABLE, this._handleUserVideoAvailable, this), A.off(f.USER_AUDIO_AVAILABLE, this._handleUserAudioAvailable, this), A.off(f.USER_VOICE_VOLUME, this._handleUserVoiceVolume, this), A.off(f.DEVICED_UPDATED, this._handleDeviceUpdate, this);
|
||
|
}
|
||
|
_callerChangeToConnected() {
|
||
|
var e;
|
||
|
const A = V.getData(c.CALL, o.CALL_ROLE);
|
||
|
V.getData(c.CALL, o.CALL_STATUS) === U.CALLING && A === K.CALLER && (V.update(c.CALL, o.CALL_STATUS, U.CONNECTED), (e = this._callService) == null || e.startTimer());
|
||
|
}
|
||
|
_unNormalEventsManager(A, t) {
|
||
|
var n;
|
||
|
console.log(`${o.PREFIX}${t} event data: ${JSON.stringify(A)}.`);
|
||
|
const e = V.getData(c.CALL, o.IS_GROUP), a = V.getData(c.CALL, o.REMOTE_USER_INFO_LIST);
|
||
|
switch (t) {
|
||
|
case f.REJECT:
|
||
|
case f.LINE_BUSY: {
|
||
|
const { userID: l } = DA(A);
|
||
|
let i = t === f.REJECT ? sA.OTHER_SIDE_REJECT_CALL : sA.OTHER_SIDE_LINE_BUSY, u = vA(i);
|
||
|
if (e) {
|
||
|
const s = (a.find((r) => r.userId === l) || {}).displayUserInfo || l;
|
||
|
i = t === f.REJECT ? sA.REJECT_CALL : sA.IN_BUSY, u = vA(i, s);
|
||
|
}
|
||
|
V.update(c.CALL, o.TOAST_INFO, { text: u }), l && xt([l]);
|
||
|
break;
|
||
|
}
|
||
|
case f.NO_RESP: {
|
||
|
const { userIDList: l = [] } = DA(A), i = e ? sA.TIMEOUT : sA.CALL_TIMEOUT, u = l.map((r) => (a.find((D) => D.userId === r) || {}).displayUserInfo || r), s = e ? vA(i, u.join()) : vA(i);
|
||
|
V.update(c.CALL, o.TOAST_INFO, { text: s }), l.length > 0 && xt(l);
|
||
|
break;
|
||
|
}
|
||
|
case f.CALLING_CANCEL: {
|
||
|
(n = this._callService) == null || n._resetCallStore();
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
_handleError(A) {
|
||
|
var l;
|
||
|
const { code: t, message: e } = A || {}, a = Object.values(ja).indexOf(t);
|
||
|
let n = "";
|
||
|
if (a !== -1) {
|
||
|
const i = Object.keys(ja)[a];
|
||
|
n = v(Bl[i]), n && V.update(c.CALL, o.TOAST_INFO, { text: n, type: o.ERROR });
|
||
|
}
|
||
|
(l = this._callService) == null || l.executeExternalAfterCalling(), console.error(`${o.PREFIX}_handleError, errorCode: ${t}; errorMessage: ${n || e}.`);
|
||
|
}
|
||
|
async _handleNewInvitationReceived(A) {
|
||
|
var C, E, w, L;
|
||
|
console.log(`${o.PREFIX}onCallReceived event data: ${JSON.stringify(A)}.`);
|
||
|
const { sponsor: t = "", isFromGroup: e, callMediaType: a, inviteData: n = {}, calleeIdList: l = [], groupID: i = "", roomID: u, strRoomID: s } = DA(A), r = V.getData(c.CALL, o.LOCAL_USER_INFO), M = [t, ...l.filter((m) => m !== r.userId)], D = a || n.callType, g = D === F.AUDIO ? sA.CALLEE_CALLING_AUDIO_MSG : sA.CALLEE_CALLING_VIDEO_MSG;
|
||
|
let N = {
|
||
|
[o.CALL_ROLE]: K.CALLEE,
|
||
|
[o.IS_GROUP]: e,
|
||
|
[o.CALL_STATUS]: U.CALLING,
|
||
|
[o.CALL_MEDIA_TYPE]: D,
|
||
|
[o.CALL_TIPS]: v(g),
|
||
|
[o.CALLER_USER_INFO]: { userId: t },
|
||
|
[o.GROUP_ID]: i
|
||
|
};
|
||
|
po(u, s), V.updateStore(N, c.CALL), (C = this._callService) == null || C.executeExternalBeforeCalling(), (E = this._callService) != null && E.statusChanged && ((w = this._callService) == null || w.statusChanged({ oldStatus: nA.IDLE, newStatus: nA.BE_INVITED }));
|
||
|
const y = await ie(M, (L = this._callService) == null ? void 0 : L.getTim()), [T] = y.filter((m) => m.userId === t);
|
||
|
y.length > 0 && V.updateStore({
|
||
|
[o.REMOTE_USER_INFO_LIST]: y,
|
||
|
[o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST]: y,
|
||
|
[o.CALLER_USER_INFO]: {
|
||
|
userId: t,
|
||
|
nick: (T == null ? void 0 : T.nick) || "",
|
||
|
avatar: (T == null ? void 0 : T.avatar) || "",
|
||
|
displayUserInfo: (T == null ? void 0 : T.remark) || (T == null ? void 0 : T.nick) || t
|
||
|
}
|
||
|
}, c.CALL);
|
||
|
}
|
||
|
_handleUserAccept(A) {
|
||
|
this._callerChangeToConnected(), V.update(c.CALL, o.TOAST_INFO, v("answered")), console.log(`${o.PREFIX}accept event data: ${JSON.stringify(A)}.`);
|
||
|
}
|
||
|
async _handleUserEnter(A) {
|
||
|
var l;
|
||
|
this._callerChangeToConnected();
|
||
|
const { userID: t, data: e } = DA(A);
|
||
|
let a = V.getData(c.CALL, o.REMOTE_USER_INFO_LIST);
|
||
|
if (!a.find((i) => (i == null ? void 0 : i.userId) === t)) {
|
||
|
a.push({ userId: t }), a.length > 0 && (V.update(c.CALL, o.REMOTE_USER_INFO_LIST, a), V.update(c.CALL, o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST, a));
|
||
|
const [i] = await ie([t], (l = this._callService) == null ? void 0 : l.getTim());
|
||
|
a = V.getData(c.CALL, o.REMOTE_USER_INFO_LIST), a.forEach((u) => {
|
||
|
(u == null ? void 0 : u.userId) === t && (u = Object.assign(u, i));
|
||
|
});
|
||
|
}
|
||
|
a = a.map((i) => (i.userId === t && (i.isEnter = !0), i)), a.length > 0 && (V.update(c.CALL, o.REMOTE_USER_INFO_LIST, a), V.update(c.CALL, o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST, a), Ei.updateViewBackgroundUserId("remote")), console.log(`${o.PREFIX}userEnter event data: ${JSON.stringify(A)}.`);
|
||
|
}
|
||
|
_handleUserLeave(A) {
|
||
|
console.log(`${o.PREFIX}userLeave event data: ${JSON.stringify(A)}.`);
|
||
|
const { data: t, userID: e } = DA(A);
|
||
|
if (V.getData(c.CALL, o.IS_GROUP)) {
|
||
|
const n = (V.getData(c.CALL, o.REMOTE_USER_INFO_LIST).find((i) => i.userId === e) || {}).displayUserInfo || e, l = vA(sA.END_CALL, n);
|
||
|
V.update(c.CALL, o.TOAST_INFO, { text: l });
|
||
|
}
|
||
|
e && xt([e]);
|
||
|
}
|
||
|
_handleInviteeReject(A) {
|
||
|
this._unNormalEventsManager(A, f.REJECT);
|
||
|
}
|
||
|
_handleNoResponse(A) {
|
||
|
this._unNormalEventsManager(A, f.NO_RESP);
|
||
|
}
|
||
|
_handleLineBusy(A) {
|
||
|
this._unNormalEventsManager(A, f.LINE_BUSY);
|
||
|
}
|
||
|
_handleCallingCancel(A) {
|
||
|
var t;
|
||
|
(t = this._callService) == null || t.executeExternalAfterCalling(), this._unNormalEventsManager(A, f.CALLING_CANCEL);
|
||
|
}
|
||
|
_handleCallingEnd(A) {
|
||
|
var t, e;
|
||
|
console.log(`${o.PREFIX}callEnd event data: ${JSON.stringify(A)}.`), (t = this._callService) == null || t.executeExternalAfterCalling(), (e = this._callService) == null || e._resetCallStore();
|
||
|
}
|
||
|
async _handleSDKReady(A) {
|
||
|
var e, a, n;
|
||
|
let t = V.getData(c.CALL, o.LOCAL_USER_INFO);
|
||
|
t = await Mi(t.userId, (e = this._callService) == null ? void 0 : e.getTim()), (n = this._callService) == null || n.setDefaultOfflinePushInfo({ ...(a = this._callService) == null ? void 0 : a.getDefaultOfflinePushInfo(), title: t == null ? void 0 : t.displayUserInfo }), V.update(c.CALL, o.LOCAL_USER_INFO, t), V.update(c.CALL, o.LOCAL_USER_INFO_EXCLUDE_VOLUMN, t);
|
||
|
}
|
||
|
_handleKickedOut(A) {
|
||
|
var t, e, a;
|
||
|
console.log(`${o.PREFIX}kickOut event data: ${JSON.stringify(A)}.`), (t = this._callService) != null && t.kickedOut && ((e = this._callService) == null || e.kickedOut(A)), V.update(c.CALL, o.CALL_TIPS, vA(sA.KICK_OUT)), (a = this._callService) == null || a._resetCallStore();
|
||
|
}
|
||
|
_messageSentByMe(A) {
|
||
|
var e, a;
|
||
|
const t = A == null ? void 0 : A.data;
|
||
|
(e = this._callService) != null && e.onMessageSentByMe && ((a = this._callService) == null || a.onMessageSentByMe(t));
|
||
|
}
|
||
|
_handleCallMessage(A) {
|
||
|
const t = DA(A);
|
||
|
this._callService._chatCombine.callTUIService({ message: t });
|
||
|
}
|
||
|
_handleCallTypeChange(A) {
|
||
|
const { newCallType: t, type: e } = DA(A);
|
||
|
V.update(c.CALL, o.CALL_MEDIA_TYPE, t || e);
|
||
|
}
|
||
|
_handleNetworkQuality(A) {
|
||
|
const { networkQualityList: t = [] } = DA(A);
|
||
|
V.update(c.CALL, o.NETWORK_STATUS, t);
|
||
|
const e = V.getData(c.CALL, o.IS_GROUP), a = V.getData(c.CALL, o.LOCAL_USER_INFO);
|
||
|
if (V.getData(c.CALL, o.REMOTE_USER_INFO_LIST), !e && t.find((l) => (a == null ? void 0 : a.userId) === (l == null ? void 0 : l.userId) && (l == null ? void 0 : l.quality) >= Gl)) {
|
||
|
V.update(c.CALL, o.CALL_TIPS, v(sA.LOCAL_NETWORK_IS_POOR));
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
async _startRemoteView(A) {
|
||
|
var t;
|
||
|
if (!A) {
|
||
|
console.warn(`${o.PREFIX}_startRemoteView userID is empty`);
|
||
|
return;
|
||
|
}
|
||
|
if (!document.getElementById(A))
|
||
|
return console.warn(`${o.PREFIX}_startRemoteView can't find HTMLElement sid: ${A}`), Promise.reject();
|
||
|
try {
|
||
|
const e = V.getData(c.CALL, o.DISPLAY_MODE);
|
||
|
await ((t = this._callService) == null ? void 0 : t.getTUICallEngineInstance().startRemoteView({ userID: A, videoViewDomID: A, options: { objectFit: e } }));
|
||
|
} catch (e) {
|
||
|
return console.error(`${o.PREFIX}_startRemoteView error: ${e}.`), Promise.reject(e);
|
||
|
}
|
||
|
}
|
||
|
_setRemoteUserInfoAudioVideoAvailable(A, t, e) {
|
||
|
let a = V.getData(c.CALL, o.REMOTE_USER_INFO_LIST);
|
||
|
a = a.map((n) => {
|
||
|
if (n.userId === e) {
|
||
|
if (t === o.AUDIO)
|
||
|
return { ...n, isAudioAvailable: A };
|
||
|
if (t === o.VIDEO)
|
||
|
return { ...n, isVideoAvailable: A };
|
||
|
}
|
||
|
return n;
|
||
|
}), a.length > 0 && (V.update(c.CALL, o.REMOTE_USER_INFO_LIST, a), V.update(c.CALL, o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST, a));
|
||
|
}
|
||
|
async _handleUserVideoAvailable(A) {
|
||
|
const { userID: t, isVideoAvailable: e } = DA(A);
|
||
|
console.log(`${o.PREFIX}_handleUserVideoAvailable event data: ${JSON.stringify(A)}.`);
|
||
|
try {
|
||
|
e && await this._startRemoteView(t);
|
||
|
} catch (a) {
|
||
|
console.error(`${o.PREFIX}_startRemoteView failed, error: ${a}.`);
|
||
|
}
|
||
|
this._setRemoteUserInfoAudioVideoAvailable(e, o.VIDEO, t);
|
||
|
}
|
||
|
_handleUserAudioAvailable(A) {
|
||
|
const { userID: t, isAudioAvailable: e } = DA(A);
|
||
|
console.log(`${o.PREFIX}_handleUserAudioAvailable event data: ${JSON.stringify(A)}.`), this._setRemoteUserInfoAudioVideoAvailable(e, o.AUDIO, t);
|
||
|
}
|
||
|
_handleUserVoiceVolume(A) {
|
||
|
try {
|
||
|
const { volumeMap: t } = DA(A);
|
||
|
if ((t || []).length === 0)
|
||
|
return;
|
||
|
const e = V.getData(c.CALL, o.LOCAL_USER_INFO);
|
||
|
let a = V.getData(c.CALL, o.REMOTE_USER_INFO_LIST);
|
||
|
const [n] = t.filter((u) => u.userId === e.userId), l = t.reduce((u, s) => s.userId !== e.userId ? { ...u, [s.userId]: s.audioVolume } : u, {});
|
||
|
e.volume = n.audioVolume, a = a.map((u) => ({ ...u, volume: l[u.userId] }));
|
||
|
const i = {
|
||
|
[o.LOCAL_USER_INFO]: e,
|
||
|
[o.REMOTE_USER_INFO_LIST]: a
|
||
|
};
|
||
|
V.updateStore(i, c.CALL);
|
||
|
} catch (t) {
|
||
|
console.debug(t);
|
||
|
}
|
||
|
}
|
||
|
_handleDeviceUpdate(A) {
|
||
|
const { cameraList: t, microphoneList: e, speakerList: a, currentCamera: n, currentMicrophone: l, currentSpeaker: i } = A;
|
||
|
V.update(c.CALL, o.DEVICE_LIST, { cameraList: t, microphoneList: e, speakerList: a, currentCamera: n, currentMicrophone: l, currentSpeaker: i });
|
||
|
}
|
||
|
};
|
||
|
let Do = ee;
|
||
|
Si([
|
||
|
Ti({
|
||
|
retries: 5,
|
||
|
timeout: 200,
|
||
|
onRetrying(A) {
|
||
|
console.warn(`${o.PREFIX}_startRemoteView, retrying [${A}]`);
|
||
|
}
|
||
|
})
|
||
|
], Do.prototype, "_startRemoteView", 1);
|
||
|
var hi = Object.defineProperty, mi = Object.getOwnPropertyDescriptor, Q = (A, t, e, a) => {
|
||
|
for (var n = a > 1 ? void 0 : a ? mi(t, e) : t, l = A.length - 1, i; l >= 0; l--)
|
||
|
(i = A[l]) && (n = (a ? i(t, e, n) : i(n)) || n);
|
||
|
return a && n && hi(t, e, n), n;
|
||
|
};
|
||
|
const j = kA.getInstance(), d = yA.getInstance(), mA = PA.getInstance();
|
||
|
mA.setTUIStore(d);
|
||
|
const xa = "3.3.7", ji = "vue2.6", te = class {
|
||
|
constructor() {
|
||
|
this._tim = null, this._TUICore = null, this._timerId = -1, this._startTimeStamp = Ot(), this._bellContext = null, this._isFromChat = !1, this._currentGroupId = "", this._defaultOfflinePushInfo = {
|
||
|
title: "",
|
||
|
description: v("you have a new call")
|
||
|
}, this._permissionCheckTimer = null, this._chatCombine = null, this._engineEventHandler = null, this._handleCallStatusChange = async (A) => {
|
||
|
var t, e, a, n;
|
||
|
try {
|
||
|
const l = {
|
||
|
callRole: d.getData(c.CALL, o.CALL_ROLE),
|
||
|
callStatus: d.getData(c.CALL, o.CALL_STATUS)
|
||
|
};
|
||
|
if (this._bellContext.setBellProperties(l), A === U.CALLING)
|
||
|
await ((t = this == null ? void 0 : this._bellContext) == null ? void 0 : t.play());
|
||
|
else {
|
||
|
if (A === U.CONNECTED) {
|
||
|
const i = d.getData(c.CALL, o.IS_GROUP), u = d.getData(c.CALL, o.CALL_MEDIA_TYPE), s = d.getData(c.CALL, o.REMOTE_USER_INFO_LIST), r = i ? nA.DIALING_GROUP : nA.DIALING_C2C;
|
||
|
d.update(c.CALL, o.CALL_TIPS, ""), this.statusChanged && this.statusChanged({ oldStatus: r, newStatus: _e() }), !i && u === F.VIDEO && this.switchScreen(s[0].domId);
|
||
|
}
|
||
|
if (A === U.IDLE && this._isFromChat) {
|
||
|
const i = this._currentGroupId ? await ((e = this._chatCombine) == null ? void 0 : e.getGroupAttributes(this._tim, this._currentGroupId)) : {};
|
||
|
await ((a = this._chatCombine) == null ? void 0 : a.updateStoreBasedOnGroupAttributes(i, d, this));
|
||
|
}
|
||
|
await ((n = this == null ? void 0 : this._bellContext) == null ? void 0 : n.stop());
|
||
|
}
|
||
|
} catch (l) {
|
||
|
console.warn(`${o.PREFIX}handleCallStatusChange, ${l}.`);
|
||
|
}
|
||
|
}, console.log(`${o.PREFIX}version: ${xa}`), this._watchTUIStore(), this._engineEventHandler = Do.getInstance({ callService: this }), this._chatCombine = qA.getInstance({ callService: this });
|
||
|
}
|
||
|
static getInstance() {
|
||
|
return te.instance || (te.instance = new te()), te.instance;
|
||
|
}
|
||
|
async init(A) {
|
||
|
var t, e;
|
||
|
try {
|
||
|
if (this._tuiCallEngine)
|
||
|
return;
|
||
|
let { userID: a, tim: n, userSig: l, sdkAppID: i, SDKAppID: u, isFromChat: s, component: r = _t.TUI_CALL_KIT } = A;
|
||
|
this._TUICore && (i = this._TUICore.SDKAppID, n = this._TUICore.tim), this._tim = n, console.log(`${o.PREFIX}init sdkAppId: ${i || u}, userId: ${a}`), this._tuiCallEngine = wl.createInstance({
|
||
|
tim: n,
|
||
|
SDKAppID: i || u,
|
||
|
frameWork: ji,
|
||
|
language: 5,
|
||
|
callkitVersion: xa,
|
||
|
chat: s || !1,
|
||
|
component: r
|
||
|
}), mA.setEngineInstance(this._tuiCallEngine), this._addListenTuiCallEngineEvent(), this._bellContext = new si(), d.update(c.CALL, o.LOCAL_USER_INFO, { userId: a }), d.update(c.CALL, o.LOCAL_USER_INFO_EXCLUDE_VOLUMN, { userId: a }), mA.updateViewBackgroundUserId("local"), await this._tuiCallEngine.login({ userID: a, userSig: l, assetsPath: "" });
|
||
|
const M = d.getData(c.CALL, o.CUSTOM_UI_CONFIG);
|
||
|
(e = (t = this._tuiCallEngine) == null ? void 0 : t.reportLog) == null || e.call(t, {
|
||
|
name: "TUICallkit.init",
|
||
|
data: {
|
||
|
uiConfig: M
|
||
|
}
|
||
|
});
|
||
|
} catch (a) {
|
||
|
throw console.error(`${o.PREFIX}init failed, error: ${a}.`), a;
|
||
|
}
|
||
|
}
|
||
|
async destroyed() {
|
||
|
var A;
|
||
|
try {
|
||
|
const t = d.getData(c.CALL, o.CALL_STATUS);
|
||
|
if (t !== U.IDLE)
|
||
|
throw new Error(`please destroyed when status is idle, current status: ${t}`);
|
||
|
this._tuiCallEngine && (this._removeListenTuiCallEngineEvent(), await this._tuiCallEngine.destroyInstance(), this._tuiCallEngine = null), (A = this._bellContext) == null || A.destroy(), this._bellContext = null;
|
||
|
} catch (t) {
|
||
|
throw console.error(`${o.PREFIX}destroyed failed, error: ${t}.`), t;
|
||
|
}
|
||
|
}
|
||
|
async call(A) {
|
||
|
if (d.getData(c.CALL, o.CALL_STATUS) === U.IDLE)
|
||
|
try {
|
||
|
const { type: t, userID: e, offlinePushInfo: a } = A;
|
||
|
if (d.getData(c.CALL, o.CALL_STATUS) !== U.IDLE)
|
||
|
return;
|
||
|
await this._updateCallStoreBeforeCall(t, [{ userId: e }]), this.executeExternalBeforeCalling(), A.offlinePushInfo = { ...this._defaultOfflinePushInfo, ...a };
|
||
|
const n = await this._tuiCallEngine.call(A);
|
||
|
await this._updateCallStoreAfterCall([e], n);
|
||
|
} catch (t) {
|
||
|
this._handleCallError(t, "call");
|
||
|
}
|
||
|
}
|
||
|
async groupCall(A) {
|
||
|
if (d.getData(c.CALL, o.CALL_STATUS) === U.IDLE)
|
||
|
try {
|
||
|
const { userIDList: t, type: e, groupID: a, offlinePushInfo: n } = A;
|
||
|
if (d.getData(c.CALL, o.CALL_STATUS) !== U.IDLE)
|
||
|
return;
|
||
|
const l = t.map((u) => ({ userId: u }));
|
||
|
await this._updateCallStoreBeforeCall(e, l, a), this.executeExternalBeforeCalling(), A.offlinePushInfo = { ...this._defaultOfflinePushInfo, ...n };
|
||
|
const i = await this._tuiCallEngine.groupCall(A);
|
||
|
await this._updateCallStoreAfterCall(t, i);
|
||
|
} catch (t) {
|
||
|
this._handleCallError(t, "groupCall");
|
||
|
}
|
||
|
}
|
||
|
async inviteUser(A) {
|
||
|
if (d.getData(c.CALL, o.CALL_STATUS) !== U.IDLE)
|
||
|
try {
|
||
|
const { userIDList: t } = A;
|
||
|
let e = await ie(t, this.getTim());
|
||
|
const a = d.getData(c.CALL, o.REMOTE_USER_INFO_LIST);
|
||
|
d.update(c.CALL, o.REMOTE_USER_INFO_LIST, [...a, ...e]), d.update(c.CALL, o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST, [...a, ...e]), this._tuiCallEngine && await this._tuiCallEngine.inviteUser(A);
|
||
|
} catch (t) {
|
||
|
throw console.error(`${o.PREFIX}inviteUser failed, error: ${t}.`), this._resetCallStore(), t;
|
||
|
}
|
||
|
}
|
||
|
async joinInGroupCall(A) {
|
||
|
if (d.getData(c.CALL, o.CALL_STATUS) !== U.CONNECTED)
|
||
|
try {
|
||
|
const t = {
|
||
|
[o.CALL_ROLE]: K.CALLEE,
|
||
|
[o.IS_GROUP]: !0,
|
||
|
[o.CALL_STATUS]: U.CONNECTED,
|
||
|
[o.CALL_MEDIA_TYPE]: A.type,
|
||
|
[o.GROUP_ID]: A.groupID,
|
||
|
[o.ROOM_ID]: A.roomID
|
||
|
};
|
||
|
d.updateStore(t, c.CALL);
|
||
|
const e = await this._tuiCallEngine.joinInGroupCall(A), a = this._getFeatureButtonDefaultState(zA.Camera) === JA.Close;
|
||
|
A.type === F.VIDEO && !a && await this.openCamera(o.LOCAL_VIDEO), d.update(c.CALL, o.IS_CLICKABLE, !0), this.startTimer(), Vt(this._tuiCallEngine), await this._tuiCallEngine.setVideoQuality(d.getData(c.CALL, o.VIDEO_RESOLUTION));
|
||
|
const n = d.getData(c.CALL, o.LOCAL_USER_INFO);
|
||
|
d.update(c.CALL, o.LOCAL_USER_INFO, { ...n, isEnter: !0 }), d.update(c.CALL, o.LOCAL_USER_INFO_EXCLUDE_VOLUMN, { ...n, isEnter: !0 }), FA(!0, o.AUDIO);
|
||
|
} catch (t) {
|
||
|
this._handleCallError(t, "joinInGroupCall");
|
||
|
}
|
||
|
}
|
||
|
getTUICallEngineInstance() {
|
||
|
return (this == null ? void 0 : this._tuiCallEngine) || null;
|
||
|
}
|
||
|
setLogLevel(A) {
|
||
|
var t;
|
||
|
(t = this == null ? void 0 : this._tuiCallEngine) == null || t.setLogLevel(A);
|
||
|
}
|
||
|
setLanguage(A) {
|
||
|
A && Object.values(lo).includes(A) && d.update(c.CALL, o.LANGUAGE, A);
|
||
|
}
|
||
|
enableFloatWindow(A) {
|
||
|
d.update(c.CALL, o.ENABLE_FLOAT_WINDOW, A);
|
||
|
}
|
||
|
async setSelfInfo(A) {
|
||
|
const { nickName: t, avatar: e } = A;
|
||
|
try {
|
||
|
await this._tuiCallEngine.setSelfInfo({ nickName: t, avatar: e });
|
||
|
} catch (a) {
|
||
|
console.error(`${o.PREFIX}setSelfInfo failed, error: ${a}.`);
|
||
|
}
|
||
|
}
|
||
|
async enableVirtualBackground(A) {
|
||
|
d.update(c.CALL, o.IS_SHOW_ENABLE_VIRTUAL_BACKGROUND, A);
|
||
|
}
|
||
|
async enableAIVoice(A) {
|
||
|
try {
|
||
|
await this._tuiCallEngine.enableAIVoice(A), console.log(`${o.PREFIX}enableAIVoice: ${A}.`);
|
||
|
} catch (t) {
|
||
|
throw console.error(`${o.PREFIX}enableAIVoice failed, error: ${t}.`), t;
|
||
|
}
|
||
|
}
|
||
|
async setCallingBell(A) {
|
||
|
let t = !0;
|
||
|
if (t = await Ql(A), !t) {
|
||
|
console.warn(`${o.PREFIX}setCallingBell failed, filePath: ${A}.`);
|
||
|
return;
|
||
|
}
|
||
|
const e = { calleeBellFilePath: A };
|
||
|
this._bellContext.setBellProperties(e);
|
||
|
}
|
||
|
async enableMuteMode(A) {
|
||
|
try {
|
||
|
const t = { isMuteBell: A };
|
||
|
this._bellContext.setBellProperties(t), await this._bellContext.setBellMute(A);
|
||
|
} catch (t) {
|
||
|
console.warn(`${o.PREFIX}enableMuteMode failed, error: ${t}.`);
|
||
|
}
|
||
|
}
|
||
|
hideFeatureButton(A) {
|
||
|
mA.hideFeatureButton(A);
|
||
|
}
|
||
|
setLocalViewBackgroundImage(A) {
|
||
|
mA.setLocalViewBackgroundImage(A);
|
||
|
}
|
||
|
setRemoteViewBackgroundImage(A, t) {
|
||
|
mA.setRemoteViewBackgroundImage(A, t);
|
||
|
}
|
||
|
setLayoutMode(A) {
|
||
|
mA.setLayoutMode(A);
|
||
|
}
|
||
|
setCameraDefaultState(A) {
|
||
|
mA.setCameraDefaultState(A);
|
||
|
}
|
||
|
async accept() {
|
||
|
var t, e, a, n, l, i;
|
||
|
const A = d.getData(c.CALL, o.CALL_STATUS);
|
||
|
if ((e = (t = this._tuiCallEngine) == null ? void 0 : t.reportLog) == null || e.call(t, {
|
||
|
name: "TUICallKit.accept.start",
|
||
|
data: { callStatus: A }
|
||
|
}), A !== U.CONNECTED)
|
||
|
try {
|
||
|
d.update(c.CALL, o.CALL_STATUS, U.CONNECTED), Vt(this._tuiCallEngine);
|
||
|
const u = await this._tuiCallEngine.accept();
|
||
|
if (u) {
|
||
|
(n = this._chatCombine) == null || n.callTUIService({ message: (a = u == null ? void 0 : u.data) == null ? void 0 : a.message }), d.update(c.CALL, o.IS_CLICKABLE, !0), this.startTimer();
|
||
|
const s = d.getData(c.CALL, o.CALL_MEDIA_TYPE), r = this._getFeatureButtonDefaultState(zA.Camera) === JA.Close;
|
||
|
s === F.VIDEO && !r && await this.openCamera(o.LOCAL_VIDEO), await this._tuiCallEngine.setVideoQuality(d.getData(c.CALL, o.VIDEO_RESOLUTION));
|
||
|
const M = d.getData(c.CALL, o.LOCAL_USER_INFO);
|
||
|
d.update(c.CALL, o.LOCAL_USER_INFO, { ...M, isEnter: !0 }), d.update(c.CALL, o.LOCAL_USER_INFO_EXCLUDE_VOLUMN, { ...M, isEnter: !0 }), FA(!0, o.AUDIO);
|
||
|
}
|
||
|
} catch (u) {
|
||
|
if ((i = (l = this._tuiCallEngine) == null ? void 0 : l.reportLog) == null || i.call(l, {
|
||
|
name: "TUICallKit.accept.fail",
|
||
|
level: "error",
|
||
|
error: u
|
||
|
}), Ua(u))
|
||
|
return;
|
||
|
bt(u, F.AUDIO, this._tuiCallEngine), this._resetCallStore();
|
||
|
}
|
||
|
}
|
||
|
async hangup() {
|
||
|
if (d.getData(c.CALL, o.CALL_STATUS) !== U.IDLE) {
|
||
|
try {
|
||
|
const A = await this._tuiCallEngine.hangup();
|
||
|
A == null || A.forEach((t) => {
|
||
|
var e, a;
|
||
|
(t == null ? void 0 : t.code) === 0 && ((a = this._chatCombine) == null || a.callTUIService({ message: (e = t == null ? void 0 : t.data) == null ? void 0 : e.message }));
|
||
|
});
|
||
|
} catch (A) {
|
||
|
console.debug(A);
|
||
|
}
|
||
|
this._resetCallStore();
|
||
|
}
|
||
|
}
|
||
|
async reject() {
|
||
|
var A, t;
|
||
|
if (d.getData(c.CALL, o.CALL_STATUS) !== U.IDLE) {
|
||
|
try {
|
||
|
const e = await this._tuiCallEngine.reject();
|
||
|
(e == null ? void 0 : e.code) === 0 && ((t = this._chatCombine) == null || t.callTUIService({ message: (A = e == null ? void 0 : e.data) == null ? void 0 : A.message }));
|
||
|
} catch (e) {
|
||
|
console.debug(e);
|
||
|
}
|
||
|
this._resetCallStore();
|
||
|
}
|
||
|
}
|
||
|
async openCamera(A) {
|
||
|
try {
|
||
|
await this._tuiCallEngine.openCamera(A), FA(!0, o.VIDEO);
|
||
|
} catch (t) {
|
||
|
bt(t, F.VIDEO, this._tuiCallEngine), console.error(`${o.PREFIX}openCamera error: ${t}.`);
|
||
|
}
|
||
|
}
|
||
|
async closeCamera() {
|
||
|
try {
|
||
|
await this._tuiCallEngine.closeCamera(), FA(!1, o.VIDEO);
|
||
|
} catch (A) {
|
||
|
console.error(`${o.PREFIX}closeCamera error: ${A}.`);
|
||
|
}
|
||
|
}
|
||
|
async openMicrophone() {
|
||
|
try {
|
||
|
await this._tuiCallEngine.openMicrophone(), FA(!0, o.AUDIO);
|
||
|
} catch (A) {
|
||
|
console.error(`${o.PREFIX}openMicrophone failed, error: ${A}.`);
|
||
|
}
|
||
|
}
|
||
|
async closeMicrophone() {
|
||
|
try {
|
||
|
await this._tuiCallEngine.closeMicrophone(), FA(!1, o.AUDIO);
|
||
|
} catch (A) {
|
||
|
console.error(`${o.PREFIX}closeMicrophone failed, error: ${A}.`);
|
||
|
}
|
||
|
}
|
||
|
unMuteSpeaker() {
|
||
|
var A, t;
|
||
|
try {
|
||
|
const e = (t = (A = this._tuiCallEngine) == null ? void 0 : A.getTRTCCloudInstance) == null ? void 0 : t.call(A);
|
||
|
e && (e.muteAllRemoteAudio(!1), d.update(c.CALL, o.IS_MUTE_SPEAKER, !1));
|
||
|
} catch (e) {
|
||
|
console.error(`${o.PREFIX}unMuteSpeaker failed, error: ${e}.`);
|
||
|
}
|
||
|
}
|
||
|
muteSpeaker() {
|
||
|
var A, t;
|
||
|
try {
|
||
|
const e = (t = (A = this._tuiCallEngine) == null ? void 0 : A.getTRTCCloudInstance) == null ? void 0 : t.call(A);
|
||
|
e && (e.muteAllRemoteAudio(!0), d.update(c.CALL, o.IS_MUTE_SPEAKER, !0));
|
||
|
} catch (e) {
|
||
|
console.error(`${o.PREFIX}muteSpeaker failed, error: ${e}.`);
|
||
|
}
|
||
|
}
|
||
|
switchScreen(A) {
|
||
|
!A || d.update(c.CALL, o.BIG_SCREEN_USER_ID, A);
|
||
|
}
|
||
|
async switchCallMediaType() {
|
||
|
var A, t;
|
||
|
try {
|
||
|
const e = d.getData(c.CALL, o.CALL_MEDIA_TYPE);
|
||
|
if (e === F.AUDIO) {
|
||
|
console.warn(`${o.PREFIX}switchCallMediaType failed, ${e} not support.`);
|
||
|
return;
|
||
|
}
|
||
|
const a = await this._tuiCallEngine.switchCallMediaType(F.AUDIO);
|
||
|
(a == null ? void 0 : a.code) === 0 && ((t = this._chatCombine) == null || t.callTUIService({ message: (A = a == null ? void 0 : a.data) == null ? void 0 : A.message })), d.update(c.CALL, o.CALL_MEDIA_TYPE, F.AUDIO);
|
||
|
const l = d.getData(c.CALL, o.IS_GROUP) ? nA.CALLING_GROUP_VIDEO : nA.CALLING_C2C_VIDEO, i = _e();
|
||
|
this.statusChanged && this.statusChanged({ oldStatus: l, newStatus: i });
|
||
|
} catch (e) {
|
||
|
console.error(`${o.PREFIX}switchCallMediaType failed, error: ${e}.`);
|
||
|
}
|
||
|
}
|
||
|
async switchCamera() {
|
||
|
const t = d.getData(c.CALL, o.CAMERA_POSITION) === le.BACK ? le.FRONT : le.BACK;
|
||
|
try {
|
||
|
await this._tuiCallEngine.switchCamera(t), d.update(c.CALL, o.CAMERA_POSITION, t);
|
||
|
} catch (e) {
|
||
|
console.error(`${o.PREFIX}_switchCamera failed, error: ${e}.`);
|
||
|
}
|
||
|
}
|
||
|
async setBlurBackground(A) {
|
||
|
try {
|
||
|
await this._tuiCallEngine.setBlurBackground(A ? Wl : 0), d.update(c.CALL, o.ENABLE_VIRTUAL_BACKGROUND, A);
|
||
|
} catch (t) {
|
||
|
console.error(`${o.PREFIX}_setBlurBackground failed, error: ${t}.`);
|
||
|
}
|
||
|
}
|
||
|
async switchDevice(A) {
|
||
|
try {
|
||
|
await this._tuiCallEngine.switchDevice(A);
|
||
|
} catch (t) {
|
||
|
console.error(`${o.PREFIX}_switchDevice failed, error: ${t}.`);
|
||
|
}
|
||
|
}
|
||
|
async getDeviceList(A) {
|
||
|
try {
|
||
|
return await this._tuiCallEngine.getDeviceList(A);
|
||
|
} catch (t) {
|
||
|
this._handleCallError(t, "call");
|
||
|
}
|
||
|
}
|
||
|
_addListenTuiCallEngineEvent() {
|
||
|
this._engineEventHandler.addListenTuiCallEngineEvent();
|
||
|
}
|
||
|
_removeListenTuiCallEngineEvent() {
|
||
|
this._engineEventHandler.removeListenTuiCallEngineEvent();
|
||
|
}
|
||
|
setCallback(A) {
|
||
|
const { beforeCalling: t, afterCalling: e, onMinimized: a, onMessageSentByMe: n, kickedOut: l, statusChanged: i } = A;
|
||
|
t && (this.beforeCalling = t), e && (this.afterCalling = e), a && (this.onMinimized = a), n && (this.onMessageSentByMe = n), l && (this.kickedOut = l), i && (this.statusChanged = i);
|
||
|
}
|
||
|
toggleMinimize() {
|
||
|
const A = d.getData(c.CALL, o.IS_MINIMIZED);
|
||
|
d.update(c.CALL, o.IS_MINIMIZED, !A), console.log(`${o.PREFIX}toggleMinimize: ${A} -> ${!A}.`), this.onMinimized && this.onMinimized(A, !A);
|
||
|
}
|
||
|
executeExternalBeforeCalling() {
|
||
|
this.beforeCalling && this.beforeCalling();
|
||
|
}
|
||
|
executeExternalAfterCalling() {
|
||
|
this.afterCalling && this.afterCalling();
|
||
|
}
|
||
|
setVideoDisplayMode(A) {
|
||
|
d.update(c.CALL, o.DISPLAY_MODE, A);
|
||
|
}
|
||
|
async setVideoResolution(A) {
|
||
|
var t;
|
||
|
try {
|
||
|
if (!A)
|
||
|
return;
|
||
|
d.update(c.CALL, o.VIDEO_RESOLUTION, A), await ((t = this._tuiCallEngine) == null ? void 0 : t.setVideoQuality(A));
|
||
|
} catch (e) {
|
||
|
console.warn(`${o.PREFIX}setVideoResolution failed, error: ${e}.`);
|
||
|
}
|
||
|
}
|
||
|
startTimer() {
|
||
|
this._timerId === -1 && (this._startTimeStamp = Ot(), this._timerId = nt.run(o.TIMEOUT, this._updateCallDuration.bind(this), { delay: 1e3 }));
|
||
|
}
|
||
|
_handleCallError(A, t) {
|
||
|
if (this._permissionCheckTimer && clearInterval(this._permissionCheckTimer), !Ua(A))
|
||
|
throw bt(A, F.AUDIO, this._tuiCallEngine), console.error(`${o.PREFIX}${t} failed, error: ${A}.`), this._resetCallStore(), A;
|
||
|
}
|
||
|
async _updateCallStoreBeforeCall(A, t, e) {
|
||
|
const a = e || d.getData(c.CALL, o.IS_MINIMIZED) ? sA.CALLER_GROUP_CALLING_MSG : sA.CALLER_CALLING_MSG;
|
||
|
let n = {
|
||
|
[o.CALL_MEDIA_TYPE]: A,
|
||
|
[o.CALL_ROLE]: K.CALLER,
|
||
|
[o.REMOTE_USER_INFO_LIST]: t,
|
||
|
[o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST]: t,
|
||
|
[o.IS_GROUP]: !!e,
|
||
|
[o.CALL_TIPS]: v(a),
|
||
|
[o.GROUP_ID]: e
|
||
|
};
|
||
|
d.updateStore({ ...n, [o.CALL_STATUS]: U.CALLING }, c.CALL), this.statusChanged && this.statusChanged({
|
||
|
oldStatus: nA.IDLE,
|
||
|
newStatus: e ? nA.DIALING_GROUP : nA.DIALING_C2C
|
||
|
}), Vt(this._tuiCallEngine);
|
||
|
const l = await ie(t.map((i) => i.userId), this.getTim());
|
||
|
l.length > 0 && (d.update(c.CALL, o.REMOTE_USER_INFO_LIST, l), d.update(c.CALL, o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST, l));
|
||
|
}
|
||
|
async _updateCallStoreAfterCall(A, t) {
|
||
|
var e, a;
|
||
|
if (t) {
|
||
|
d.update(c.CALL, o.IS_CLICKABLE, !0), po(t == null ? void 0 : t.roomID, t == null ? void 0 : t.strRoomID);
|
||
|
const n = d.getData(c.CALL, o.CALL_MEDIA_TYPE);
|
||
|
if (t.code === 0) {
|
||
|
(a = this._chatCombine) == null || a.callTUIService({ message: (e = t == null ? void 0 : t.data) == null ? void 0 : e.message });
|
||
|
try {
|
||
|
await this._tuiCallEngine.setVideoQuality(d.getData(c.CALL, o.VIDEO_RESOLUTION));
|
||
|
} catch (u) {
|
||
|
console.warn(`${o.PREFIX}setVideoQuality failed, error: ${u}.`);
|
||
|
}
|
||
|
} else {
|
||
|
this._resetCallStore();
|
||
|
return;
|
||
|
}
|
||
|
const l = this._getFeatureButtonDefaultState(zA.Camera) === JA.Close;
|
||
|
n === F.VIDEO && !l && await this.openCamera(o.LOCAL_VIDEO);
|
||
|
const i = d.getData(c.CALL, o.LOCAL_USER_INFO);
|
||
|
d.update(c.CALL, o.LOCAL_USER_INFO, { ...i, isEnter: !0 }), d.update(c.CALL, o.LOCAL_USER_INFO_EXCLUDE_VOLUMN, { ...i, isEnter: !0 }), FA(!0, o.AUDIO);
|
||
|
} else
|
||
|
this._permissionCheckTimer && clearInterval(this._permissionCheckTimer), this._permissionCheckTimer = null, this._resetCallStore();
|
||
|
}
|
||
|
_getFeatureButtonDefaultState(A) {
|
||
|
var e;
|
||
|
const { button: t } = d.getData(c.CALL, o.CUSTOM_UI_CONFIG);
|
||
|
return (e = t == null ? void 0 : t[A]) == null ? void 0 : e.state;
|
||
|
}
|
||
|
_updateCallDuration() {
|
||
|
const A = Math.round((Ot() - this._startTimeStamp) / 1e3), t = No(A);
|
||
|
d.update(c.CALL, o.CALL_DURATION, t);
|
||
|
}
|
||
|
_stopTimer() {
|
||
|
this._timerId !== -1 && (nt.clearTask(this._timerId), this._timerId = -1);
|
||
|
}
|
||
|
_resetCallStore() {
|
||
|
const A = _e();
|
||
|
this._stopTimer();
|
||
|
let t = Object.keys(Ke).filter((n) => {
|
||
|
switch (Ke[n]) {
|
||
|
case o.CALL_STATUS:
|
||
|
case o.LANGUAGE:
|
||
|
case o.IS_GROUP:
|
||
|
case o.DISPLAY_MODE:
|
||
|
case o.VIDEO_RESOLUTION:
|
||
|
case o.ENABLE_FLOAT_WINDOW:
|
||
|
case o.LOCAL_USER_INFO:
|
||
|
case o.IS_SHOW_ENABLE_VIRTUAL_BACKGROUND:
|
||
|
case o.LOCAL_USER_INFO_EXCLUDE_VOLUMN:
|
||
|
return !1;
|
||
|
default:
|
||
|
return !0;
|
||
|
}
|
||
|
});
|
||
|
t = t.map((n) => Ke[n]), d.reset(c.CALL, t), d.getData(c.CALL, o.CALL_STATUS) !== U.IDLE && d.reset(c.CALL, [o.CALL_STATUS], !0), d.reset(c.CALL, [o.IS_MINIMIZED], !0), d.reset(c.CALL, [o.IS_EAR_PHONE], !0), d.reset(c.CALL, [o.ENABLE_VIRTUAL_BACKGROUND], !0), d.reset(c.CALL, [o.IS_MUTE_SPEAKER], !0), d.update(c.CALL, o.LOCAL_USER_INFO, {
|
||
|
...d.getData(c.CALL, o.LOCAL_USER_INFO),
|
||
|
isVideoAvailable: !1,
|
||
|
isAudioAvailable: !1
|
||
|
}), d.update(c.CALL, o.LOCAL_USER_INFO_EXCLUDE_VOLUMN, {
|
||
|
...d.getData(c.CALL, o.LOCAL_USER_INFO_EXCLUDE_VOLUMN),
|
||
|
isVideoAvailable: !1,
|
||
|
isAudioAvailable: !1
|
||
|
}), d.update(c.CALL, o.REMOTE_USER_INFO_LIST, []), d.update(c.CALL, o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST, []);
|
||
|
const a = _e();
|
||
|
A !== a && this.statusChanged && this.statusChanged({ oldStatus: A, newStatus: a });
|
||
|
}
|
||
|
async getGroupMemberList(A, t) {
|
||
|
const e = d.getData(c.CALL, o.GROUP_ID);
|
||
|
return await di(e, this.getTim(), A, t);
|
||
|
}
|
||
|
async getGroupProfile() {
|
||
|
const A = d.getData(c.CALL, o.GROUP_ID);
|
||
|
return await Ii(A, this.getTim());
|
||
|
}
|
||
|
_watchTUIStore() {
|
||
|
d == null || d.watch(c.CALL, {
|
||
|
[o.CALL_STATUS]: this._handleCallStatusChange
|
||
|
});
|
||
|
}
|
||
|
_unwatchTUIStore() {
|
||
|
d == null || d.unwatch(c.CALL, {
|
||
|
[o.CALL_STATUS]: this._handleCallStatusChange
|
||
|
});
|
||
|
}
|
||
|
bindTUICore(A) {
|
||
|
this._TUICore = A;
|
||
|
}
|
||
|
getTim() {
|
||
|
var A, t;
|
||
|
return this._tim ? this._tim : this._tuiCallEngine ? ((A = this._tuiCallEngine) == null ? void 0 : A.tim) || ((t = this._tuiCallEngine) == null ? void 0 : t.getTim()) : (console.warn(`${o.PREFIX}getTim warning: _tuiCallEngine Instance is not available.`), null);
|
||
|
}
|
||
|
setIsFromChat(A) {
|
||
|
this._isFromChat = A;
|
||
|
}
|
||
|
setCurrentGroupId(A) {
|
||
|
this._currentGroupId = A;
|
||
|
}
|
||
|
getCurrentGroupId() {
|
||
|
return this._currentGroupId;
|
||
|
}
|
||
|
setDefaultOfflinePushInfo(A) {
|
||
|
this._defaultOfflinePushInfo = A;
|
||
|
}
|
||
|
getDefaultOfflinePushInfo() {
|
||
|
return this._defaultOfflinePushInfo;
|
||
|
}
|
||
|
async getCallMessage(A) {
|
||
|
return await this._chatCombine.getCallKitMessage(A, this.getTim());
|
||
|
}
|
||
|
};
|
||
|
let G = te;
|
||
|
Q([
|
||
|
$(),
|
||
|
cA(rA.init)
|
||
|
], G.prototype, "init", 1);
|
||
|
Q([
|
||
|
$(),
|
||
|
cA(rA.call),
|
||
|
ht({ engineInstance: !0 })
|
||
|
], G.prototype, "call", 1);
|
||
|
Q([
|
||
|
$(),
|
||
|
cA(rA.groupCall),
|
||
|
ht({ engineInstance: !0 })
|
||
|
], G.prototype, "groupCall", 1);
|
||
|
Q([
|
||
|
$(),
|
||
|
cA(rA.inviteUser),
|
||
|
ht({ engineInstance: !0 })
|
||
|
], G.prototype, "inviteUser", 1);
|
||
|
Q([
|
||
|
$(),
|
||
|
cA(rA.joinInGroupCall),
|
||
|
ht({ engineInstance: !0 })
|
||
|
], G.prototype, "joinInGroupCall", 1);
|
||
|
Q([
|
||
|
cA(rA.setLanguage)
|
||
|
], G.prototype, "setLanguage", 1);
|
||
|
Q([
|
||
|
cA(rA.enableFloatWindow)
|
||
|
], G.prototype, "enableFloatWindow", 1);
|
||
|
Q([
|
||
|
cA(rA.setSelfInfo)
|
||
|
], G.prototype, "setSelfInfo", 1);
|
||
|
Q([
|
||
|
cA(rA.enableAIVoice)
|
||
|
], G.prototype, "enableAIVoice", 1);
|
||
|
Q([
|
||
|
cA(rA.setCallingBell)
|
||
|
], G.prototype, "setCallingBell", 1);
|
||
|
Q([
|
||
|
cA(rA.enableMuteMode)
|
||
|
], G.prototype, "enableMuteMode", 1);
|
||
|
Q([
|
||
|
$()
|
||
|
], G.prototype, "accept", 1);
|
||
|
Q([
|
||
|
$()
|
||
|
], G.prototype, "hangup", 1);
|
||
|
Q([
|
||
|
$()
|
||
|
], G.prototype, "reject", 1);
|
||
|
Q([
|
||
|
$()
|
||
|
], G.prototype, "openCamera", 1);
|
||
|
Q([
|
||
|
$()
|
||
|
], G.prototype, "closeCamera", 1);
|
||
|
Q([
|
||
|
$()
|
||
|
], G.prototype, "openMicrophone", 1);
|
||
|
Q([
|
||
|
$()
|
||
|
], G.prototype, "closeMicrophone", 1);
|
||
|
Q([
|
||
|
$()
|
||
|
], G.prototype, "unMuteSpeaker", 1);
|
||
|
Q([
|
||
|
$()
|
||
|
], G.prototype, "muteSpeaker", 1);
|
||
|
Q([
|
||
|
$()
|
||
|
], G.prototype, "switchScreen", 1);
|
||
|
Q([
|
||
|
$()
|
||
|
], G.prototype, "switchCallMediaType", 1);
|
||
|
Q([
|
||
|
$()
|
||
|
], G.prototype, "switchCamera", 1);
|
||
|
Q([
|
||
|
$()
|
||
|
], G.prototype, "setBlurBackground", 1);
|
||
|
Q([
|
||
|
$()
|
||
|
], G.prototype, "switchDevice", 1);
|
||
|
Q([
|
||
|
cA(rA.setVideoDisplayMode)
|
||
|
], G.prototype, "setVideoDisplayMode", 1);
|
||
|
Q([
|
||
|
cA(rA.setVideoResolution)
|
||
|
], G.prototype, "setVideoResolution", 1);
|
||
|
const O = G.getInstance(), Ft = Xt.version, To = "CallInfoContextKey", Co = "CallerUserInfoContextKey", yo = "UserInfoExcludeVolumeContextKey", So = "FocusContextKey", Eo = "ButtonPanelContextKey", ho = "FloatWindowContextKey", mo = "IsClickableContextKey", jo = "PopoverContextKey", vo = "CustomUIConfigContextKey";
|
||
|
function vi() {
|
||
|
return NA(Co);
|
||
|
}
|
||
|
function q() {
|
||
|
return NA(To);
|
||
|
}
|
||
|
function mt(A) {
|
||
|
const t = I([]), e = I(""), a = (l) => {
|
||
|
var i, u, s;
|
||
|
switch (A) {
|
||
|
case oA.CAMERA:
|
||
|
t.value = (l == null ? void 0 : l.cameraList) || [], e.value = ((i = l == null ? void 0 : l.currentCamera) == null ? void 0 : i.deviceId) || "";
|
||
|
break;
|
||
|
case oA.MICROPHONE:
|
||
|
t.value = (l == null ? void 0 : l.microphoneList) || [], e.value = ((u = l == null ? void 0 : l.currentMicrophone) == null ? void 0 : u.deviceId) || "";
|
||
|
break;
|
||
|
case oA.SPEAKER:
|
||
|
t.value = (l == null ? void 0 : l.speakerList) || [], e.value = ((s = l == null ? void 0 : l.currentSpeaker) == null ? void 0 : s.deviceId) || "";
|
||
|
break;
|
||
|
}
|
||
|
}, n = (l) => {
|
||
|
e.value = l;
|
||
|
};
|
||
|
return aA(() => {
|
||
|
d.watch(
|
||
|
c.CALL,
|
||
|
{
|
||
|
[o.DEVICE_LIST]: a
|
||
|
},
|
||
|
{
|
||
|
notifyRangeWhenWatch: o.MYSELF
|
||
|
}
|
||
|
);
|
||
|
}), tA(() => {
|
||
|
d.unwatch(c.CALL, {
|
||
|
[o.DEVICE_LIST]: a
|
||
|
});
|
||
|
}), [{ deviceList: t, currentDeviceId: e }, { updateCurrentDeviceId: n }];
|
||
|
}
|
||
|
const Va = (A) => typeof A == "object" && A !== null, fo = (A, t) => {
|
||
|
if (!Va(A) || !Va(t))
|
||
|
return A === t;
|
||
|
if (A === t)
|
||
|
return !0;
|
||
|
const e = Object.keys(A), a = Object.keys(t);
|
||
|
if (e.length !== a.length)
|
||
|
return !1;
|
||
|
for (let n in A)
|
||
|
if (!fo(A[n], t[n]))
|
||
|
return !1;
|
||
|
return !0;
|
||
|
};
|
||
|
function fi(A) {
|
||
|
const t = document.getElementById(A);
|
||
|
!document.fullscreenElement && t ? t.requestFullscreen().catch((e) => {
|
||
|
console.error(`Error attempting to enable fullscreen mode: ${e.message} (${e.name})`);
|
||
|
}) : document.exitFullscreen();
|
||
|
}
|
||
|
function jt(A) {
|
||
|
if (typeof A != "object" || A === null)
|
||
|
return A;
|
||
|
let t = Array.isArray(A) ? [] : {};
|
||
|
for (let e in A)
|
||
|
A.hasOwnProperty(e) && (t[e] = jt(A[e]));
|
||
|
return t;
|
||
|
}
|
||
|
const Li = 500;
|
||
|
function Jt(A, t) {
|
||
|
if (typeof A != "function" || t != null && typeof t != "function")
|
||
|
throw new TypeError("Expected a function");
|
||
|
const e = function(...a) {
|
||
|
const n = t ? t.apply(this, a) : a[0], l = e.cache;
|
||
|
if (l.has(n))
|
||
|
return l.get(n);
|
||
|
const i = A.apply(this, a);
|
||
|
return e.cache = l.set(n, i) || l, i;
|
||
|
};
|
||
|
return e.cache = new (Jt.Cache || Map)(), e;
|
||
|
}
|
||
|
Jt.Cache = Map;
|
||
|
function Ui(A) {
|
||
|
const t = Jt(A, (e) => {
|
||
|
const { cache: a } = t;
|
||
|
return a.size === Li && a.clear(), e;
|
||
|
});
|
||
|
return t;
|
||
|
}
|
||
|
const zi = ".".charCodeAt(0), wi = /\\(\\)?/g, Oi = RegExp(
|
||
|
`[^.[\\]]+|\\[(?:([^"'][^[]*)|(["'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))`,
|
||
|
"g"
|
||
|
), Lo = Ui((A) => {
|
||
|
const t = [];
|
||
|
return A.charCodeAt(0) === zi && t.push(""), A.replace(Oi, (e, a, n, l) => {
|
||
|
let i = e;
|
||
|
n ? i = l.replace(wi, "$1") : a && (i = a.trim()), t.push(i);
|
||
|
}), t;
|
||
|
});
|
||
|
function RA(A, t, e) {
|
||
|
if (typeof A != "object" || !t)
|
||
|
return;
|
||
|
const a = Lo(t);
|
||
|
let n = A;
|
||
|
for (let l = 0; l < a.length; l++) {
|
||
|
if (n == null)
|
||
|
return;
|
||
|
const i = a[l];
|
||
|
l !== a.length - 1 ? n = n == null ? void 0 : n[i] : Object.assign(n, { [i]: e });
|
||
|
}
|
||
|
}
|
||
|
function $A(A, t, e) {
|
||
|
if (typeof A != "object")
|
||
|
return;
|
||
|
const a = Lo(t);
|
||
|
let n = A;
|
||
|
for (let l = 0; l < a.length; l++) {
|
||
|
if (n == null)
|
||
|
return;
|
||
|
const i = a[l];
|
||
|
l !== a.length - 1 ? n = n == null ? void 0 : n[i] : Array.isArray(n) && n.splice(i, 0, e);
|
||
|
}
|
||
|
}
|
||
|
function xi(A) {
|
||
|
return A == null || typeof A == "string" && A.trim().length === 0 ? !0 : Array.isArray(A) || typeof A == "object" ? Object.keys(A).length === 0 : !1;
|
||
|
}
|
||
|
function Gt(A, t, e, a, n) {
|
||
|
Object.keys(A).forEach((l) => {
|
||
|
const i = A[l], u = xi(e) ? l : `${e}.${l}`;
|
||
|
if (typeof i == "object")
|
||
|
if (Array.isArray(i))
|
||
|
for (let s = 0; s < i.length; s++) {
|
||
|
const r = `${u}.${s}`;
|
||
|
Gt(i[s], t, r, a, n);
|
||
|
}
|
||
|
else
|
||
|
Gt(i, t, u, a, n);
|
||
|
else if (t(i)) {
|
||
|
const s = typeof n == "function" ? n({ key: i, value: u }) : u;
|
||
|
a.push(s);
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
function Uo() {
|
||
|
const A = I(), t = I(d.getData(c.CALL, o.REMOTE_USER_INFO_LIST)), e = (l) => {
|
||
|
(j.isWeChat ? l.enableMic : l.isAudioAvailable) && (A.value = { ...A.value, localVideo: l.volume });
|
||
|
}, a = (l) => {
|
||
|
const i = {};
|
||
|
(l.length !== t.value.length || !fo(l, t.value)) && (t.value = l, t.value.forEach((u) => {
|
||
|
if (j.isWeChat ? u.hasAudio : u.isAudioAvailable) {
|
||
|
const r = j.isWeChat ? u.userID : u.domId;
|
||
|
i[r] = u.volume;
|
||
|
}
|
||
|
}), A.value = { ...A.value, ...i });
|
||
|
};
|
||
|
let n = {
|
||
|
[o.LOCAL_USER_INFO]: e,
|
||
|
[o.REMOTE_USER_INFO_LIST]: a
|
||
|
};
|
||
|
return j.isUniPlatform && (n = {
|
||
|
[o.PUSHER]: e,
|
||
|
[o.PLAYER]: a
|
||
|
}), aA(() => {
|
||
|
d.watch(
|
||
|
c.CALL,
|
||
|
n,
|
||
|
{
|
||
|
notifyRangeWhenWatch: o.MYSELF
|
||
|
}
|
||
|
);
|
||
|
}), tA(() => {
|
||
|
d.unwatch(c.CALL, n);
|
||
|
}), A;
|
||
|
}
|
||
|
function Vi() {
|
||
|
const A = I(""), t = I(!0), e = I(0), a = (l) => {
|
||
|
e.value = 0, A.value = l;
|
||
|
}, n = (l) => {
|
||
|
let i = l;
|
||
|
typeof i == "object" && (i = l == null ? void 0 : l.text), i && (e.value = 2e3, A.value = i);
|
||
|
};
|
||
|
return aA(() => {
|
||
|
d.watch(
|
||
|
c.CALL,
|
||
|
{
|
||
|
[o.CALL_TIPS]: a
|
||
|
},
|
||
|
{
|
||
|
notifyRangeWhenWatch: o.MYSELF
|
||
|
}
|
||
|
), d.watch(
|
||
|
c.CALL,
|
||
|
{
|
||
|
[o.TOAST_INFO]: n
|
||
|
}
|
||
|
);
|
||
|
}), tA(() => {
|
||
|
d.unwatch(
|
||
|
c.CALL,
|
||
|
{
|
||
|
[o.CALL_TIPS]: a,
|
||
|
[o.TOAST_INFO]: n
|
||
|
}
|
||
|
);
|
||
|
}), { tip: A, show: t, duration: e };
|
||
|
}
|
||
|
function bi() {
|
||
|
const A = I(d.getData(c.CALL, o.NETWORK_STATUS)), t = (e) => {
|
||
|
A.value = e;
|
||
|
};
|
||
|
return aA(() => {
|
||
|
d.watch(
|
||
|
c.CALL,
|
||
|
{
|
||
|
[o.NETWORK_STATUS]: t
|
||
|
},
|
||
|
{
|
||
|
notifyRangeWhenWatch: o.MYSELF
|
||
|
}
|
||
|
);
|
||
|
}), tA(() => {
|
||
|
d.unwatch(c.CALL, {
|
||
|
[o.NETWORK_STATUS]: t
|
||
|
});
|
||
|
}), { netWorkQualityList: A };
|
||
|
}
|
||
|
function zo() {
|
||
|
const A = I(d.getData(c.CALL, o.PLAYER)), t = (a) => {
|
||
|
A.value = a == null ? void 0 : a.map((n) => {
|
||
|
const { userID: l, hasVideo: i, hasAudio: u } = n;
|
||
|
return { userID: l, hasVideo: i, hasAudio: u };
|
||
|
});
|
||
|
}, e = {
|
||
|
[o.PLAYER]: t
|
||
|
};
|
||
|
return aA(() => {
|
||
|
d.watch(
|
||
|
c.CALL,
|
||
|
e,
|
||
|
{ notifyRangeWhenWatch: o.MYSELF }
|
||
|
);
|
||
|
}), tA(() => {
|
||
|
d.unwatch(c.CALL, e);
|
||
|
}), A;
|
||
|
}
|
||
|
function MA() {
|
||
|
return NA(yo);
|
||
|
}
|
||
|
function Ht() {
|
||
|
const A = I(d.getData(c.CALL, o.CALL_DURATION)), t = (e) => {
|
||
|
A.value = e;
|
||
|
};
|
||
|
return aA(() => {
|
||
|
d.watch(
|
||
|
c.CALL,
|
||
|
{
|
||
|
[o.CALL_DURATION]: t
|
||
|
},
|
||
|
{
|
||
|
notifyRangeWhenWatch: o.MYSELF
|
||
|
}
|
||
|
);
|
||
|
}), tA(() => {
|
||
|
d.unwatch(
|
||
|
c.CALL,
|
||
|
{
|
||
|
[o.CALL_DURATION]: t
|
||
|
}
|
||
|
);
|
||
|
}), { callDuration: A };
|
||
|
}
|
||
|
function We() {
|
||
|
return NA(Eo, { status: I("open") });
|
||
|
}
|
||
|
function wo() {
|
||
|
return NA(So, I("open"));
|
||
|
}
|
||
|
function CA() {
|
||
|
return NA(ho);
|
||
|
}
|
||
|
function Bi() {
|
||
|
return NA(mo);
|
||
|
}
|
||
|
function vt() {
|
||
|
return NA(jo);
|
||
|
}
|
||
|
const Fi = (A, t) => {
|
||
|
const e = [{
|
||
|
i: 0,
|
||
|
x: 0,
|
||
|
y: 0,
|
||
|
w: t,
|
||
|
h: t
|
||
|
}];
|
||
|
for (let a = 1; a < A; a++) {
|
||
|
const n = e[a - 1].x + t === 12;
|
||
|
e[a] = {
|
||
|
i: a,
|
||
|
x: e[a - 1].x + t === 12 ? 0 : e[a - 1].x + t,
|
||
|
y: e[a - 1].y + (n ? t : 0),
|
||
|
w: t,
|
||
|
h: t
|
||
|
};
|
||
|
}
|
||
|
return A === 3 && (e[A - 1].x += 3), A > 3 && j.isPC && A % 3 === 2 && (e[A - 1].x += 2, e[A - 2].x += 2), e;
|
||
|
};
|
||
|
function Ri(A, t) {
|
||
|
const { isFloatWindow: e } = z(CA()), a = I();
|
||
|
return J([A, t, e], () => {
|
||
|
if (e.value) {
|
||
|
const r = [];
|
||
|
for (let M = 0; M < t.value; M++)
|
||
|
r[M] = {
|
||
|
i: M,
|
||
|
x: 0,
|
||
|
y: 0,
|
||
|
w: 12,
|
||
|
h: 12
|
||
|
};
|
||
|
a.value = r;
|
||
|
return;
|
||
|
}
|
||
|
const n = Object.keys(Array.from({ length: t.value })), l = t.value <= 4 ? 6 : 4, i = Fi(t.value, l);
|
||
|
a.value = i;
|
||
|
let u, s;
|
||
|
if (A.value !== null) {
|
||
|
if (n.length < 5) {
|
||
|
const r = n.concat();
|
||
|
r.splice(A.value, 1), r.unshift(A.value);
|
||
|
} else
|
||
|
s = A.value % 3, u = Math.floor(A.value / 3);
|
||
|
if (n.length < 5) {
|
||
|
const r = i.findIndex((M) => M.i === A.value);
|
||
|
if (r !== -1) {
|
||
|
const M = i[0];
|
||
|
i[0] = i[r], i[r] = M;
|
||
|
for (let D = 0; D < i.length; D++) {
|
||
|
const g = i[D];
|
||
|
D === 0 ? (g.w += 6, g.h += 6, g.x = 0, g.y = 0) : (g.x = (D - 1) * 4, g.y = 12, g.w = 4, g.h = 4);
|
||
|
}
|
||
|
}
|
||
|
} else {
|
||
|
let r;
|
||
|
s === 0 ? (i[A.value + 1] && (i[A.value + 1].x += 4), i[A.value + 2] && (i[A.value + 2].y += 4), r = {
|
||
|
i: A.value,
|
||
|
x: 0,
|
||
|
y: u * 4,
|
||
|
w: 8,
|
||
|
h: 8
|
||
|
}) : s === 2 ? (r = {
|
||
|
i: A.value,
|
||
|
x: 4,
|
||
|
y: u * 4,
|
||
|
w: 8,
|
||
|
h: 8
|
||
|
}, i[A.value - 1].x = 0, i[A.value - 1].y += 4) : s === 1 && (r = {
|
||
|
i: A.value,
|
||
|
x: 4,
|
||
|
y: u * 4,
|
||
|
w: 8,
|
||
|
h: 8
|
||
|
}, i[A.value + 1] && (i[A.value + 1].x = 0, i[A.value + 1].y += 4));
|
||
|
const M = 3 - s;
|
||
|
for (let D = A.value + M; D < i.length; D++) {
|
||
|
const g = i[D];
|
||
|
g.y += 4;
|
||
|
}
|
||
|
i[A.value] = r;
|
||
|
}
|
||
|
a.value = i;
|
||
|
}
|
||
|
}, {
|
||
|
immediate: !0
|
||
|
}), a;
|
||
|
}
|
||
|
function Ge() {
|
||
|
return NA(vo);
|
||
|
}
|
||
|
const ki = {
|
||
|
calling: [[
|
||
|
{ name: "switchCamera", customStyle: { justifyContent: "flex-start" }, props: {} },
|
||
|
{ name: "virtualBackground" },
|
||
|
{ name: "camera", customStyle: { justifyContent: "flex-end" }, props: {} }
|
||
|
], [
|
||
|
{},
|
||
|
{ name: "hangup", customStyle: { paddingTop: "6vh" } },
|
||
|
{}
|
||
|
]],
|
||
|
accept: [[
|
||
|
{ name: "switchCamera", customStyle: { justifyContent: "flex-start" }, props: {} },
|
||
|
{ name: "virtualBackground" },
|
||
|
{ name: "camera", customStyle: { justifyContent: "flex-end" }, props: {} }
|
||
|
], [
|
||
|
{ name: "reject", customStyle: { paddingTop: "6vh", justifyContent: "center" } },
|
||
|
{},
|
||
|
{ name: "accept", customStyle: { paddingTop: "6vh", justifyContent: "center" } }
|
||
|
]],
|
||
|
connected: [[
|
||
|
{ name: "microphone", customStyle: { justifyContent: "flex-start" }, props: {} },
|
||
|
{ name: "speaker" },
|
||
|
{ name: "camera", customStyle: { justifyContent: "flex-end" }, props: {} }
|
||
|
], [
|
||
|
{ name: "virtualBackground", customStyle: { justifyContent: "center", paddingTop: "6vh" }, props: {} },
|
||
|
{ name: "hangup", customStyle: { paddingTop: "6vh" } },
|
||
|
{ name: "switchCamera", customStyle: { justifyContent: "center", paddingTop: "6vh" }, props: {} }
|
||
|
]]
|
||
|
}, Pi = {
|
||
|
singleCall: {
|
||
|
video: {
|
||
|
calling: [
|
||
|
[],
|
||
|
[
|
||
|
{},
|
||
|
{ name: "hangup" },
|
||
|
{}
|
||
|
]
|
||
|
],
|
||
|
accept: [
|
||
|
[],
|
||
|
[
|
||
|
{ name: "reject", customStyle: { justifyContent: "flex-end" } },
|
||
|
{},
|
||
|
{ name: "accept", customStyle: { justifyContent: "flex-start" } }
|
||
|
]
|
||
|
],
|
||
|
connected: [
|
||
|
[
|
||
|
{ name: "microphone", customStyle: { justifyContent: "flex-start" }, props: {} },
|
||
|
{ name: "speaker" },
|
||
|
{ name: "camera", customStyle: { justifyContent: "flex-end" }, props: {} }
|
||
|
],
|
||
|
[
|
||
|
{},
|
||
|
{ name: "hangup", customStyle: { paddingTop: "6vh" } },
|
||
|
{ name: "switchCamera", customStyle: { justifyContent: "center", paddingTop: "6vh" }, props: {} }
|
||
|
]
|
||
|
]
|
||
|
},
|
||
|
audio: {
|
||
|
calling: [
|
||
|
[],
|
||
|
[
|
||
|
{},
|
||
|
{ name: "hangup" },
|
||
|
{}
|
||
|
]
|
||
|
],
|
||
|
accept: [
|
||
|
[],
|
||
|
[
|
||
|
{ name: "reject", customStyle: { justifyContent: "flex-end" } },
|
||
|
{},
|
||
|
{ name: "accept", customStyle: { justifyContent: "flex-start" } }
|
||
|
]
|
||
|
],
|
||
|
connected: [
|
||
|
[],
|
||
|
[
|
||
|
{ name: "microphone", customStyle: { justifyContent: "flex-start" }, props: {} },
|
||
|
{ name: "hangup" },
|
||
|
{ name: "speaker", customStyle: { justifyContent: "flex-end" } }
|
||
|
]
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
groupCall: {
|
||
|
video: {
|
||
|
calling: [[
|
||
|
{ name: "microphone", customStyle: { justifyContent: "flex-start" }, props: {} },
|
||
|
{ name: "speaker" },
|
||
|
{ name: "camera", customStyle: { justifyContent: "flex-end" }, props: {} }
|
||
|
], [
|
||
|
{},
|
||
|
{ name: "hangup", customStyle: { paddingTop: "6vh" } },
|
||
|
{}
|
||
|
]],
|
||
|
accept: [
|
||
|
[],
|
||
|
[
|
||
|
{ name: "reject" },
|
||
|
{ name: "accept" }
|
||
|
]
|
||
|
],
|
||
|
connected: [
|
||
|
[
|
||
|
{ name: "microphone", customStyle: { justifyContent: "flex-start" }, props: {} },
|
||
|
{ name: "speaker" },
|
||
|
{ name: "camera", customStyle: { justifyContent: "flex-end" }, props: {} }
|
||
|
],
|
||
|
[
|
||
|
{},
|
||
|
{ name: "hangup", customStyle: { paddingTop: "6vh" } },
|
||
|
{}
|
||
|
]
|
||
|
],
|
||
|
close_calling: [
|
||
|
[
|
||
|
{ name: "microphone", props: {} },
|
||
|
{ name: "speaker" },
|
||
|
{ name: "camera", props: {} },
|
||
|
{ name: "hangup" }
|
||
|
]
|
||
|
],
|
||
|
close_connected: [
|
||
|
[
|
||
|
{ name: "microphone", props: {} },
|
||
|
{ name: "speaker" },
|
||
|
{ name: "camera", props: {} },
|
||
|
{ name: "hangup" }
|
||
|
]
|
||
|
]
|
||
|
},
|
||
|
audio: {
|
||
|
calling: [[
|
||
|
{ name: "microphone", customStyle: { justifyContent: "flex-start" }, props: {} },
|
||
|
{ name: "speaker" },
|
||
|
{ name: "camera", customStyle: { justifyContent: "flex-end" }, props: {} }
|
||
|
], [
|
||
|
{},
|
||
|
{ name: "hangup", customStyle: { paddingTop: "6vh" } },
|
||
|
{}
|
||
|
]],
|
||
|
accept: [
|
||
|
[],
|
||
|
[
|
||
|
{ name: "reject" },
|
||
|
{ name: "accept" }
|
||
|
]
|
||
|
],
|
||
|
connected: [
|
||
|
[
|
||
|
{ name: "microphone", customStyle: { justifyContent: "flex-start" }, props: {} },
|
||
|
{ name: "speaker" },
|
||
|
{ name: "camera", customStyle: { justifyContent: "flex-end" }, props: {} }
|
||
|
],
|
||
|
[
|
||
|
{},
|
||
|
{ name: "hangup", customStyle: { paddingTop: "6vh" } },
|
||
|
{}
|
||
|
]
|
||
|
],
|
||
|
close_calling: [
|
||
|
[
|
||
|
{ name: "microphone", props: {} },
|
||
|
{ name: "speaker" },
|
||
|
{ name: "camera", props: {} },
|
||
|
{ name: "hangup" }
|
||
|
]
|
||
|
],
|
||
|
close_connected: [
|
||
|
[
|
||
|
{ name: "microphone", props: {} },
|
||
|
{ name: "speaker" },
|
||
|
{ name: "camera", props: {} },
|
||
|
{ name: "hangup" }
|
||
|
]
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
}, Wi = {
|
||
|
singleCall: {
|
||
|
video: {
|
||
|
calling: [
|
||
|
[
|
||
|
{ name: "camera", props: {} },
|
||
|
{ name: "microphone", props: {} },
|
||
|
{ name: "hangup" }
|
||
|
]
|
||
|
],
|
||
|
accept: [
|
||
|
[
|
||
|
{ name: "camera", props: {} },
|
||
|
{ name: "reject" },
|
||
|
{ name: "accept" }
|
||
|
]
|
||
|
],
|
||
|
connected: [
|
||
|
[
|
||
|
{ name: "camera", props: {} },
|
||
|
{ name: "microphone", props: {} },
|
||
|
{ name: "speaker" },
|
||
|
{ name: "hangup" }
|
||
|
]
|
||
|
]
|
||
|
},
|
||
|
audio: {
|
||
|
calling: [
|
||
|
[
|
||
|
{ name: "microphone", props: {} },
|
||
|
{ name: "hangup" }
|
||
|
]
|
||
|
],
|
||
|
accept: [
|
||
|
[
|
||
|
{ name: "reject" },
|
||
|
{ name: "accept" }
|
||
|
]
|
||
|
],
|
||
|
connected: [
|
||
|
[
|
||
|
{ name: "microphone", props: {} },
|
||
|
{ name: "speaker" },
|
||
|
{ name: "hangup" }
|
||
|
]
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
groupCall: {
|
||
|
video: {
|
||
|
calling: [[
|
||
|
{ name: "camera", props: {} },
|
||
|
{ name: "microphone", props: {} },
|
||
|
{ name: "inviteUser", props: {} },
|
||
|
{ name: "hangup" }
|
||
|
]],
|
||
|
accept: [
|
||
|
[
|
||
|
{ name: "reject" },
|
||
|
{ name: "accept" }
|
||
|
]
|
||
|
],
|
||
|
connected: [
|
||
|
[
|
||
|
{ name: "camera", props: {} },
|
||
|
{ name: "microphone", props: {} },
|
||
|
{ name: "speaker" },
|
||
|
{ name: "inviteUser", props: {} },
|
||
|
{ name: "hangup" }
|
||
|
]
|
||
|
]
|
||
|
},
|
||
|
audio: {
|
||
|
calling: [
|
||
|
[
|
||
|
{ name: "microphone", props: {} },
|
||
|
{ name: "hangup" }
|
||
|
]
|
||
|
],
|
||
|
accept: [
|
||
|
[
|
||
|
{ name: "reject" },
|
||
|
{ name: "accept" }
|
||
|
]
|
||
|
],
|
||
|
connected: [
|
||
|
[
|
||
|
{ name: "microphone", props: {} },
|
||
|
{ name: "speaker" },
|
||
|
{ name: "inviteUser", props: {} },
|
||
|
{ name: "hangup" }
|
||
|
]
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
}, ba = {
|
||
|
pc: Wi,
|
||
|
mobile: Pi
|
||
|
};
|
||
|
function Oo(A) {
|
||
|
const t = jt(A);
|
||
|
return RA(t, "mobile.singleCall.video", ki), $A(t, "pc.singleCall.video.calling[0][2]", { name: "virtualBackground", props: {} }), $A(t, "pc.singleCall.video.accept[0][1]", { name: "virtualBackground", props: {} }), $A(t, "pc.singleCall.video.connected[0][3]", { name: "virtualBackground", props: {} }), $A(t, "pc.groupCall.video.calling[0][3]", { name: "virtualBackground", props: {} }), $A(t, "pc.groupCall.video.connected[0][4]", { name: "virtualBackground", props: {} }), t;
|
||
|
}
|
||
|
function Gi(A, t, e) {
|
||
|
let a = jt(A);
|
||
|
return t ? (RA(a, "mobile.singleCall.video.connected[1][2].props.show", !0), e && Oo(a)) : (RA(a, "mobile.singleCall.video.connected[1][2].props.show", !1), e && (RA(a, "mobile.singleCall.video.connected[1][0].props.show", !1), RA(a, "pc.singleCall.video.connected[0][3].props.show", !1), RA(a, "pc.groupCall.video.connected[0][4].props.show", !1))), a;
|
||
|
}
|
||
|
function Qi() {
|
||
|
const { isShowEnableVirtualBackground: A, callStatus: t } = z(q()), e = Ge(), { localUserInfoExcludeVolume: a } = z(MA()), n = p(() => (a == null ? void 0 : a.value.isVideoAvailable) || !1), l = p(() => A.value && !j.isH5), i = I([]);
|
||
|
return J([e, A, n], () => {
|
||
|
let u = jt(ba);
|
||
|
l.value && (u = Oo(ba)), t.value === U.CONNECTED && (u = Gi(u, n.value, l.value));
|
||
|
const { button: s } = e.value, r = [];
|
||
|
function M(g) {
|
||
|
return Object.keys(s).includes(g);
|
||
|
}
|
||
|
function D({ key: g, value: N }) {
|
||
|
var w;
|
||
|
const y = N.split(".");
|
||
|
let T = y.slice(0, y.length - 1);
|
||
|
const C = y.slice(0, y.length - 2);
|
||
|
if (C[C.length - 1] === "0")
|
||
|
for (let L = 0; L < 3; L++) {
|
||
|
let m = C.slice();
|
||
|
m.push(L), m.push("customStyle"), m.push("justifyContent"), m = m.join("."), r.push({ path: m, value: "center" });
|
||
|
}
|
||
|
return T.push("props"), T.push("show"), T = T.join("."), {
|
||
|
path: T,
|
||
|
value: (w = s == null ? void 0 : s[g]) == null ? void 0 : w.show
|
||
|
};
|
||
|
}
|
||
|
Gt(u, M, "", r, D), r == null || r.forEach((g) => {
|
||
|
RA(u, g.path, g.value);
|
||
|
}), i.value = u;
|
||
|
}, {
|
||
|
immediate: !0
|
||
|
}), i;
|
||
|
}
|
||
|
function xo() {
|
||
|
const A = Ge(), t = I(A.value.viewBackground);
|
||
|
return J(A, () => {
|
||
|
t.value = A.value.viewBackground;
|
||
|
}), t;
|
||
|
}
|
||
|
function Zi() {
|
||
|
const A = I(d.getData(c.CALL, o.ROOM_ID)), t = I(d.getData(c.CALL, o.ROOM_ID_TYPE)), e = I(d.getData(c.CALL, o.GROUP_ID)), a = I(d.getData(c.CALL, o.CALL_MEDIA_TYPE)), n = I(d.getData(c.CALL, o.GROUP_CALL_MEMBERS)), l = I(d.getData(c.CALL, o.CALL_STATUS)), i = (N) => {
|
||
|
A.value = N;
|
||
|
}, u = (N) => {
|
||
|
e.value = N;
|
||
|
}, s = (N) => {
|
||
|
a.value = N;
|
||
|
}, r = (N) => {
|
||
|
n.value = N;
|
||
|
}, M = (N) => {
|
||
|
l.value = N;
|
||
|
}, D = (N) => {
|
||
|
t.value = N;
|
||
|
}, g = {
|
||
|
[o.ROOM_ID]: i,
|
||
|
[o.GROUP_ID]: u,
|
||
|
[o.CALL_MEDIA_TYPE]: s,
|
||
|
[o.GROUP_CALL_MEMBERS]: r,
|
||
|
[o.CALL_STATUS]: M,
|
||
|
[o.ROOM_ID_TYPE]: D
|
||
|
};
|
||
|
return aA(() => {
|
||
|
d.watch(
|
||
|
c.CALL,
|
||
|
g,
|
||
|
{
|
||
|
notifyRangeWhenWatch: o.MYSELF
|
||
|
}
|
||
|
);
|
||
|
}), tA(() => {
|
||
|
d.unwatch(c.CALL, g);
|
||
|
}), {
|
||
|
roomId: A,
|
||
|
roomIdType: t,
|
||
|
groupId: e,
|
||
|
callMediaType: a,
|
||
|
groupCallMembers: n,
|
||
|
callStatus: l
|
||
|
};
|
||
|
}
|
||
|
const Yi = {
|
||
|
customStyle: {
|
||
|
type: Object
|
||
|
},
|
||
|
customClass: {
|
||
|
type: String
|
||
|
}
|
||
|
}, Xi = ["start", "center", "end", "space-around", "space-between", "space-evenly"], _i = ["top", "middle", "bottom"], qi = {
|
||
|
gutter: {
|
||
|
type: Number,
|
||
|
default: 0
|
||
|
},
|
||
|
justify: {
|
||
|
type: String,
|
||
|
values: Xi,
|
||
|
default: "start"
|
||
|
},
|
||
|
align: {
|
||
|
type: String,
|
||
|
values: _i,
|
||
|
default: "top"
|
||
|
},
|
||
|
customStyle: {
|
||
|
type: Object,
|
||
|
default: () => {
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
function X(...A) {
|
||
|
const t = [], e = {}.hasOwnProperty;
|
||
|
for (let a = 0; a < A.length; a++) {
|
||
|
const n = A[a];
|
||
|
if (!n)
|
||
|
continue;
|
||
|
const l = typeof n;
|
||
|
if (l === "string" || l === "number")
|
||
|
t.push(n);
|
||
|
else if (Array.isArray(n)) {
|
||
|
if (n.length) {
|
||
|
const i = X.apply(null, n);
|
||
|
i && t.push(i);
|
||
|
}
|
||
|
} else if (l === "object") {
|
||
|
if (n.toString !== Object.prototype.toString && !n.toString.toString().includes("[native code]")) {
|
||
|
t.push(n.toString());
|
||
|
continue;
|
||
|
}
|
||
|
for (const i in n)
|
||
|
e.call(n, i) && n[i] && t.push(i);
|
||
|
}
|
||
|
}
|
||
|
return t.join(" ");
|
||
|
}
|
||
|
const se = typeof wx < "u" && typeof wx.getSystemInfoSync == "function" && Boolean(wx.getSystemInfoSync().fontSizeSetting), Ji = typeof uni < "u" && typeof uni > "u", Qt = se || Ji, Hi = typeof uni < "u", Vo = function() {
|
||
|
return (typeof uni < "u" || typeof window < "u") && !Qt;
|
||
|
}();
|
||
|
(function() {
|
||
|
return se ? wx : Hi ? uni : window;
|
||
|
})();
|
||
|
const OA = Vo && window && window.navigator && window.navigator.userAgent || "", Ki = /Android/i.test(OA), $i = /(?:Windows Phone)/.test(OA), As = /(?:SymbianOS)/.test(OA), es = /iPad/i.test(OA) || /iPhone/i.test(OA) || /iPod/i.test(OA), bo = Ki || $i || As || es, WA = Vo && !bo;
|
||
|
WA && OA.includes("Windows NT");
|
||
|
WA && OA.includes("Mac");
|
||
|
function ot(A) {
|
||
|
const t = {};
|
||
|
for (const e in A)
|
||
|
Object.prototype.hasOwnProperty.call(A, e) && A[e] !== void 0 && (t[e] = A[e]);
|
||
|
return t;
|
||
|
}
|
||
|
function ts() {
|
||
|
let A = "unknow";
|
||
|
return typeof Ft == "string" && (A = Ft.split(".")[0]), { version: Ft, majorVersion: A };
|
||
|
}
|
||
|
function Ba(A, t) {
|
||
|
const { key: e, value: a } = t;
|
||
|
return A.find((n) => n[e] === a);
|
||
|
}
|
||
|
const Bo = "RowContextKey", x = "tk", ae = {
|
||
|
SUCCESS: "success",
|
||
|
INFO: "info",
|
||
|
WARNING: "warning",
|
||
|
ERROR: "error"
|
||
|
}, Kt = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
Kt.props = qi;
|
||
|
Kt.setup = (A, t) => {
|
||
|
const e = A, a = p(() => e.gutter);
|
||
|
return gA(Bo, {
|
||
|
gutter: a
|
||
|
}), {
|
||
|
classname: X([`${x}-row`, `${x}-justify-${e.justify}`, `${x}-align-${e.align}`])
|
||
|
};
|
||
|
};
|
||
|
var as = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
class: A.classname,
|
||
|
style: [A.customStyle]
|
||
|
}, [A._t("default")], 2);
|
||
|
}, ns = [];
|
||
|
function S(A, t, e, a, n, l, i, u) {
|
||
|
var s = typeof A == "function" ? A.options : A;
|
||
|
t && (s.render = t, s.staticRenderFns = e, s._compiled = !0), a && (s.functional = !0), l && (s._scopeId = "data-v-" + l);
|
||
|
var r;
|
||
|
if (i ? (r = function(g) {
|
||
|
g = g || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !g && typeof __VUE_SSR_CONTEXT__ < "u" && (g = __VUE_SSR_CONTEXT__), n && n.call(this, g), g && g._registeredComponents && g._registeredComponents.add(i);
|
||
|
}, s._ssrRegister = r) : n && (r = u ? function() {
|
||
|
n.call(
|
||
|
this,
|
||
|
(s.functional ? this.parent : this).$root.$options.shadowRoot
|
||
|
);
|
||
|
} : n), r)
|
||
|
if (s.functional) {
|
||
|
s._injectStyles = r;
|
||
|
var M = s.render;
|
||
|
s.render = function(N, y) {
|
||
|
return r.call(y), M(N, y);
|
||
|
};
|
||
|
} else {
|
||
|
var D = s.beforeCreate;
|
||
|
s.beforeCreate = D ? [].concat(D, r) : [r];
|
||
|
}
|
||
|
return {
|
||
|
exports: A,
|
||
|
options: s
|
||
|
};
|
||
|
}
|
||
|
const Fa = {};
|
||
|
var os = /* @__PURE__ */ S(
|
||
|
Kt,
|
||
|
as,
|
||
|
ns,
|
||
|
!1,
|
||
|
ls,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function ls(A) {
|
||
|
for (let t in Fa)
|
||
|
this[t] = Fa[t];
|
||
|
}
|
||
|
const $t = /* @__PURE__ */ function() {
|
||
|
return os.exports;
|
||
|
}(), is = ["start", "center", "end", "space-around", "space-between", "space-evenly"], ss = ["top", "middle", "bottom"], us = {
|
||
|
span: {
|
||
|
type: Number,
|
||
|
default: 24
|
||
|
},
|
||
|
justify: {
|
||
|
type: String,
|
||
|
values: is,
|
||
|
default: "start"
|
||
|
},
|
||
|
align: {
|
||
|
type: String,
|
||
|
values: ss,
|
||
|
default: "middle"
|
||
|
},
|
||
|
offset: {
|
||
|
type: Number,
|
||
|
default: 0
|
||
|
}
|
||
|
}, Aa = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
Aa.props = us;
|
||
|
Aa.setup = (A, t) => {
|
||
|
const e = A, {
|
||
|
gutter: a
|
||
|
} = NA(Bo, {
|
||
|
gutter: p(() => 0)
|
||
|
}), n = X([`${x}-col`, `${x}-justify-${e.justify}`, `${x}-align-${e.align}`]), l = p(() => `${e.span / 24 * 100}%`), i = p(() => `${e.offset / 24 * 100}%`), u = p(() => `${a.value / 2}px`);
|
||
|
return {
|
||
|
classname: n,
|
||
|
width: l,
|
||
|
marginLeft: i,
|
||
|
paddingLeft: u,
|
||
|
paddingRight: u
|
||
|
};
|
||
|
};
|
||
|
var cs = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
class: A.classname,
|
||
|
style: {
|
||
|
width: A.width,
|
||
|
marginLeft: A.marginLeft,
|
||
|
paddingLeft: A.paddingLeft,
|
||
|
paddingRight: A.paddingRight
|
||
|
}
|
||
|
}, [A._t("default")], 2);
|
||
|
}, rs = [];
|
||
|
const Ra = {};
|
||
|
var Ms = /* @__PURE__ */ S(
|
||
|
Aa,
|
||
|
cs,
|
||
|
rs,
|
||
|
!1,
|
||
|
ds,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function ds(A) {
|
||
|
for (let t in Ra)
|
||
|
this[t] = Ra[t];
|
||
|
}
|
||
|
const ea = /* @__PURE__ */ function() {
|
||
|
return Ms.exports;
|
||
|
}(), Is = {
|
||
|
width: {
|
||
|
type: String,
|
||
|
default: "40px"
|
||
|
},
|
||
|
height: {
|
||
|
type: String,
|
||
|
default: "40px"
|
||
|
},
|
||
|
color: {
|
||
|
type: String
|
||
|
}
|
||
|
}, ta = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
ta.props = Is;
|
||
|
ta.setup = (A, t) => {
|
||
|
const e = A, a = `${x}-loading_dot-container`, n = `${x}-loading_dot`, l = p(() => ({
|
||
|
width: e.width,
|
||
|
height: e.height
|
||
|
})), i = p(() => {
|
||
|
const u = {};
|
||
|
return e.color && (u.backgroundColor = e.color), u;
|
||
|
});
|
||
|
return {
|
||
|
dotContainerClassName: a,
|
||
|
dotClassName: n,
|
||
|
dotContainerStyle: l,
|
||
|
dotStyle: i
|
||
|
};
|
||
|
};
|
||
|
var gs = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
class: A.dotContainerClassName,
|
||
|
style: [A.dotContainerStyle]
|
||
|
}, [e("div", {
|
||
|
class: A.dotClassName,
|
||
|
style: [A.dotStyle]
|
||
|
}), e("div", {
|
||
|
class: A.dotClassName,
|
||
|
style: [A.dotStyle]
|
||
|
}), e("div", {
|
||
|
class: A.dotClassName,
|
||
|
style: [A.dotStyle]
|
||
|
})]);
|
||
|
}, Ns = [];
|
||
|
const ka = {};
|
||
|
var ps = /* @__PURE__ */ S(
|
||
|
ta,
|
||
|
gs,
|
||
|
Ns,
|
||
|
!1,
|
||
|
Ds,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Ds(A) {
|
||
|
for (let t in ka)
|
||
|
this[t] = ka[t];
|
||
|
}
|
||
|
const Ts = /* @__PURE__ */ function() {
|
||
|
return ps.exports;
|
||
|
}(), Cs = {
|
||
|
width: {
|
||
|
type: String,
|
||
|
default: "40px"
|
||
|
},
|
||
|
height: {
|
||
|
type: String,
|
||
|
default: "40px"
|
||
|
},
|
||
|
color: {
|
||
|
type: String
|
||
|
}
|
||
|
}, aa = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
aa.props = Cs;
|
||
|
aa.setup = (A, t) => {
|
||
|
const e = A, a = p(() => {
|
||
|
const l = {
|
||
|
width: e.width,
|
||
|
height: e.height
|
||
|
};
|
||
|
return e.color && (l["--tk-loading-primary-color"] = e.color), l;
|
||
|
}), n = `${x}-loading_circle-container`;
|
||
|
return {
|
||
|
circleContainerStyle: a,
|
||
|
circleContainerClassName: n
|
||
|
};
|
||
|
};
|
||
|
var ys = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
class: A.circleContainerClassName,
|
||
|
style: [A.circleContainerStyle]
|
||
|
});
|
||
|
}, Ss = [];
|
||
|
const Pa = {};
|
||
|
var Es = /* @__PURE__ */ S(
|
||
|
aa,
|
||
|
ys,
|
||
|
Ss,
|
||
|
!1,
|
||
|
hs,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function hs(A) {
|
||
|
for (let t in Pa)
|
||
|
this[t] = Pa[t];
|
||
|
}
|
||
|
const ms = /* @__PURE__ */ function() {
|
||
|
return Es.exports;
|
||
|
}(), js = ["circle", "dot"], vs = ["row", "column"], fs = {
|
||
|
mode: {
|
||
|
type: String,
|
||
|
values: js,
|
||
|
default: "circle"
|
||
|
},
|
||
|
loadingWidth: {
|
||
|
type: String,
|
||
|
default: "40px"
|
||
|
},
|
||
|
loadingHeight: {
|
||
|
type: String,
|
||
|
default: "40px"
|
||
|
},
|
||
|
color: {
|
||
|
type: String
|
||
|
},
|
||
|
text: {
|
||
|
type: String
|
||
|
},
|
||
|
layout: {
|
||
|
type: String,
|
||
|
values: vs,
|
||
|
default: "column"
|
||
|
}
|
||
|
}, ue = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
ue.props = fs;
|
||
|
ue.setup = (A, t) => {
|
||
|
const e = A, a = `${x}-loading ${x}-loading--${e.mode}`, n = `${x}-loading_text`, l = p(() => ({
|
||
|
flexDirection: e.layout
|
||
|
}));
|
||
|
return {
|
||
|
loadingContainerClassName: a,
|
||
|
loadingTextClassName: n,
|
||
|
loadingContainerStyle: l
|
||
|
};
|
||
|
};
|
||
|
ue.components = Object.assign({
|
||
|
LoadingDot: Ts,
|
||
|
LoadingCircle: ms
|
||
|
}, ue.components);
|
||
|
var Ls = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
class: A.loadingContainerClassName,
|
||
|
style: [A.loadingContainerStyle]
|
||
|
}, [A.mode === "dot" ? e("LoadingDot", {
|
||
|
attrs: {
|
||
|
width: A.loadingWidth,
|
||
|
height: A.loadingHeight,
|
||
|
color: A.color
|
||
|
}
|
||
|
}) : e("LoadingCircle", {
|
||
|
attrs: {
|
||
|
width: A.loadingWidth,
|
||
|
height: A.loadingHeight,
|
||
|
color: A.color
|
||
|
}
|
||
|
}), A.text ? e("div", {
|
||
|
class: A.loadingTextClassName
|
||
|
}, [A._v(A._s(A.text))]) : A._e()], 1);
|
||
|
}, Us = [];
|
||
|
const Wa = {};
|
||
|
var zs = /* @__PURE__ */ S(
|
||
|
ue,
|
||
|
Ls,
|
||
|
Us,
|
||
|
!1,
|
||
|
ws,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function ws(A) {
|
||
|
for (let t in Wa)
|
||
|
this[t] = Wa[t];
|
||
|
}
|
||
|
const na = /* @__PURE__ */ function() {
|
||
|
return zs.exports;
|
||
|
}(), Os = {
|
||
|
src: {
|
||
|
type: String
|
||
|
},
|
||
|
size: {
|
||
|
type: Number,
|
||
|
default: 20
|
||
|
}
|
||
|
}, xs = ["fill", "contain", "cover"], Ga = {
|
||
|
fill: "scaleToFill",
|
||
|
contain: "aspectFit",
|
||
|
cover: "aspectFill"
|
||
|
}, Vs = {
|
||
|
width: {
|
||
|
type: String,
|
||
|
default: "320px"
|
||
|
},
|
||
|
height: {
|
||
|
type: String,
|
||
|
default: "240px"
|
||
|
},
|
||
|
src: {
|
||
|
type: String
|
||
|
},
|
||
|
fit: {
|
||
|
type: String,
|
||
|
values: xs,
|
||
|
default: "fill"
|
||
|
},
|
||
|
customStyle: {
|
||
|
type: Object
|
||
|
},
|
||
|
defaultSrc: {
|
||
|
type: String
|
||
|
}
|
||
|
}, oa = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
oa.props = Vs;
|
||
|
oa.setup = (A, t) => {
|
||
|
const e = A, a = t.emit, n = I(!1), l = I(e.src);
|
||
|
J(() => e.src, () => {
|
||
|
n.value = !1, l.value = e.src;
|
||
|
});
|
||
|
const i = p(() => X([`${x}-image`])), u = p(() => ({
|
||
|
width: e.width,
|
||
|
height: e.height,
|
||
|
...e.customStyle
|
||
|
})), s = p(() => X([`${x}-image_inner`])), r = p(() => se ? Ga[e.fit] || Ga.cover : e.fit);
|
||
|
function M(D) {
|
||
|
n.value = !0, l.value = e.defaultSrc, a("error", D);
|
||
|
}
|
||
|
return {
|
||
|
IN_WX_MINI_APP: se,
|
||
|
hasLoadError: n,
|
||
|
imgSrc: l,
|
||
|
classname: i,
|
||
|
imgStyle: u,
|
||
|
imageClassName: s,
|
||
|
objectFit: r,
|
||
|
handleError: M
|
||
|
};
|
||
|
};
|
||
|
var bs = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
class: A.classname,
|
||
|
style: [A.imgStyle]
|
||
|
}, [A.hasLoadError && !A.defaultSrc ? [A._t("error")] : [A.IN_WX_MINI_APP ? A._e() : e("img", {
|
||
|
class: A.imageClassName,
|
||
|
style: {
|
||
|
objectFit: A.objectFit
|
||
|
},
|
||
|
attrs: {
|
||
|
src: A.imgSrc
|
||
|
},
|
||
|
on: {
|
||
|
error: A.handleError
|
||
|
}
|
||
|
}), A.IN_WX_MINI_APP ? e("image", {
|
||
|
class: A.imageClassName,
|
||
|
attrs: {
|
||
|
src: A.imgSrc,
|
||
|
mode: A.objectFit
|
||
|
},
|
||
|
on: {
|
||
|
error: A.handleError
|
||
|
}
|
||
|
}) : A._e()]], 2);
|
||
|
}, Bs = [];
|
||
|
const Qa = {};
|
||
|
var Fs = /* @__PURE__ */ S(
|
||
|
oa,
|
||
|
bs,
|
||
|
Bs,
|
||
|
!1,
|
||
|
Rs,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Rs(A) {
|
||
|
for (let t in Qa)
|
||
|
this[t] = Qa[t];
|
||
|
}
|
||
|
const SA = /* @__PURE__ */ function() {
|
||
|
return Fs.exports;
|
||
|
}(), ce = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
ce.props = Os;
|
||
|
ce.setup = (A, t) => {
|
||
|
const e = A, a = p(() => `${e.size}px`), n = p(() => `${e.size}px`);
|
||
|
return {
|
||
|
width: a,
|
||
|
height: n
|
||
|
};
|
||
|
};
|
||
|
ce.components = Object.assign({
|
||
|
TKImage: SA
|
||
|
}, ce.components);
|
||
|
var ks = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("TKImage", {
|
||
|
attrs: {
|
||
|
src: A.src,
|
||
|
width: A.width,
|
||
|
height: A.height
|
||
|
}
|
||
|
});
|
||
|
}, Ps = [];
|
||
|
const Za = {};
|
||
|
var Ws = /* @__PURE__ */ S(
|
||
|
ce,
|
||
|
ks,
|
||
|
Ps,
|
||
|
!1,
|
||
|
Gs,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Gs(A) {
|
||
|
for (let t in Za)
|
||
|
this[t] = Za[t];
|
||
|
}
|
||
|
const ft = /* @__PURE__ */ function() {
|
||
|
return Ws.exports;
|
||
|
}(), Qs = ["small", "middle", "large"], Zs = ["row", "column"], Ys = ["circle", "round"], Xs = {
|
||
|
iconSrc: {
|
||
|
type: String
|
||
|
},
|
||
|
iconSize: {
|
||
|
type: Number
|
||
|
},
|
||
|
text: {
|
||
|
type: String
|
||
|
},
|
||
|
loading: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
loadingColor: {
|
||
|
type: String,
|
||
|
default: "#fff"
|
||
|
},
|
||
|
loadingWidth: {
|
||
|
type: String,
|
||
|
default: "40px"
|
||
|
},
|
||
|
loadingHeight: {
|
||
|
type: String,
|
||
|
default: "40px"
|
||
|
},
|
||
|
size: {
|
||
|
type: String,
|
||
|
values: Qs,
|
||
|
default: "middle"
|
||
|
},
|
||
|
width: {
|
||
|
type: String
|
||
|
},
|
||
|
height: {
|
||
|
type: String
|
||
|
},
|
||
|
color: {
|
||
|
type: String
|
||
|
},
|
||
|
direction: {
|
||
|
type: String,
|
||
|
values: Zs,
|
||
|
default: "row"
|
||
|
},
|
||
|
shape: {
|
||
|
type: String,
|
||
|
values: Ys
|
||
|
},
|
||
|
buttonStyle: {
|
||
|
type: Object
|
||
|
},
|
||
|
buttonTextStyle: {
|
||
|
type: Object
|
||
|
}
|
||
|
}, re = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
re.props = Xs;
|
||
|
re.setup = (A, t) => {
|
||
|
const e = A, a = `${x}-button--content`, n = p(() => ({
|
||
|
width: e.width,
|
||
|
height: e.height,
|
||
|
backgroundColor: e.color,
|
||
|
flexDirection: e.direction,
|
||
|
cursor: WA ? "pointer" : "auto",
|
||
|
...e.buttonStyle
|
||
|
})), l = X([`${x}-button`, {
|
||
|
[`${x}-${e.shape}`]: e.shape
|
||
|
}, `${x}-button--${e.size}`]), i = t.emit;
|
||
|
return {
|
||
|
buttonTextClassName: a,
|
||
|
style: n,
|
||
|
buttonClassName: l,
|
||
|
handleClick: (s) => {
|
||
|
!e.loading && i("click", s);
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
re.components = Object.assign({
|
||
|
Loading: na,
|
||
|
Icon: ft
|
||
|
}, re.components);
|
||
|
var _s = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
class: A.buttonClassName,
|
||
|
style: [A.style],
|
||
|
on: {
|
||
|
click: A.handleClick
|
||
|
}
|
||
|
}, [A.loading ? e("Loading", {
|
||
|
attrs: {
|
||
|
loadingWidth: A.loadingWidth,
|
||
|
loadingHeight: A.loadingHeight,
|
||
|
color: A.loadingColor
|
||
|
}
|
||
|
}) : A._e(), A.iconSrc && !A.loading ? e("Icon", {
|
||
|
attrs: {
|
||
|
size: A.iconSize,
|
||
|
src: A.iconSrc
|
||
|
}
|
||
|
}) : A._e(), A.text ? e("div", {
|
||
|
class: A.buttonTextClassName,
|
||
|
style: [A.buttonTextStyle]
|
||
|
}, [A._v(" " + A._s(A.text) + " ")]) : A._e()], 1);
|
||
|
}, qs = [];
|
||
|
const Ya = {};
|
||
|
var Js = /* @__PURE__ */ S(
|
||
|
re,
|
||
|
_s,
|
||
|
qs,
|
||
|
!1,
|
||
|
Hs,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Hs(A) {
|
||
|
for (let t in Ya)
|
||
|
this[t] = Ya[t];
|
||
|
}
|
||
|
const pA = /* @__PURE__ */ function() {
|
||
|
return Js.exports;
|
||
|
}(), Zt = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMwIDE2LjA1MDlDMzAgMTMuODE0NiAyOC43NzIyIDExLjcxOTQgMjYuNjg1NSAxMC45MTVDMjMuMDU5MSA5LjUxNzI2IDE5LjExOSA4Ljc1MDk4IDE1IDguNzUwOThDMTAuODgwOSA4Ljc1MDk4IDYuOTQwODYgOS41MTcyNiAzLjMxNDUzIDEwLjkxNUMxLjIyNzg0IDExLjcxOTQgMCAxMy44MTQ2IDAgMTYuMDUwOVYxOS42NDc2QzAgMjAuNTE1MyAwLjczNDAwMyAyMS4yMDIgMS41OTk3OCAyMS4xNDQzTDcuOTc0NzggMjAuNzE5M0M4Ljc2MjcyIDIwLjY2NjggOS4zNzUgMjAuMDEyMyA5LjM3NSAxOS4yMjI2VjE2LjIwOUM5LjM3NSAxNS44NTY0IDkuNjIwMzQgMTUuNTUwMyA5Ljk2NjQ0IDE1LjQ4MzFDMTEuNTk1NSAxNS4xNjY3IDEzLjI3ODQgMTUuMDAxIDE1IDE1LjAwMUMxNi43MjE2IDE1LjAwMSAxOC40MDQ1IDE1LjE2NjcgMjAuMDMzNiAxNS40ODMxQzIwLjM3OTcgMTUuNTUwMyAyMC42MjUgMTUuODU2NCAyMC42MjUgMTYuMjA5VjE5LjIyMjZDMjAuNjI1IDIwLjAxMjMgMjEuMjM3MyAyMC42NjY4IDIyLjAyNTIgMjAuNzE5M0wyOC40MDAyIDIxLjE0NDNDMjkuMjY2IDIxLjIwMiAzMCAyMC41MTUzIDMwIDE5LjY0NzZWMTYuMDUwOVoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=", Fo = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjYiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNiAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTguOTE2NSA4LjE5OTc4SDkuNzY2NVY3LjM0OTc4VjUuNjQ5NzhWNC43OTk3OEg4LjkxNjVINC44MzMxN0gzLjk4MzE3VjUuNjQ5NzhWNy4zNDk3OFY4LjE5OTc4SDQuODMzMTdIOC45MTY1Wk0xLjAxNjUgMS42NjY2MkMxLjAxNjUgMS41ODM3OCAxLjA4MzY2IDEuNTE2NjMgMS4xNjY1IDEuNTE2NjNIMTcuODMzMkMxNy45MTYgMS41MTY2MyAxNy45ODMyIDEuNTgzNzggMTcuOTgzMiAxLjY2NjYzVjE4LjMzMzNDMTcuOTgzMiAxOC40MTYxIDE3LjkxNiAxOC40ODMzIDE3LjgzMzIgMTguNDgzM0gxLjE2NjVDMS4wODM2NiAxOC40ODMzIDEuMDE2NSAxOC40MTYxIDEuMDE2NSAxOC4zMzMzVjEuNjY2NjJaTTIxLjIxNDMgNS4wMjIyNEMyMS4yMTQzIDQuOTYzOTYgMjEuMjQ4IDQuOTEwOTYgMjEuMzAwOCA0Ljg4NjMxTDI0Ljc2OTYgMy4yNjc1NkMyNC44NjkgMy4yMjExNSAyNC45ODMgMy4yOTM3NSAyNC45ODMgMy40MDM0OUwyNC45ODMgMTYuNTk2NEMyNC45ODMgMTYuNzA2MiAyNC44NjkgMTYuNzc4OCAyNC43Njk2IDE2LjczMjRMMjEuMzAwOCAxNS4xMTM2QzIxLjI0OCAxNS4wODkgMjEuMjE0MyAxNS4wMzYgMjEuMjE0MyAxNC45Nzc3TDIxLjIxNDMgNS4wMjIyNFoiIGZpbGw9IiMyMjI2MkUiIHN0cm9rZT0iIzIyMjYyRSIgc3Ryb2tlLXdpZHRoPSIxLjciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K", Ro = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPG1hc2sgaWQ9InBhdGgtMS1pbnNpZGUtMV8yODdfOSIgZmlsbD0id2hpdGUiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTkuOTUxOTEgMjMuMzMzN0gxOC44MzMyQzE5LjM4NTUgMjMuMzMzNyAxOS44MzMyIDIyLjg4NTkgMTkuODMzMiAyMi4zMzM3VjExLjQyOThMOS45NTE5MSAyMy4zMzM3Wk0yMS4zNjQ0IDkuNTg1MTJMMjIuOTg5NiA3LjYyNzM1TDI1LjQxMDMgNi40OTc2N0MyNi4wNzMzIDYuMTg4MjggMjYuODMzMiA2LjY3MjI0IDI2LjgzMzIgNy40MDM4NUwyNi44MzMyIDIwLjU5NjhDMjYuODMzMiAyMS4zMjg0IDI2LjA3MzMgMjEuODEyNCAyNS40MTAzIDIxLjUwM0wyMi40NTgyIDIwLjEyNTNMMjEuOTQxNiAxOS44ODQyQzIxLjU4OTUgMTkuNzE5OSAyMS4zNjQ0IDE5LjM2NjYgMjEuMzY0NCAxOC45NzhMMjEuMzY0NCA5LjU4NTEyWk0xNy44NjMxIDQuNjY2OTlMMi4zNjgxMSAyMy4zMzM3SDIuMTY2NUMxLjYxNDIyIDIzLjMzMzcgMS4xNjY1IDIyLjg4NTkgMS4xNjY1IDIyLjMzMzdWNS42NjY5OUMxLjE2NjUgNS4xMTQ3MSAxLjYxNDIyIDQuNjY2OTkgMi4xNjY1IDQuNjY2OTlIMTcuODYzMVpNNS44MzMxNyAxMS4zNTAxSDkuOTE2NVY5LjY1MDE1SDUuODMzMTdWMTEuMzUwMVoiLz4KPC9tYXNrPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTkuOTUxOTEgMjMuMzMzN0gxOC44MzMyQzE5LjM4NTUgMjMuMzMzNyAxOS44MzMyIDIyLjg4NTkgMTkuODMzMiAyMi4zMzM3VjExLjQyOThMOS45NTE5MSAyMy4zMzM3Wk0yMS4zNjQ0IDkuNTg1MTJMMjIuOTg5NiA3LjYyNzM1TDI1LjQxMDMgNi40OTc2N0MyNi4wNzMzIDYuMTg4MjggMjYuODMzMiA2LjY3MjI0IDI2LjgzMzIgNy40MDM4NUwyNi44MzMyIDIwLjU5NjhDMjYuODMzMiAyMS4zMjg0IDI2LjA3MzMgMjEuODEyNCAyNS40MTAzIDIxLjUwM0wyMi40NTgyIDIwLjEyNTNMMjEuOTQxNiAxOS44ODQyQzIxLjU4OTUgMTkuNzE5OSAyMS4zNjQ0IDE5LjM2NjYgMjEuMzY0NCAxOC45NzhMMjEuMzY0NCA5LjU4NTEyWk0xNy44NjMxIDQuNjY2OTlMMi4zNjgxMSAyMy4zMzM3SDIuMTY2NUMxLjYxNDIyIDIzLjMzMzcgMS4xNjY1IDIyLjg4NTkgMS4xNjY1IDIyLjMzMzdWNS42NjY5OUMxLjE2NjUgNS4xMTQ3MSAxLjYxNDIyIDQuNjY2OTkgMi4xNjY1IDQuNjY2OTlIMTcuODYzMVpNNS44MzMxNyAxMS4zNTAxSDkuOTE2NVY5LjY1MDE1SDUuODMzMTdWMTEuMzUwMVoiIGZpbGw9IndoaXRlIiBzdHlsZT0iZmlsbDp3aGl0ZTtmaWxsOndoaXRlO2ZpbGwtb3BhY2l0eToxOyIvPgo8cGF0aCBkPSJNOS45NTE5MSAyMy4zMzM3TDguNjQzODUgMjIuMjQ3OUw2LjMzMTM4IDI1LjAzMzdIOS45NTE5
|
||
|
let Qo = au, Zo = nu;
|
||
|
eA || (Qo = eu, Zo = tu);
|
||
|
const R = {
|
||
|
width: eA ? "60px" : "40px",
|
||
|
height: eA ? "60px" : "40px",
|
||
|
shape: "circle",
|
||
|
iconSize: eA ? 30 : 20,
|
||
|
showText: !0,
|
||
|
textColor: "#D5E0F2",
|
||
|
textSize: "12px",
|
||
|
textStyle: {
|
||
|
marginTop: "5px"
|
||
|
}
|
||
|
}, h = {
|
||
|
accept: {
|
||
|
basicConfig: {
|
||
|
...R,
|
||
|
color: "#51C271",
|
||
|
iconSrc: $s
|
||
|
},
|
||
|
loadingConfig: {
|
||
|
...R,
|
||
|
color: "#51C271",
|
||
|
loadingWidth: eA ? "30px" : "20px",
|
||
|
loadingHeight: eA ? "30px" : "20px"
|
||
|
}
|
||
|
},
|
||
|
hangup: {
|
||
|
basicConfig: {
|
||
|
...R,
|
||
|
color: "#ED4651",
|
||
|
iconSrc: Zt
|
||
|
},
|
||
|
loadingConfig: {
|
||
|
...R,
|
||
|
color: "#ED4651",
|
||
|
loadingWidth: eA ? "30px" : "20px",
|
||
|
loadingHeight: eA ? "30px" : "20px"
|
||
|
}
|
||
|
},
|
||
|
reject: {
|
||
|
basicConfig: {
|
||
|
...R,
|
||
|
color: "#ED4651",
|
||
|
iconSrc: Zt
|
||
|
}
|
||
|
},
|
||
|
camera: {
|
||
|
basicConfig: {
|
||
|
...R,
|
||
|
color: "#FFFFFF",
|
||
|
iconSrc: Fo,
|
||
|
shape: "circle"
|
||
|
},
|
||
|
closedConfig: {
|
||
|
...R,
|
||
|
color: "#6b758a4d",
|
||
|
iconSrc: Ro
|
||
|
},
|
||
|
loadingConfig: {
|
||
|
...R,
|
||
|
color: "#6b758a4d",
|
||
|
loadingWidth: eA ? "30px" : "20px",
|
||
|
loadingHeight: eA ? "30px" : "20px"
|
||
|
}
|
||
|
},
|
||
|
microphone: {
|
||
|
basicConfig: {
|
||
|
...R,
|
||
|
color: "#FFFFFF",
|
||
|
iconSrc: ko
|
||
|
},
|
||
|
closedConfig: {
|
||
|
...R,
|
||
|
color: "#6b758a4d",
|
||
|
iconSrc: Po
|
||
|
}
|
||
|
},
|
||
|
speaker: {
|
||
|
basicConfig: {
|
||
|
...R,
|
||
|
color: "#FFFFFF",
|
||
|
iconSrc: Wo
|
||
|
},
|
||
|
closedConfig: {
|
||
|
...R,
|
||
|
color: "#6b758a4d",
|
||
|
iconSrc: Go
|
||
|
}
|
||
|
},
|
||
|
fullScreen: {
|
||
|
basicConfig: {
|
||
|
iconSize: 20,
|
||
|
iconSrc: Au
|
||
|
}
|
||
|
},
|
||
|
minimize: {
|
||
|
basicConfig: {
|
||
|
iconSize: eA ? 24 : 20,
|
||
|
iconSrc: Qo
|
||
|
}
|
||
|
},
|
||
|
switchCamera: {
|
||
|
basicConfig: {
|
||
|
...R,
|
||
|
color: "transparent",
|
||
|
iconSrc: fA,
|
||
|
shape: "circle"
|
||
|
}
|
||
|
},
|
||
|
inviteUser: {
|
||
|
basicConfig: {
|
||
|
...R,
|
||
|
color: eA ? "" : "#6b758a4d",
|
||
|
width: eA ? "24px" : "40px",
|
||
|
height: eA ? "24px" : "40px",
|
||
|
shape: eA ? "" : "circle",
|
||
|
iconSize: eA ? 24 : 20,
|
||
|
iconSrc: Zo
|
||
|
}
|
||
|
},
|
||
|
toggleButtonPanel: {
|
||
|
basicConfig: {
|
||
|
color: "transparent",
|
||
|
width: "40px",
|
||
|
height: "40px",
|
||
|
shape: "circle",
|
||
|
iconSize: 40,
|
||
|
iconSrc: ou
|
||
|
}
|
||
|
},
|
||
|
virtualBackground: {
|
||
|
basicConfig: {
|
||
|
...R,
|
||
|
color: "#6b758a4d",
|
||
|
iconSrc: UA,
|
||
|
shape: "circle"
|
||
|
},
|
||
|
closedConfig: {
|
||
|
...R,
|
||
|
color: "#FFFFFF",
|
||
|
iconSrc: Yt
|
||
|
},
|
||
|
loadingConfig: {
|
||
|
...R,
|
||
|
color: "#6b758a4d",
|
||
|
loadingWidth: eA ? "30px" : "20px",
|
||
|
loadingHeight: eA ? "30px" : "20px"
|
||
|
},
|
||
|
disableConfig: {
|
||
|
...R,
|
||
|
color: "#6b758a4d",
|
||
|
iconSrc: UA,
|
||
|
buttonStyle: {
|
||
|
opacity: 0.6
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}, jA = {
|
||
|
singleCall: {
|
||
|
video: {
|
||
|
calling: {
|
||
|
...h,
|
||
|
switchCamera: {
|
||
|
basicConfig: {
|
||
|
...R,
|
||
|
color: "#6b758a4d",
|
||
|
iconSrc: fA,
|
||
|
shape: "circle",
|
||
|
showText: !0
|
||
|
},
|
||
|
disableConfig: {
|
||
|
...R,
|
||
|
color: "#6b758a4d",
|
||
|
iconSrc: fA,
|
||
|
shape: "circle",
|
||
|
showText: !0,
|
||
|
buttonStyle: {
|
||
|
opacity: 0.6
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
hangup: {
|
||
|
basicConfig: {
|
||
|
...h.hangup.basicConfig
|
||
|
},
|
||
|
loadingConfig: {
|
||
|
...h.hangup.loadingConfig
|
||
|
}
|
||
|
},
|
||
|
reject: {
|
||
|
basicConfig: {
|
||
|
...h.reject.basicConfig,
|
||
|
showText: !1
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
accept: {
|
||
|
...h,
|
||
|
switchCamera: {
|
||
|
basicConfig: {
|
||
|
...R,
|
||
|
color: "#6b758a4d",
|
||
|
iconSrc: fA,
|
||
|
shape: "circle"
|
||
|
},
|
||
|
disableConfig: {
|
||
|
...R,
|
||
|
color: "#6b758a4d",
|
||
|
iconSrc: fA,
|
||
|
shape: "circle",
|
||
|
showText: !0,
|
||
|
buttonStyle: {
|
||
|
opacity: 0.6
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
accept: {
|
||
|
basicConfig: {
|
||
|
...h.accept.basicConfig,
|
||
|
showText: !1
|
||
|
},
|
||
|
loadingConfig: {
|
||
|
...h.accept.loadingConfig,
|
||
|
showText: !1
|
||
|
}
|
||
|
},
|
||
|
reject: {
|
||
|
basicConfig: {
|
||
|
...h.reject.basicConfig,
|
||
|
showText: !1
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
connected: {
|
||
|
...h,
|
||
|
virtualBackground: {
|
||
|
basicConfig: {
|
||
|
...R,
|
||
|
color: "transparent",
|
||
|
iconSrc: UA,
|
||
|
shape: "circle",
|
||
|
showText: !1
|
||
|
},
|
||
|
closedConfig: {
|
||
|
...R,
|
||
|
color: "transparent",
|
||
|
iconSrc: UA,
|
||
|
showText: !1
|
||
|
},
|
||
|
disableConfig: {
|
||
|
...R,
|
||
|
color: "transparent",
|
||
|
iconSrc: UA,
|
||
|
showText: !1,
|
||
|
buttonStyle: {
|
||
|
opacity: 0.6
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
hangup: {
|
||
|
basicConfig: {
|
||
|
...h.hangup.basicConfig,
|
||
|
showText: !1
|
||
|
},
|
||
|
loadingConfig: {
|
||
|
...h.hangup.loadingConfig,
|
||
|
showText: !1
|
||
|
}
|
||
|
},
|
||
|
switchCamera: {
|
||
|
basicConfig: {
|
||
|
...h.switchCamera.basicConfig,
|
||
|
showText: !1
|
||
|
},
|
||
|
disableConfig: {
|
||
|
...h.switchCamera.basicConfig,
|
||
|
showText: !1,
|
||
|
buttonStyle: {
|
||
|
opacity: 0.6
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
audio: {
|
||
|
calling: h,
|
||
|
accept: h,
|
||
|
connected: h
|
||
|
}
|
||
|
},
|
||
|
groupCall: {
|
||
|
video: {
|
||
|
calling: {
|
||
|
...h,
|
||
|
switchCamera: {
|
||
|
basicConfig: {
|
||
|
...R,
|
||
|
color: "#6b758a4d",
|
||
|
iconSrc: fA,
|
||
|
shape: "circle"
|
||
|
}
|
||
|
},
|
||
|
hangup: {
|
||
|
basicConfig: {
|
||
|
...h.hangup.basicConfig,
|
||
|
showText: !1
|
||
|
},
|
||
|
loadingConfig: {
|
||
|
...h.hangup.loadingConfig,
|
||
|
showText: !1
|
||
|
}
|
||
|
},
|
||
|
accept: {
|
||
|
basicConfig: {
|
||
|
...h.accept.basicConfig,
|
||
|
showText: !1
|
||
|
},
|
||
|
loadingConfig: {
|
||
|
...h.accept.loadingConfig,
|
||
|
showText: !1
|
||
|
}
|
||
|
},
|
||
|
reject: {
|
||
|
basicConfig: {
|
||
|
...h.reject.basicConfig,
|
||
|
showText: !1
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
accept: {
|
||
|
...h,
|
||
|
hangup: {
|
||
|
basicConfig: {
|
||
|
...h.hangup.basicConfig,
|
||
|
showText: !1
|
||
|
},
|
||
|
loadingConfig: {
|
||
|
...h.hangup.loadingConfig,
|
||
|
showText: !1
|
||
|
}
|
||
|
},
|
||
|
accept: {
|
||
|
basicConfig: {
|
||
|
...h.accept.basicConfig,
|
||
|
showText: !1
|
||
|
},
|
||
|
loadingConfig: {
|
||
|
...h.accept.loadingConfig,
|
||
|
showText: !1
|
||
|
}
|
||
|
},
|
||
|
reject: {
|
||
|
basicConfig: {
|
||
|
...h.reject.basicConfig,
|
||
|
showText: !1
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
connected: {
|
||
|
...h,
|
||
|
virtualBackground: {
|
||
|
basicConfig: {
|
||
|
...R,
|
||
|
color: "transparent",
|
||
|
iconSrc: UA,
|
||
|
shape: "circle",
|
||
|
showText: !1
|
||
|
},
|
||
|
closedConfig: {
|
||
|
...R,
|
||
|
color: "transparent",
|
||
|
iconSrc: Yt,
|
||
|
showText: !1
|
||
|
}
|
||
|
},
|
||
|
hangup: {
|
||
|
basicConfig: {
|
||
|
...h.hangup.basicConfig,
|
||
|
showText: !1
|
||
|
},
|
||
|
loadingConfig: {
|
||
|
...h.hangup.loadingConfig,
|
||
|
showText: !1
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
audio: {
|
||
|
calling: {
|
||
|
...h,
|
||
|
switchCamera: {
|
||
|
basicConfig: {
|
||
|
...R,
|
||
|
color: "#6b758a4d",
|
||
|
iconSrc: fA,
|
||
|
shape: "circle"
|
||
|
}
|
||
|
},
|
||
|
hangup: {
|
||
|
basicConfig: {
|
||
|
...h.hangup.basicConfig,
|
||
|
showText: !1
|
||
|
},
|
||
|
loadingConfig: {
|
||
|
...h.hangup.loadingConfig,
|
||
|
showText: !1
|
||
|
}
|
||
|
},
|
||
|
accept: {
|
||
|
basicConfig: {
|
||
|
...h.accept.basicConfig,
|
||
|
showText: !1
|
||
|
},
|
||
|
loadingConfig: {
|
||
|
...h.accept.loadingConfig,
|
||
|
showText: !1
|
||
|
}
|
||
|
},
|
||
|
reject: {
|
||
|
basicConfig: {
|
||
|
...h.reject.basicConfig,
|
||
|
showText: !1
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
accept: {
|
||
|
...h,
|
||
|
hangup: {
|
||
|
basicConfig: {
|
||
|
...h.hangup.basicConfig,
|
||
|
showText: !1
|
||
|
},
|
||
|
loadingConfig: {
|
||
|
...h.hangup.loadingConfig,
|
||
|
showText: !1
|
||
|
}
|
||
|
},
|
||
|
accept: {
|
||
|
basicConfig: {
|
||
|
...h.accept.basicConfig,
|
||
|
showText: !1
|
||
|
},
|
||
|
loadingConfig: {
|
||
|
...h.accept.loadingConfig,
|
||
|
showText: !1
|
||
|
}
|
||
|
},
|
||
|
reject: {
|
||
|
basicConfig: {
|
||
|
...h.reject.basicConfig,
|
||
|
showText: !1
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
connected: {
|
||
|
...h,
|
||
|
hangup: {
|
||
|
basicConfig: {
|
||
|
...h.hangup.basicConfig,
|
||
|
showText: !1
|
||
|
},
|
||
|
loadingConfig: {
|
||
|
...h.hangup.loadingConfig,
|
||
|
showText: !1
|
||
|
}
|
||
|
},
|
||
|
virtualBackground: {
|
||
|
basicConfig: {
|
||
|
...R,
|
||
|
color: "transparent",
|
||
|
iconSrc: UA,
|
||
|
shape: "circle"
|
||
|
},
|
||
|
closedConfig: {
|
||
|
...R,
|
||
|
color: "transparent",
|
||
|
iconSrc: Yt
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}, lu = {
|
||
|
singleCall: {
|
||
|
video: {
|
||
|
calling: h,
|
||
|
accept: h,
|
||
|
connected: h
|
||
|
},
|
||
|
audio: {
|
||
|
calling: h,
|
||
|
accept: h,
|
||
|
connected: h
|
||
|
}
|
||
|
},
|
||
|
groupCall: {
|
||
|
video: {
|
||
|
calling: h,
|
||
|
accept: h,
|
||
|
connected: h
|
||
|
},
|
||
|
audio: {
|
||
|
calling: h,
|
||
|
accept: h,
|
||
|
connected: h
|
||
|
}
|
||
|
}
|
||
|
}, iu = {
|
||
|
pc: lu,
|
||
|
mobile: jA
|
||
|
}, hA = {
|
||
|
width: "40px",
|
||
|
height: "40px",
|
||
|
shape: "circle",
|
||
|
iconSize: 20,
|
||
|
textColor: "#D5E0F2"
|
||
|
}, Je = {
|
||
|
microphone: {
|
||
|
basicConfig: {
|
||
|
...hA,
|
||
|
color: "#FFFFFF",
|
||
|
iconSrc: ko
|
||
|
},
|
||
|
closedConfig: {
|
||
|
...hA,
|
||
|
color: "#6b758a4d",
|
||
|
iconSrc: Po
|
||
|
}
|
||
|
},
|
||
|
speaker: {
|
||
|
basicConfig: {
|
||
|
...hA,
|
||
|
color: "#FFFFFF",
|
||
|
iconSrc: Wo
|
||
|
},
|
||
|
closedConfig: {
|
||
|
...hA,
|
||
|
color: "#6b758a4d",
|
||
|
iconSrc: Go
|
||
|
}
|
||
|
},
|
||
|
camera: {
|
||
|
basicConfig: {
|
||
|
...hA,
|
||
|
color: "#FFFFFF",
|
||
|
iconSrc: Fo
|
||
|
},
|
||
|
closedConfig: {
|
||
|
...hA,
|
||
|
color: "#6b758a4d",
|
||
|
iconSrc: Ro
|
||
|
}
|
||
|
},
|
||
|
hangup: {
|
||
|
basicConfig: {
|
||
|
...hA,
|
||
|
color: "#ED4651",
|
||
|
iconSrc: Zt
|
||
|
},
|
||
|
loadingConfig: {
|
||
|
...hA,
|
||
|
color: "#ED4651",
|
||
|
loadingWidth: "20px",
|
||
|
loadingHeight: "20px"
|
||
|
}
|
||
|
},
|
||
|
toggleButtonPanel: {
|
||
|
basicConfig: {
|
||
|
color: "transparent",
|
||
|
width: "40px",
|
||
|
height: "40px",
|
||
|
shape: "circle",
|
||
|
iconSize: 40,
|
||
|
iconSrc: Ks
|
||
|
}
|
||
|
}
|
||
|
}, su = {
|
||
|
mobile: {
|
||
|
...jA,
|
||
|
groupCall: {
|
||
|
video: {
|
||
|
...jA.groupCall.video,
|
||
|
calling: {
|
||
|
...jA.groupCall.video.calling,
|
||
|
...Je
|
||
|
},
|
||
|
connected: {
|
||
|
...jA.groupCall.video.connected,
|
||
|
...Je
|
||
|
}
|
||
|
},
|
||
|
audio: {
|
||
|
...jA.groupCall.audio,
|
||
|
calling: {
|
||
|
...jA.groupCall.audio.calling,
|
||
|
...Je
|
||
|
},
|
||
|
connected: {
|
||
|
...jA.groupCall.audio.connected,
|
||
|
...Je
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}, uA = (A, t) => {
|
||
|
var r;
|
||
|
const e = j.isPC ? "pc" : "mobile", { status: a } = We(), { callStatus: n, callRole: l, isGroupCall: i, callType: u } = z(q()), s = I((r = h == null ? void 0 : h[A]) == null ? void 0 : r[t.value]);
|
||
|
return J(
|
||
|
[t, a, n, i, u],
|
||
|
() => {
|
||
|
var y, T, C, E, w;
|
||
|
const M = i.value ? "groupCall" : "singleCall", D = u.value === F.AUDIO ? "audio" : "video";
|
||
|
let g = "";
|
||
|
n.value === U.CALLING ? g = l.value === K.CALLER ? "calling" : "accept" : n.value === U.CONNECTED && (g = "connected");
|
||
|
let N = iu;
|
||
|
a.value === "close" && (N = su), s.value = ((w = (E = (C = (T = (y = N == null ? void 0 : N[e]) == null ? void 0 : y[M]) == null ? void 0 : T[D]) == null ? void 0 : C[g]) == null ? void 0 : E[A]) == null ? void 0 : w[t.value]) || {};
|
||
|
},
|
||
|
{ immediate: !0 }
|
||
|
), s;
|
||
|
}, lt = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
lt.setup = (A, t) => ({
|
||
|
config: uA("minimize", I("basicConfig")),
|
||
|
handleClick: async () => {
|
||
|
if (document != null && document.fullscreenElement)
|
||
|
try {
|
||
|
document == null || document.exitFullscreen();
|
||
|
} catch (n) {
|
||
|
console.debug(n);
|
||
|
}
|
||
|
await O.toggleMinimize();
|
||
|
}
|
||
|
});
|
||
|
lt.components = Object.assign({
|
||
|
Button: pA
|
||
|
}, lt.components);
|
||
|
var uu = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("Button", {
|
||
|
attrs: {
|
||
|
iconSrc: A.config.iconSrc,
|
||
|
iconSize: A.config.iconSize
|
||
|
},
|
||
|
on: {
|
||
|
click: A.handleClick
|
||
|
}
|
||
|
});
|
||
|
}, cu = [];
|
||
|
const Xa = {};
|
||
|
var ru = /* @__PURE__ */ S(
|
||
|
lt,
|
||
|
uu,
|
||
|
cu,
|
||
|
!1,
|
||
|
Mu,
|
||
|
"71774dda",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Mu(A) {
|
||
|
for (let t in Xa)
|
||
|
this[t] = Xa[t];
|
||
|
}
|
||
|
const du = /* @__PURE__ */ function() {
|
||
|
return ru.exports;
|
||
|
}(), it = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
it.setup = (A, t) => ({
|
||
|
config: uA("fullScreen", I("basicConfig")),
|
||
|
handleClick: async () => {
|
||
|
await fi("tuicallkit-id");
|
||
|
}
|
||
|
});
|
||
|
it.components = Object.assign({
|
||
|
Button: pA
|
||
|
}, it.components);
|
||
|
var Iu = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("Button", {
|
||
|
attrs: {
|
||
|
iconSrc: A.config.iconSrc,
|
||
|
iconSize: A.config.iconSize
|
||
|
},
|
||
|
on: {
|
||
|
click: A.handleClick
|
||
|
}
|
||
|
});
|
||
|
}, gu = [];
|
||
|
const _a = {};
|
||
|
var Nu = /* @__PURE__ */ S(
|
||
|
it,
|
||
|
Iu,
|
||
|
gu,
|
||
|
!1,
|
||
|
pu,
|
||
|
"224de994",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function pu(A) {
|
||
|
for (let t in _a)
|
||
|
this[t] = _a[t];
|
||
|
}
|
||
|
const Du = /* @__PURE__ */ function() {
|
||
|
return Nu.exports;
|
||
|
}(), Tu = {
|
||
|
width: {
|
||
|
type: String
|
||
|
},
|
||
|
color: {
|
||
|
type: String
|
||
|
},
|
||
|
size: {
|
||
|
type: String
|
||
|
},
|
||
|
weight: {
|
||
|
type: Number
|
||
|
},
|
||
|
truncated: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
lineClamp: {
|
||
|
type: Number
|
||
|
},
|
||
|
textStyle: {
|
||
|
type: Object
|
||
|
}
|
||
|
}, la = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
la.props = Tu;
|
||
|
la.setup = (A, t) => {
|
||
|
const e = A, a = t.emit, n = X([`${x}-text`, {
|
||
|
[`${x}-text--line-clamp`]: e.lineClamp
|
||
|
}]), l = p(() => ot({
|
||
|
maxWidth: e.width,
|
||
|
fontSize: e.size,
|
||
|
fontWeight: e.weight,
|
||
|
color: e.color,
|
||
|
textOverflow: e.truncated ? "ellipsis" : "auto",
|
||
|
"-webkit-line-clamp": e.lineClamp,
|
||
|
...e.textStyle
|
||
|
}));
|
||
|
return {
|
||
|
textClassName: n,
|
||
|
style: l,
|
||
|
handleClick: () => {
|
||
|
a("click");
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
var Cu = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("span", {
|
||
|
class: A.textClassName,
|
||
|
style: [A.style],
|
||
|
on: {
|
||
|
click: A.handleClick
|
||
|
}
|
||
|
}, [A._t("default")], 2);
|
||
|
}, yu = [];
|
||
|
const qa = {};
|
||
|
var Su = /* @__PURE__ */ S(
|
||
|
la,
|
||
|
Cu,
|
||
|
yu,
|
||
|
!1,
|
||
|
Eu,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Eu(A) {
|
||
|
for (let t in qa)
|
||
|
this[t] = qa[t];
|
||
|
}
|
||
|
const lA = /* @__PURE__ */ function() {
|
||
|
return Su.exports;
|
||
|
}(), EA = {
|
||
|
width: {
|
||
|
type: String
|
||
|
},
|
||
|
height: {
|
||
|
type: String
|
||
|
},
|
||
|
showText: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
iconSize: {
|
||
|
type: String
|
||
|
}
|
||
|
}, Me = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
Me.props = EA;
|
||
|
Me.setup = (A, t) => {
|
||
|
const e = A, a = uA("inviteUser", I("basicConfig"));
|
||
|
return {
|
||
|
t: v,
|
||
|
props: e,
|
||
|
config: a,
|
||
|
handleClick: async () => {
|
||
|
d.update(c.CALL, o.SHOW_SELECT_USER, !0);
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
Me.components = Object.assign({
|
||
|
Button: pA,
|
||
|
TKText: lA
|
||
|
}, Me.components);
|
||
|
var hu = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "btn-content"
|
||
|
}, [e("Button", {
|
||
|
attrs: {
|
||
|
iconSrc: A.config.iconSrc,
|
||
|
color: A.config.color,
|
||
|
iconSize: A.config.iconSize,
|
||
|
width: A.props.width || A.config.width,
|
||
|
height: A.props.height || A.config.height,
|
||
|
shape: A.config.shape
|
||
|
},
|
||
|
on: {
|
||
|
click: A.handleClick
|
||
|
}
|
||
|
}), A.showText ? e("TKText", {
|
||
|
attrs: {
|
||
|
textStyle: A.config.textStyle,
|
||
|
color: A.config.textColor,
|
||
|
size: A.config.textSize
|
||
|
}
|
||
|
}, [A._v(" " + A._s(A.t("invite member")) + " ")]) : A._e()], 1);
|
||
|
}, mu = [];
|
||
|
const Ja = {};
|
||
|
var ju = /* @__PURE__ */ S(
|
||
|
Me,
|
||
|
hu,
|
||
|
mu,
|
||
|
!1,
|
||
|
vu,
|
||
|
"234c87f7",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function vu(A) {
|
||
|
for (let t in Ja)
|
||
|
this[t] = Ja[t];
|
||
|
}
|
||
|
const Yo = /* @__PURE__ */ function() {
|
||
|
return ju.exports;
|
||
|
}(), fu = {
|
||
|
color: {
|
||
|
type: String,
|
||
|
default: "#FFF"
|
||
|
},
|
||
|
callDuration: {
|
||
|
type: String,
|
||
|
default: ""
|
||
|
},
|
||
|
fontSize: {
|
||
|
type: String,
|
||
|
default: "16px"
|
||
|
}
|
||
|
}, ia = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
ia.props = fu;
|
||
|
ia.setup = (A, t) => {
|
||
|
const e = A;
|
||
|
return {
|
||
|
timerStyle: p(() => ({
|
||
|
color: e.color,
|
||
|
fontSize: e.fontSize
|
||
|
}))
|
||
|
};
|
||
|
};
|
||
|
var Lu = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("span", {
|
||
|
style: [A.timerStyle]
|
||
|
}, [A._v(A._s(A.callDuration))]);
|
||
|
}, Uu = [];
|
||
|
const Ha = {};
|
||
|
var zu = /* @__PURE__ */ S(
|
||
|
ia,
|
||
|
Lu,
|
||
|
Uu,
|
||
|
!1,
|
||
|
wu,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function wu(A) {
|
||
|
for (let t in Ha)
|
||
|
this[t] = Ha[t];
|
||
|
}
|
||
|
const sa = /* @__PURE__ */ function() {
|
||
|
return zu.exports;
|
||
|
}(), de = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
de.props = Yi;
|
||
|
de.setup = (A, t) => {
|
||
|
const e = j.isPC, {
|
||
|
callStatus: a,
|
||
|
isGroupCall: n,
|
||
|
callRole: l,
|
||
|
allowedFullScreen: i
|
||
|
} = z(q()), {
|
||
|
callDuration: u
|
||
|
} = Ht(), s = Ge(), r = p(() => a.value === U.CONNECTED), M = I(d.getData(c.CALL, o.ENABLE_FLOAT_WINDOW)), D = p(() => {
|
||
|
var y, T;
|
||
|
return !n.value || ((T = (y = s.value.button) == null ? void 0 : y[zA.InviteUser]) == null ? void 0 : T.show) === !1 ? !1 : a.value === U.CALLING ? l.value === K.CALLER : !0;
|
||
|
});
|
||
|
function g(y) {
|
||
|
M.value = y;
|
||
|
}
|
||
|
const N = {
|
||
|
[o.ENABLE_FLOAT_WINDOW]: g
|
||
|
};
|
||
|
return aA(() => {
|
||
|
d.watch(c.CALL, N, {
|
||
|
notifyRangeWhenWatch: o.MYSELF
|
||
|
});
|
||
|
}), tA(() => {
|
||
|
d.unwatch(c.CALL, {
|
||
|
...N
|
||
|
});
|
||
|
}), {
|
||
|
isPC: e,
|
||
|
allowedFullScreen: i,
|
||
|
callDuration: u,
|
||
|
showTimer: r,
|
||
|
showMinimize: M,
|
||
|
showInviteUser: D
|
||
|
};
|
||
|
};
|
||
|
de.components = Object.assign({
|
||
|
Row: $t,
|
||
|
Col: ea,
|
||
|
Timer: sa,
|
||
|
Minimize: du,
|
||
|
FullScreen: Du,
|
||
|
InviteUser: Yo
|
||
|
}, de.components);
|
||
|
var Ou = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "top-bar-container",
|
||
|
style: A.customStyle
|
||
|
}, [A.isPC ? e("Row", [e("Col", {
|
||
|
attrs: {
|
||
|
span: 8
|
||
|
}
|
||
|
}), e("Col", {
|
||
|
attrs: {
|
||
|
span: 8,
|
||
|
justify: "center",
|
||
|
align: "center"
|
||
|
}
|
||
|
}, [A.showTimer ? e("Timer", {
|
||
|
attrs: {
|
||
|
"call-duration": A.callDuration
|
||
|
}
|
||
|
}) : A._e()], 1), e("Col", {
|
||
|
attrs: {
|
||
|
span: 8,
|
||
|
justify: "end",
|
||
|
align: "center"
|
||
|
}
|
||
|
}, [e("Row", [e("Col", {
|
||
|
attrs: {
|
||
|
span: 18
|
||
|
}
|
||
|
}), e("Col", {
|
||
|
attrs: {
|
||
|
span: 3,
|
||
|
justify: "center"
|
||
|
}
|
||
|
}, [A.showMinimize ? e("Minimize") : A._e()], 1), e("Col", {
|
||
|
attrs: {
|
||
|
span: 3,
|
||
|
justify: "center"
|
||
|
}
|
||
|
}, [A.allowedFullScreen ? e("FullScreen") : A._e()], 1)], 1)], 1)], 1) : A._e(), A.isPC ? A._e() : e("Row", [e("Col", {
|
||
|
attrs: {
|
||
|
span: 8,
|
||
|
align: "center"
|
||
|
}
|
||
|
}, [e("Row", [e("Col", {
|
||
|
attrs: {
|
||
|
span: 8,
|
||
|
justify: "center"
|
||
|
}
|
||
|
}, [!A.isPC && A.showMinimize ? e("Minimize") : A._e()], 1), e("Col", {
|
||
|
attrs: {
|
||
|
span: 16
|
||
|
}
|
||
|
})], 1)], 1), e("Col", {
|
||
|
attrs: {
|
||
|
span: 8,
|
||
|
justify: "center",
|
||
|
align: "center"
|
||
|
}
|
||
|
}, [A.showTimer ? e("Timer", {
|
||
|
attrs: {
|
||
|
"call-duration": A.callDuration
|
||
|
}
|
||
|
}) : A._e()], 1), e("Col", {
|
||
|
attrs: {
|
||
|
span: 8,
|
||
|
justify: "end",
|
||
|
align: "center"
|
||
|
}
|
||
|
}, [e("Row", [e("Col", {
|
||
|
attrs: {
|
||
|
span: 16
|
||
|
}
|
||
|
}), e("Col", {
|
||
|
attrs: {
|
||
|
span: 8,
|
||
|
justify: "center"
|
||
|
}
|
||
|
}, [A.showInviteUser ? e("InviteUser", {
|
||
|
attrs: {
|
||
|
"show-text": A.isPC
|
||
|
}
|
||
|
}) : A._e()], 1)], 1)], 1)], 1)], 1);
|
||
|
}, xu = [];
|
||
|
const Ka = {};
|
||
|
var Vu = /* @__PURE__ */ S(
|
||
|
de,
|
||
|
Ou,
|
||
|
xu,
|
||
|
!1,
|
||
|
bu,
|
||
|
"2bcaf4e1",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function bu(A) {
|
||
|
for (let t in Ka)
|
||
|
this[t] = Ka[t];
|
||
|
}
|
||
|
const Xo = /* @__PURE__ */ function() {
|
||
|
return Vu.exports;
|
||
|
}(), Bu = {
|
||
|
show: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
showMask: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
showBackgroundImage: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
blur: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
bgColor: {
|
||
|
type: String
|
||
|
},
|
||
|
bgImage: {
|
||
|
type: String
|
||
|
},
|
||
|
zIndex: {
|
||
|
type: Number,
|
||
|
default: 11e3
|
||
|
},
|
||
|
customClass: {
|
||
|
type: String
|
||
|
},
|
||
|
customStyle: {
|
||
|
type: Object
|
||
|
},
|
||
|
customMaskStyle: {
|
||
|
type: Object
|
||
|
},
|
||
|
fit: {
|
||
|
type: String,
|
||
|
default: "cover"
|
||
|
},
|
||
|
defaultSrc: {
|
||
|
type: String
|
||
|
}
|
||
|
}, Ie = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
Ie.props = Bu;
|
||
|
Ie.setup = (A, t) => {
|
||
|
const e = A, a = t.emit, n = X([`${x}-overlay`, e.customClass]), l = `${x}-overlay_mask-container`, i = p(() => X([`${x}-overlay_mask`, {
|
||
|
[`${x}-blur`]: e.blur
|
||
|
}])), u = `${x}-overlay_slot`, s = p(() => ({
|
||
|
zIndex: e.zIndex,
|
||
|
...e.customStyle
|
||
|
})), r = p(() => ({
|
||
|
backgroundColor: e.bgColor,
|
||
|
...e.customMaskStyle
|
||
|
}));
|
||
|
function M() {
|
||
|
a("click");
|
||
|
}
|
||
|
return {
|
||
|
overlayContainerClassName: n,
|
||
|
maskContainerClassName: l,
|
||
|
maskClassName: i,
|
||
|
slotClassName: u,
|
||
|
overlayStyle: s,
|
||
|
maskStyle: r,
|
||
|
handleClick: M,
|
||
|
handleError: (g) => {
|
||
|
a("error", g);
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
Ie.components = Object.assign({
|
||
|
TKImage: SA
|
||
|
}, Ie.components);
|
||
|
var Fu = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return A.show ? e("div", {
|
||
|
class: A.overlayContainerClassName,
|
||
|
style: [A.overlayStyle],
|
||
|
on: {
|
||
|
click: A.handleClick
|
||
|
}
|
||
|
}, [e("div", {
|
||
|
class: A.maskContainerClassName
|
||
|
}, [A.showMask ? e("div", {
|
||
|
class: A.maskClassName,
|
||
|
style: [A.maskStyle]
|
||
|
}) : A._e(), A.showBackgroundImage ? e("TKImage", {
|
||
|
attrs: {
|
||
|
fit: A.fit,
|
||
|
src: A.bgImage,
|
||
|
width: "100%",
|
||
|
height: "100%",
|
||
|
defaultSrc: A.defaultSrc
|
||
|
},
|
||
|
on: {
|
||
|
error: A.handleError
|
||
|
}
|
||
|
}) : A._e()], 1), e("div", {
|
||
|
class: A.slotClassName
|
||
|
}, [A._t("default")], 2)]) : A._e();
|
||
|
}, Ru = [];
|
||
|
const $a = {};
|
||
|
var ku = /* @__PURE__ */ S(
|
||
|
Ie,
|
||
|
Fu,
|
||
|
Ru,
|
||
|
!1,
|
||
|
Pu,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Pu(A) {
|
||
|
for (let t in $a)
|
||
|
this[t] = $a[t];
|
||
|
}
|
||
|
const _o = /* @__PURE__ */ function() {
|
||
|
return ku.exports;
|
||
|
}(), Wu = ["fill", "contain", "cover"], Gu = ["circle", "square"], Qu = {
|
||
|
icon: {
|
||
|
type: String
|
||
|
},
|
||
|
size: {
|
||
|
type: [Number, String],
|
||
|
default: 100
|
||
|
},
|
||
|
shape: {
|
||
|
type: String,
|
||
|
values: Gu,
|
||
|
default: "square"
|
||
|
},
|
||
|
src: {
|
||
|
type: String
|
||
|
},
|
||
|
defaultSrc: {
|
||
|
type: String
|
||
|
},
|
||
|
text: {
|
||
|
type: String
|
||
|
},
|
||
|
fit: {
|
||
|
type: String,
|
||
|
values: Wu,
|
||
|
default: "cover"
|
||
|
},
|
||
|
customClass: {
|
||
|
type: String
|
||
|
}
|
||
|
}, ge = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
ge.props = Qu;
|
||
|
ge.setup = (A, t) => {
|
||
|
const e = A, a = I("");
|
||
|
J(() => e.src, () => {
|
||
|
a.value = e.src;
|
||
|
}, {
|
||
|
immediate: !0
|
||
|
});
|
||
|
const n = p(() => X([`${x}-avatar`, `${x}-avatar--${e.shape}`, `${x}-avatar--${e.size}`, e.customClass])), l = p(() => typeof e.size == "number" ? `${e.size}px` : e.size), i = p(() => typeof e.size == "number" ? `${e.size}px` : e.size), u = p(() => ({
|
||
|
width: l.value,
|
||
|
height: i.value
|
||
|
}));
|
||
|
function s(r) {
|
||
|
console.error(r), e.defaultSrc && (a.value = e.defaultSrc);
|
||
|
}
|
||
|
return {
|
||
|
avatarSrc: a,
|
||
|
classname: n,
|
||
|
width: l,
|
||
|
height: i,
|
||
|
avatarStyle: u,
|
||
|
handleError: s
|
||
|
};
|
||
|
};
|
||
|
ge.components = Object.assign({
|
||
|
TKImage: SA
|
||
|
}, ge.components);
|
||
|
var Zu = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
class: A.classname,
|
||
|
style: [A.avatarStyle]
|
||
|
}, [A.avatarSrc ? e("TKImage", {
|
||
|
attrs: {
|
||
|
fit: A.fit,
|
||
|
width: A.width,
|
||
|
height: A.height,
|
||
|
src: A.avatarSrc
|
||
|
},
|
||
|
on: {
|
||
|
error: A.handleError
|
||
|
}
|
||
|
}) : A._t("default")], 2);
|
||
|
}, Yu = [];
|
||
|
const An = {};
|
||
|
var Xu = /* @__PURE__ */ S(
|
||
|
ge,
|
||
|
Zu,
|
||
|
Yu,
|
||
|
!1,
|
||
|
_u,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function _u(A) {
|
||
|
for (let t in An)
|
||
|
this[t] = An[t];
|
||
|
}
|
||
|
const qo = /* @__PURE__ */ function() {
|
||
|
return Xu.exports;
|
||
|
}(), qu = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj4KICA8cmVjdCB4PSIxMSIgeT0iMjAiIHdpZHRoPSIyIiBoZWlnaHQ9IjQiIGZpbGw9IiNmZmYiIC8+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjE0OTkgMTFWMTIuNUMzLjE0OTkgMTcuMzg3NyA3LjExMjE4IDIxLjM1IDExLjk5OTkgMjEuMzVDMTYuODg3NiAyMS4zNSAyMC44NDk5IDE3LjM4NzcgMjAuODQ5OSAxMi41VjExSDE5LjE0OTlWMTIuNUMxOS4xNDk5IDE2LjQ0ODggMTUuOTQ4NyAxOS42NSAxMS45OTk5IDE5LjY1QzguMDUxMDcgMTkuNjUgNC44NDk5IDE2LjQ0ODggNC44NDk5IDEyLjVWMTFIMy4xNDk5WiIgZmlsbD0iI2ZmZiIvPgogIDxyZWN0IHg9IjcuODUiIHk9IjEuODUiIHdpZHRoPSI4LjMiIGhlaWdodD0iMTQuOCIgcng9IjQuMTUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjciLz4KPC9zdmc+", Ju = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTguNzM3MDggMTIuOTk2M0M4LjcxMjY2IDEyLjgzNDQgOC43IDEyLjY2ODcgOC43IDEyLjVWNkM4LjcgNC4xNzc0NiAxMC4xNzc1IDIuNyAxMiAyLjdDMTMuNTQ4OCAyLjcgMTQuODQ4NCAzLjc2Njk1IDE1LjIwMzggNS4yMDU5MkwxNi40NDU4IDMuNzA5NzRDMTUuNjE1IDIuMTAwMzMgMTMuOTM2IDEgMTIgMUM5LjIzODU4IDEgNyAzLjIzODU4IDcgNlYxMi41QzcgMTMuMjMzMyA3LjE1Nzg2IDEzLjkyOTcgNy40NDE0NSAxNC41NTcyTDguNzM3MDggMTIuOTk2M1pNMTEuMzM4NSAxNS43MzM3TDEwLjE2MTggMTcuMTUxM0MxMC43MzA4IDE3LjM3NjMgMTEuMzUwOSAxNy41IDEyIDE3LjVDMTQuNzYxNCAxNy41IDE3IDE1LjI2MTQgMTcgMTIuNVY4LjkxMzNMMTUuMyAxMC45NjEzVjEyLjVDMTUuMyAxNC4zMjI1IDEzLjgyMjUgMTUuOCAxMiAxNS44QzExLjc3MzQgMTUuOCAxMS41NTIyIDE1Ljc3NzIgMTEuMzM4NSAxNS43MzM3Wk01Ljk2NTE5IDE2LjMzNTZDNS4yNTkzMyAxNS4yMjczIDQuODUwMzkgMTMuOTExNCA0Ljg1MDM5IDEyLjVWMTFIMy4xNTAzOVYxMi41QzMuMTUwMzkgMTQuNDQxNiAzLjc3NTYyIDE2LjIzNzEgNC44MzU3MiAxNy42OTYzTDUuOTY1MTkgMTYuMzM1NlpNNy42MzIxOCAyMC4xOTg2TDguNzM5NCAxOC44NjQ3QzkuNzE3MTggMTkuMzY2NyAxMC44MjU3IDE5LjY1IDEyLjAwMDQgMTkuNjVDMTUuOTQ5MiAxOS42NSAxOS4xNTA0IDE2LjQ0ODggMTkuMTUwNCAxMi41VjExSDIwLjg1MDRWMTIuNUMyMC44NTA0IDE3LjA0OTggMTcuNDE3MSAyMC43OTc2IDEzIDIxLjI5NDJWMjRIMTFWMjEuMjk0MUM5Ljc4NjEzIDIxLjE1NzUgOC42NDY1OCAyMC43NzU0IDcuNjMyMTggMjAuMTk4NloiIGZpbGw9IiNmZmYiIC8+CiAgPHBhdGggZD0iTTUuNzM2ODIgMTkuNTUxM0wxOC4yNjY3IDQuNDYzNzEiIHN0cm9rZT0iI0VENDE0RCIgc3R5bGU9InN0cm9rZTojRUQ0MTREO3N0cm9rZTpjb2xvcihkaXNwbGF5LXAzIDAuOTI5MiAwLjI1NTUgMC4zMDA0KTtzdHJva2Utb3BhY2l0eToxOyIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4KCg==", Hu = {
|
||
|
isMuted: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
volume: {
|
||
|
type: Number,
|
||
|
default: 0
|
||
|
}
|
||
|
}, Ne = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
Ne.props = Hu;
|
||
|
Ne.setup = (A, t) => {
|
||
|
const e = A, a = p(() => e.isMuted ? Ju : qu), n = p(() => e.isMuted || !e.volume ? "" : `height: ${e.volume * 4}%`);
|
||
|
return {
|
||
|
iconSrc: a,
|
||
|
volumeLevelStyle: n
|
||
|
};
|
||
|
};
|
||
|
Ne.components = Object.assign({
|
||
|
Icon: ft
|
||
|
}, Ne.components);
|
||
|
var Ku = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "mic-container"
|
||
|
}, [e("div", {
|
||
|
staticClass: "mic-level-container"
|
||
|
}, [e("div", {
|
||
|
staticClass: "mic-level",
|
||
|
style: A.volumeLevelStyle
|
||
|
})]), e("Icon", {
|
||
|
attrs: {
|
||
|
src: A.iconSrc
|
||
|
}
|
||
|
})], 1);
|
||
|
}, $u = [];
|
||
|
const en = {};
|
||
|
var Ac = /* @__PURE__ */ S(
|
||
|
Ne,
|
||
|
Ku,
|
||
|
$u,
|
||
|
!1,
|
||
|
ec,
|
||
|
"3cbc030b",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function ec(A) {
|
||
|
for (let t in en)
|
||
|
this[t] = en[t];
|
||
|
}
|
||
|
const Jo = /* @__PURE__ */ function() {
|
||
|
return Ac.exports;
|
||
|
}(), GA = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDEwMCAxMDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHg9Ii01IiB5PSItNSIgd2lkdGg9IjExMCIgaGVpZ2h0PSIxMTAiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8yOTY0XzE3NTgpIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjQuOTk5OSA3MS41QzI0Ljk5OTkgNjEuMjM1NyAzMi45MzA0IDUyLjgyMzcgNDIuOTk4MyA1Mi4wNTdDNDMuNDkzOSA1Mi4wMTkzIDQzLjk5NDcgNTIgNDQuNDk5OSA1Mkg1Ny40OTk5QzU4LjAwNTEgNTIgNTguNTA1OSA1Mi4wMTkzIDU5LjAwMTQgNTIuMDU3QzY5LjA2OTQgNTIuODIzNyA3Ni45OTk5IDYxLjIzNTcgNzYuOTk5OSA3MS41Vjc4LjI4MjZIMjQuOTk5OUwyNC45OTk5IDcxLjVaIiBmaWxsPSIjRDVFMEYyIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDQuNDk5OSA0NS42MDQ4QzQ0LjQzMTIgNDUuNTcwNyA0NC4zNjI5IDQ1LjUzNiA0NC4yOTQ4IDQ1LjUwMDhDMzkuNTkwNiA0My4wNjk3IDM2LjM3NDkgMzguMTYwNCAzNi4zNzQ5IDMyLjVDMzYuMzc0OSAyNC40MjI4IDQyLjkyMjcgMTcuODc1IDUwLjk5OTkgMTcuODc1QzU5LjA3NyAxNy44NzUgNjUuNjI0OSAyNC40MjI4IDY1LjYyNDkgMzIuNUM2NS42MjQ5IDM4LjE2MDQgNjIuNDA5MiA0My4wNjk3IDU3LjcwNDkgNDUuNTAwOEM1Ny42MzY5IDQ1LjUzNiA1Ny41Njg2IDQ1LjU3MDcgNTcuNDk5OSA0NS42MDQ4QzU1LjU0MTggNDYuNTc3OSA1My4zMzQ3IDQ3LjEyNSA1MC45OTk5IDQ3LjEyNUM0OC42NjUgNDcuMTI1IDQ2LjQ1NzkgNDYuNTc3OSA0NC40OTk5IDQ1LjYwNDhaIiBmaWxsPSIjRDVFMEYyIi8+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMjk2NF8xNzU4IiB4MT0iNzMuNSIgeTE9Ii01IiB4Mj0iNSIgeTI9Ijk4LjUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iIzdDODU5QiIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM3NDdDOTAiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgo8L3N2Zz4K", tc = {
|
||
|
showOverlayStream: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
customClass: {
|
||
|
type: String
|
||
|
},
|
||
|
customStyle: {
|
||
|
type: Object
|
||
|
},
|
||
|
isSmallWindow: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
tip: {
|
||
|
type: String,
|
||
|
default: null
|
||
|
},
|
||
|
showOverlay: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
showMask: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
showBackgroundImage: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
blur: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
bgColor: {
|
||
|
type: String
|
||
|
},
|
||
|
bgImage: {
|
||
|
type: String,
|
||
|
default: GA
|
||
|
},
|
||
|
overlayZIndex: {
|
||
|
type: Number
|
||
|
},
|
||
|
customOverlayClass: {
|
||
|
type: String
|
||
|
},
|
||
|
fit: {
|
||
|
type: String
|
||
|
},
|
||
|
showLoading: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
showAvatar: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
avatar: {
|
||
|
type: String,
|
||
|
default: GA
|
||
|
},
|
||
|
showUserName: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
username: {
|
||
|
type: String
|
||
|
},
|
||
|
color: {
|
||
|
type: String,
|
||
|
default: "#FFF"
|
||
|
},
|
||
|
showMicVolume: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
isMuted: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
volume: {
|
||
|
type: Number,
|
||
|
default: 0
|
||
|
},
|
||
|
showTip: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
}
|
||
|
}, pe = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
pe.props = tc;
|
||
|
pe.setup = (A, t) => {
|
||
|
const e = t.emit, a = A, n = I(100), {
|
||
|
isFloatWindow: l
|
||
|
} = z(CA()), i = j.isPC ? "40px" : "20px";
|
||
|
J([() => a.isSmallWindow, l], () => {
|
||
|
l.value ? n.value = a.isSmallWindow ? 20 : 40 : n.value = a.isSmallWindow ? 40 : 100;
|
||
|
}, {
|
||
|
immediate: !0
|
||
|
});
|
||
|
const u = p(() => X(["overlay-stream-container", {
|
||
|
pc: j.isPC,
|
||
|
mobile: !j.isPC,
|
||
|
float: l.value
|
||
|
}]));
|
||
|
return {
|
||
|
defaultAvatarSrc: GA,
|
||
|
avatarSize: n,
|
||
|
fontSize: i,
|
||
|
overlayStreamClassName: u,
|
||
|
handleError: (r) => {
|
||
|
e("error", r);
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
pe.components = Object.assign({
|
||
|
Overlay: _o,
|
||
|
Loading: na,
|
||
|
Avatar: qo,
|
||
|
TKText: lA,
|
||
|
MicrophoneVolume: Jo
|
||
|
}, pe.components);
|
||
|
var ac = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return A.showOverlayStream ? e("div", {
|
||
|
class: A.overlayStreamClassName,
|
||
|
style: [A.customStyle]
|
||
|
}, [e("Overlay", {
|
||
|
attrs: {
|
||
|
show: A.showOverlay,
|
||
|
"show-background-image": A.showBackgroundImage,
|
||
|
"show-mask": A.showMask,
|
||
|
blur: A.blur,
|
||
|
zIndex: A.overlayZIndex,
|
||
|
bgColor: A.bgColor,
|
||
|
bgImage: A.bgImage || A.defaultAvatarSrc,
|
||
|
fit: A.fit,
|
||
|
defaultSrc: A.defaultAvatarSrc,
|
||
|
customStyle: {
|
||
|
position: "absolute",
|
||
|
width: "100%",
|
||
|
height: "100%"
|
||
|
},
|
||
|
"custom-mask-style": {
|
||
|
"backdrop-filter": "blur(12px)",
|
||
|
"-webkit-backdrop-filter": "blur(12px)"
|
||
|
},
|
||
|
customClass: A.customOverlayClass
|
||
|
},
|
||
|
on: {
|
||
|
error: A.handleError
|
||
|
}
|
||
|
}, [e("div", {
|
||
|
staticClass: "overlay-stream-content-container"
|
||
|
}, [e("div", {
|
||
|
staticClass: "overlay-stream-content"
|
||
|
}, [A.showLoading ? e("Loading", {
|
||
|
attrs: {
|
||
|
mode: "dot"
|
||
|
}
|
||
|
}) : A._e(), e("div", {
|
||
|
staticClass: "overlay-stream-avatar"
|
||
|
}, [A.showAvatar ? e("Avatar", {
|
||
|
attrs: {
|
||
|
src: A.avatar || A.defaultAvatarSrc,
|
||
|
size: A.avatarSize
|
||
|
}
|
||
|
}) : A._e()], 1), e("div", {
|
||
|
staticClass: "overlay-stream-info"
|
||
|
}, [A.showUserName ? e("TKText", {
|
||
|
attrs: {
|
||
|
truncated: !0,
|
||
|
size: A.fontSize,
|
||
|
color: A.color,
|
||
|
width: "200px",
|
||
|
weight: 500
|
||
|
}
|
||
|
}, [A._v(" " + A._s(A.username) + " ")]) : A._e(), A.showMicVolume ? e("MicrophoneVolume", {
|
||
|
attrs: {
|
||
|
isMuted: A.isMuted,
|
||
|
volume: A.volume
|
||
|
}
|
||
|
}) : A._e()], 1), e("div", {
|
||
|
staticClass: "overlay-stream-tip"
|
||
|
}, [A.showTip && A.tip ? e("div", [A._v(A._s(A.tip))]) : A._e()])], 1), A._t("default")], 2)])], 1) : A._e();
|
||
|
}, nc = [];
|
||
|
const tn = {};
|
||
|
var oc = /* @__PURE__ */ S(
|
||
|
pe,
|
||
|
ac,
|
||
|
nc,
|
||
|
!1,
|
||
|
lc,
|
||
|
"01ddfaf4",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function lc(A) {
|
||
|
for (let t in tn)
|
||
|
this[t] = tn[t];
|
||
|
}
|
||
|
const Ho = /* @__PURE__ */ function() {
|
||
|
return oc.exports;
|
||
|
}(), st = {};
|
||
|
st.setup = (A, t) => {
|
||
|
const {
|
||
|
localUserInfoExcludeVolume: e,
|
||
|
remoteUserListExcludeVolume: a
|
||
|
} = z(MA()), {
|
||
|
callerUserInfo: n
|
||
|
} = z(vi()), {
|
||
|
isGroupCall: l
|
||
|
} = z(q()), i = xo(), u = p(() => {
|
||
|
var C, E;
|
||
|
return l.value ? n.value.displayUserInfo : (E = (C = a.value) == null ? void 0 : C[0]) == null ? void 0 : E.displayUserInfo;
|
||
|
}), s = p(() => {
|
||
|
var C, E;
|
||
|
return l.value ? n.value.avatar : (E = (C = a.value) == null ? void 0 : C[0]) == null ? void 0 : E.avatar;
|
||
|
}), r = p(() => l.value ? !0 : !e.value.isVideoAvailable), M = p(() => l.value ? v("Invited group call") : null), D = p(() => {
|
||
|
var C, E;
|
||
|
return l.value ? i.value[n.value.userId] || s.value : i.value[(E = (C = a.value) == null ? void 0 : C[0]) == null ? void 0 : E.userId] || s.value;
|
||
|
}), g = I(!1), N = I("fill");
|
||
|
let y = I(!1);
|
||
|
return QA(() => {
|
||
|
var C, E, w, L;
|
||
|
if (y.value) {
|
||
|
g.value = l.value ? !0 : !e.value.isVideoAvailable, N.value = "cover";
|
||
|
return;
|
||
|
}
|
||
|
l.value ? (g.value = !i.value[n.value.userId], N.value = i.value[n.value.userId] ? "fill" : "cover") : (g.value = !e.value.isVideoAvailable && !i.value[(E = (C = a.value) == null ? void 0 : C[0]) == null ? void 0 : E.userId], N.value = i.value[(L = (w = a.value) == null ? void 0 : w[0]) == null ? void 0 : L.userId] ? "fill" : "cover");
|
||
|
}), {
|
||
|
TUIGlobal: j,
|
||
|
t: v,
|
||
|
defaultAvatarSrc: GA,
|
||
|
remoteUserListExcludeVolume: a,
|
||
|
isGroupCall: l,
|
||
|
username: u,
|
||
|
avatar: s,
|
||
|
showBackgroundImage: r,
|
||
|
tip: M,
|
||
|
bgImage: D,
|
||
|
showMask: g,
|
||
|
fit: N,
|
||
|
handleError: () => {
|
||
|
y.value = !0;
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
st.components = Object.assign({
|
||
|
OverlayStream: Ho,
|
||
|
TKText: lA,
|
||
|
Avatar: qo
|
||
|
}, st.components);
|
||
|
var ic = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "waiting-container"
|
||
|
}, [e("OverlayStream", {
|
||
|
attrs: {
|
||
|
username: A.username,
|
||
|
avatar: A.avatar,
|
||
|
"bg-image": A.bgImage,
|
||
|
"show-avatar": !A.TUIGlobal.isPC,
|
||
|
"show-loading": !1,
|
||
|
"bg-color": "#22262ed9",
|
||
|
"show-mask": A.showMask,
|
||
|
"show-background-image": A.showBackgroundImage,
|
||
|
tip: A.tip,
|
||
|
fit: A.fit
|
||
|
},
|
||
|
on: {
|
||
|
error: A.handleError
|
||
|
}
|
||
|
}, [!A.TUIGlobal.isPC && A.isGroupCall ? e("div", {
|
||
|
staticClass: "groupcall-info"
|
||
|
}, [e("div", {
|
||
|
staticClass: "tip"
|
||
|
}, [e("TKText", {
|
||
|
attrs: {
|
||
|
color: "#FFF"
|
||
|
}
|
||
|
}, [A._v(A._s(A.remoteUserListExcludeVolume.length) + A._s(A.t("people in the call")))])], 1), e("div", {
|
||
|
staticClass: "avatar-group"
|
||
|
}, A._l(A.remoteUserListExcludeVolume, function(a) {
|
||
|
return e("div", {
|
||
|
staticClass: "avatar-item"
|
||
|
}, [e("Avatar", {
|
||
|
attrs: {
|
||
|
size: "100%",
|
||
|
src: a.avatar || A.defaultAvatarSrc
|
||
|
}
|
||
|
})], 1);
|
||
|
}), 0)]) : A._e()])], 1);
|
||
|
}, sc = [];
|
||
|
const an = {};
|
||
|
var uc = /* @__PURE__ */ S(
|
||
|
st,
|
||
|
ic,
|
||
|
sc,
|
||
|
!1,
|
||
|
cc,
|
||
|
"a1a05f80",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function cc(A) {
|
||
|
for (let t in an)
|
||
|
this[t] = an[t];
|
||
|
}
|
||
|
const Ko = /* @__PURE__ */ function() {
|
||
|
return uc.exports;
|
||
|
}(), rc = {
|
||
|
bigWindow: {
|
||
|
type: String
|
||
|
},
|
||
|
showSmallWindow: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
smallWindowWidth: {
|
||
|
type: String,
|
||
|
default: "30%"
|
||
|
},
|
||
|
smallWindowHeight: {
|
||
|
type: String,
|
||
|
default: "30%"
|
||
|
}
|
||
|
}, $o = "ToggleWindowContextKey", ua = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
ua.props = rc;
|
||
|
ua.setup = (A, t) => {
|
||
|
const e = A, a = t.emit, n = I(e.bigWindow), l = `${x}-toggle-window`, i = (u) => {
|
||
|
n.value = u, a("toggle", u);
|
||
|
};
|
||
|
return J(() => e.bigWindow, () => {
|
||
|
n.value = e.bigWindow;
|
||
|
}), gA($o, {
|
||
|
bigWindow: n,
|
||
|
toggleWindow: i,
|
||
|
smallWindowWidth: wt(e, "smallWindowWidth"),
|
||
|
smallWindowHeight: wt(e, "smallWindowHeight"),
|
||
|
showSmallWindow: wt(e, "showSmallWindow")
|
||
|
}), {
|
||
|
toggleWindowContainerClassName: l
|
||
|
};
|
||
|
};
|
||
|
var Mc = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
class: A.toggleWindowContainerClassName
|
||
|
}, [A._t("default")], 2);
|
||
|
}, dc = [];
|
||
|
const nn = {};
|
||
|
var Ic = /* @__PURE__ */ S(
|
||
|
ua,
|
||
|
Mc,
|
||
|
dc,
|
||
|
!1,
|
||
|
gc,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function gc(A) {
|
||
|
for (let t in nn)
|
||
|
this[t] = nn[t];
|
||
|
}
|
||
|
const Nc = /* @__PURE__ */ function() {
|
||
|
return Ic.exports;
|
||
|
}(), ca = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
ca.props = ["disabled"];
|
||
|
ca.setup = (A, t) => ({});
|
||
|
var pc = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("root-portal", {
|
||
|
attrs: {
|
||
|
enable: !A.disabled
|
||
|
}
|
||
|
}, [A._t("default")], 2);
|
||
|
}, Dc = [];
|
||
|
const on = {};
|
||
|
var Tc = /* @__PURE__ */ S(
|
||
|
ca,
|
||
|
pc,
|
||
|
Dc,
|
||
|
!1,
|
||
|
Cc,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Cc(A) {
|
||
|
for (let t in on)
|
||
|
this[t] = on[t];
|
||
|
}
|
||
|
const yc = /* @__PURE__ */ function() {
|
||
|
return Tc.exports;
|
||
|
}(), Sc = {
|
||
|
name: "teleport",
|
||
|
props: {
|
||
|
to: {
|
||
|
type: String,
|
||
|
required: !0
|
||
|
},
|
||
|
source: {
|
||
|
type: String,
|
||
|
required: !0
|
||
|
},
|
||
|
disabled: {
|
||
|
type: Boolean,
|
||
|
required: !0
|
||
|
}
|
||
|
},
|
||
|
mounted() {
|
||
|
if (this.disabled)
|
||
|
return;
|
||
|
const A = document.querySelector(this.to);
|
||
|
A && A.appendChild(this.$el);
|
||
|
},
|
||
|
watch: {
|
||
|
disabled: {
|
||
|
immediate: !0,
|
||
|
handler() {
|
||
|
var A, t;
|
||
|
this.disabled ? (t = document.querySelector(this.source)) == null || t.appendChild(this.$el) : (A = document.querySelector(this.to)) == null || A.appendChild(this.$el);
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
destroyed() {
|
||
|
const A = document.querySelector(this.to);
|
||
|
if (A)
|
||
|
try {
|
||
|
A.removeChild(this.$el);
|
||
|
} catch (t) {
|
||
|
console.debug(t);
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
var Ec = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", [A._t("default")], 2);
|
||
|
}, hc = [];
|
||
|
const ln = {};
|
||
|
var mc = /* @__PURE__ */ S(
|
||
|
Sc,
|
||
|
Ec,
|
||
|
hc,
|
||
|
!1,
|
||
|
jc,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function jc(A) {
|
||
|
for (let t in ln)
|
||
|
this[t] = ln[t];
|
||
|
}
|
||
|
const vc = /* @__PURE__ */ function() {
|
||
|
return mc.exports;
|
||
|
}(), Al = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
Al.props = ["disabled", "to"];
|
||
|
var fc = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("Teleport", {
|
||
|
attrs: {
|
||
|
disabled: A.disabled,
|
||
|
to: A.to
|
||
|
}
|
||
|
}, [A._t("default")], 2);
|
||
|
}, Lc = [];
|
||
|
const sn = {};
|
||
|
var Uc = /* @__PURE__ */ S(
|
||
|
Al,
|
||
|
fc,
|
||
|
Lc,
|
||
|
!1,
|
||
|
zc,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function zc(A) {
|
||
|
for (let t in sn)
|
||
|
this[t] = sn[t];
|
||
|
}
|
||
|
const wc = /* @__PURE__ */ function() {
|
||
|
return Uc.exports;
|
||
|
}(), Oc = {
|
||
|
disabled: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
to: {
|
||
|
type: String,
|
||
|
default: "body"
|
||
|
},
|
||
|
source: {
|
||
|
type: String,
|
||
|
default: "body"
|
||
|
}
|
||
|
}, De = {};
|
||
|
De.props = Oc;
|
||
|
De.setup = (A, t) => {
|
||
|
const {
|
||
|
majorVersion: e
|
||
|
} = ts(), a = p(() => e === "3"), n = p(() => e === "2");
|
||
|
return {
|
||
|
IN_MINI_APP: Qt,
|
||
|
isVue3: a,
|
||
|
isVue2: n
|
||
|
};
|
||
|
};
|
||
|
De.components = Object.assign({
|
||
|
PortalMini: yc,
|
||
|
PortalVue2: vc,
|
||
|
PortalVue3: wc
|
||
|
}, De.components);
|
||
|
var xc = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", [A.IN_MINI_APP ? e("PortalMini", {
|
||
|
attrs: {
|
||
|
disabled: A.disabled
|
||
|
}
|
||
|
}, [A._t("default")], 2) : A.isVue2 ? e("PortalVue2", {
|
||
|
attrs: {
|
||
|
disabled: A.disabled,
|
||
|
to: A.to,
|
||
|
source: A.source
|
||
|
}
|
||
|
}, [A._t("default")], 2) : e("PortalVue3", {
|
||
|
attrs: {
|
||
|
disabled: A.disabled,
|
||
|
to: A.to
|
||
|
}
|
||
|
}, [A._t("default")], 2)], 1);
|
||
|
}, Vc = [];
|
||
|
const un = {};
|
||
|
var bc = /* @__PURE__ */ S(
|
||
|
De,
|
||
|
xc,
|
||
|
Vc,
|
||
|
!1,
|
||
|
Bc,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Bc(A) {
|
||
|
for (let t in un)
|
||
|
this[t] = un[t];
|
||
|
}
|
||
|
const el = /* @__PURE__ */ function() {
|
||
|
return bc.exports;
|
||
|
}(), Fc = {
|
||
|
value: {
|
||
|
type: String
|
||
|
}
|
||
|
}, ra = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
ra.props = Fc;
|
||
|
ra.setup = (A, t) => {
|
||
|
const e = A, {
|
||
|
bigWindow: a,
|
||
|
toggleWindow: n,
|
||
|
smallWindowWidth: l,
|
||
|
smallWindowHeight: i,
|
||
|
showSmallWindow: u
|
||
|
} = NA($o), s = p(() => X([`${x}-toggle-window-item`, `${x}-toggle-window-item--${a.value === e.value ? "big" : "small"}`, {
|
||
|
pc: WA,
|
||
|
mobile: !WA
|
||
|
}])), r = p(() => {
|
||
|
let M = {};
|
||
|
return a.value !== e.value && (M = {
|
||
|
width: l.value,
|
||
|
height: i.value
|
||
|
}, u.value ? M.visibility = "" : M.visibility = "hidden"), M;
|
||
|
});
|
||
|
return {
|
||
|
toggleWindow: n,
|
||
|
classname: s,
|
||
|
windowItemStyle: r
|
||
|
};
|
||
|
};
|
||
|
var Rc = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
class: A.classname,
|
||
|
style: [A.windowItemStyle],
|
||
|
on: {
|
||
|
click: function() {
|
||
|
return A.toggleWindow(A.value);
|
||
|
}
|
||
|
}
|
||
|
}, [A._t("default")], 2);
|
||
|
}, kc = [];
|
||
|
const cn = {};
|
||
|
var Pc = /* @__PURE__ */ S(
|
||
|
ra,
|
||
|
Rc,
|
||
|
kc,
|
||
|
!1,
|
||
|
Wc,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Wc(A) {
|
||
|
for (let t in cn)
|
||
|
this[t] = cn[t];
|
||
|
}
|
||
|
const Gc = /* @__PURE__ */ function() {
|
||
|
return Pc.exports;
|
||
|
}(), Ma = {
|
||
|
nickName: {
|
||
|
type: String,
|
||
|
default: ""
|
||
|
},
|
||
|
isSelf: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
isMuted: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
volume: {
|
||
|
type: Number,
|
||
|
default: 0
|
||
|
},
|
||
|
showNickName: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
showSwitchCameraButton: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
showVirtualBackgroundButton: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
showNetWorkStatus: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
}
|
||
|
}, tl = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCA0NCA0NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2RfMV8xOSkiPgo8ZWxsaXBzZSBjeD0iMjEuNjE2IiBjeT0iMjEuNTE3IiByeD0iMTkuNjE2IiByeT0iMTkuNTE3IiBmaWxsPSJ3aGl0ZSIvPgo8L2c+CjxyZWN0IHg9IjciIHk9IjgiIHdpZHRoPSIyOSIgaGVpZ2h0PSIyOSIgZmlsbD0idXJsKCNwYXR0ZXJuMF8xXzE5KSIvPgo8ZGVmcz4KPGZpbHRlciBpZD0iZmlsdGVyMF9kXzFfMTkiIHg9IjAiIHk9IjAiIHdpZHRoPSI0My4yMzIiIGhlaWdodD0iNDMuMDM0IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPgo8ZmVPZmZzZXQvPgo8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIxIi8+CjxmZUNvbXBvc2l0ZSBpbjI9ImhhcmRBbHBoYSIgb3BlcmF0b3I9Im91dCIvPgo8ZmVDb2xvck1hdHJpeCB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMC4yNSAwIi8+CjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW4yPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHJlc3VsdD0iZWZmZWN0MV9kcm9wU2hhZG93XzFfMTkiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3dfMV8xOSIgcmVzdWx0PSJzaGFwZSIvPgo8L2ZpbHRlcj4KPHBhdHRlcm4gaWQ9InBhdHRlcm4wXzFfMTkiIHBhdHRlcm5Db250ZW50VW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj4KPHVzZSB4bGluazpocmVmPSIjaW1hZ2UwXzFfMTkiIHRyYW5zZm9ybT0ic2NhbGUoMC4wMDUpIi8+CjwvcGF0dGVybj4KPGltYWdlIGlkPSJpbWFnZTBfMV8xOSIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBTWdBQUFESUNBWUFBQUN0V0s2ZUFBQUFBWE5TUjBJQXJzNGM2UUFBSUFCSlJFRlVlRjd0WFhtY0ZOVzEvazUxenpETW9DUzRobTI2ZXJwblJveGJ4Q1VKUnR5QTZRYlhSOXppOG95YXVNU1h1Q1Z4ZVJJMWlVdGNzcWlKaVpyb2N3dFBpVUIzZ3lzdTcwVlJORThEd3ZRNk1CSXhpaUF5dzh4MDEzbmNZVXcwQ3RQVmRhdTZxdWJlMzg4L1pPNVo3bmZ2MTFWMTc3bm5FRlJUQ0NnRXRvb0FLV3dVQWdxQnJTT2dDS0pXaDBKZ0d3Z29ncWpsb1JCUUJGRnJRQ0ZRR1FMcUNWSVpia3BxaUNDZ0NESkVKbG9Oc3pJRUZFRXF3MDFKRFJFRUZFR0d5RVNyWVZhR2dDSklaYmdwcVNHQ2dDTElFSmxvTmN6S0VGQUVxUXczSlRWRUVGQUVHU0lUcllaWkdRS0tJSlhocHFTR0NBS0tJRU5rb3RVd0swTkFFYVF5M0pUVUVFRkFFY1NoaVdiTTBqckhMaDBHZkRDOFoxaGRBOU9tN2RGSDJ4TUNkWUJSUjRFQXNWR3FaUkJybXRiSGhtRXdqRTBBYldMUUppcnhCcW90YlZqWFBlekQrYXZuYlpvRkdBNjVQcVROS0lKSW5QNTBwRzE3WW0wOEd3Z0R4aGZCRkFIeGFJREdBOWlSZ0FZbTFJSVJyTWdzb2NpTUhnSStCT0U5WXF3MndEa05XaHBzWk5oQWUybDR6YXJXRlhNM1ZLUmZDWDBLQVVXUUNoZkZzc2FwWHhnV29BbUdvVTBDNFVBR1dnbjRBb0JoRmFxVUpkWUxvQlBBR3dBdjFraGJyQm44VjcyUWZGdVdnYUdrUnhHa2pObG1nRlkwemdocFZEb1l3QlFpSEVCQUl3T0JNc1NyM29XQUVnTWRSSGlwWk5EQ1dwU2VEUlVXZEJEQVZYZk81UTRvZ214bGd0N2VaVXJEaHZyQVY4SGEwU0NlQ2tBSDRCZThCREVLQUo0eXlKanorYnJ0bnR0NTJld1BYYjVXcStLZVh5WmNDbml2aFk3K1hEMTZwbXBFSndJNEJNRDJVaFM3WDhrR1lqeGhhSGlBTkg0aW1rbDk0SDZYbmZGd3lCTms2WVNadGNPNk5oN0tSTjlrY0p2NGtIWUdldGRhNlNjTEUvOCtNbXJjQWxweVo1OXJQWFhBc1NGTGtHeDRlclRFcGJNQk9ubmc0OW9CdUwxbWdsYUQrVjZVK0hmUlZhbXMxN3lYNGUrUUlzZ3N6TkpPQ2IvY1pyRHhIUUlkN3BXUGJCa1RiVkdIQWZBVG0xODViNDdrVTA4TXBZLzdJVUdRZkdoeVhRa05wekx4ZHdIc1puR3hER2x4Qmxab2pPczR5QTlHTTZrZXY0UGhhNEtzSGoyanZtdFk4UndHTGdSb3ROOG4wOUh4TWQ0aTRsdnFlNEozakY0OXI4dFIydzRhOHlWQm5nbE5yaHVMNGQ4R2FaY0E0aVJiTmJzUVlPQnZ4SHdEZ3JqRGowOFVYeEZFeER0bDlaZStZWUJtMFpaekM5V2NReUMzMmRTc1NINy8rd216ZkJNbjVodUNwUFcyS1FEZEFHQXY1OWFFc3ZRWkNQeUZpUzVwemlXZTlBTTZuaWRJTmp4OXZNSEdqUUMrN29jSjhkRVlaZ2VBUzhMNVpJZVh4K1JaZ3ZEa3ljRk1vZUVpRUY4SmRiam4xalhZQmNZMW5ZV3VueDJDUlVXM09ya3R2enhKa0d3NE50RUEvUWJNWC9JaTZFUE9aNkpYMmVCem13dkpsN3cyZGs4UnBEOHNaTlBHYThDNHlDdUhmQU9SdENLMjZWMEE3d0JZRGRBYUVML0hCdDdYUU4xTTNBMXdONVAyajQvYm9QZ2Y1Z2JXZUJReFJobk1PeERSRGdTTTRTMWg5VHNBMkE2QTVwRkZaNEJ4L2ZvZDFsdzFjY2tTejRTdmVJWWc2Y2JwWDRKbS9BN0FQaTVkRUNKQ2RnMFl5NGl3aEVHdms0WTNBeVYrcTZ1K1llM3V5MmFMZXhyUzJpdjc3bHN6YXUyWVVTWHUwMW1qc0Fic3p3YjJZTUp1Qk96cTRzampONWh4bGxlZUpxNG5pTGlMa1F2Rkx5MlJjUTJCYXFTdE1PdUt4Sy9nTWdEL0E4YmpGQ2krMnBRZHVab3d1MlJkZGVVYS9vaVpnVDFDRzhZRktiQWZ3Sk1KbUdRQUV3Z1YzbUtzM0pXdFNqSlExTUEvaU9SVE45bWdYcXBLVnhNazAzVE16bXhzdWhjZ2NSK2o2bzJBdHhsNEhFQUNBWDRtbWtuOXZlcE9sZUZBcG1uS3pxVlM0Q3NhMFRF
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
Te.props = Ma;
|
||
|
Te.setup = (A, t) => ({
|
||
|
networkSrc: tl,
|
||
|
t: v
|
||
|
});
|
||
|
Te.components = Object.assign({
|
||
|
Row: $t,
|
||
|
Col: ea,
|
||
|
MicrophoneVolume: Jo,
|
||
|
TKText: lA,
|
||
|
TKImage: SA
|
||
|
}, Te.components);
|
||
|
var Qc = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("Row", [e("Col", {
|
||
|
attrs: {
|
||
|
span: 12,
|
||
|
justify: "start",
|
||
|
align: "center"
|
||
|
}
|
||
|
}, [e("div", {
|
||
|
staticClass: "stream-userInfo"
|
||
|
}, [e("MicrophoneVolume", {
|
||
|
staticClass: "mic-volume",
|
||
|
attrs: {
|
||
|
"is-muted": A.isMuted,
|
||
|
volume: A.volume
|
||
|
}
|
||
|
}), e("div", {
|
||
|
staticClass: "nickname"
|
||
|
}, [e("TKText", {
|
||
|
attrs: {
|
||
|
color: "#fff",
|
||
|
truncated: !0,
|
||
|
width: "80px",
|
||
|
size: "14px"
|
||
|
}
|
||
|
}, [A._v(A._s(A.nickName))]), e("TKText", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: A.isSelf,
|
||
|
expression: "isSelf"
|
||
|
}],
|
||
|
attrs: {
|
||
|
color: "#fff",
|
||
|
size: "14px"
|
||
|
}
|
||
|
}, [A._v(A._s(A.t("me")))])], 1)], 1)]), e("Col", {
|
||
|
attrs: {
|
||
|
span: 12,
|
||
|
justify: "center"
|
||
|
}
|
||
|
}, [A.showNetWorkStatus ? e("div", [e("TKImage", {
|
||
|
attrs: {
|
||
|
width: "24px",
|
||
|
height: "24px",
|
||
|
src: A.networkSrc
|
||
|
}
|
||
|
})], 1) : A._e()])], 1);
|
||
|
}, Zc = [];
|
||
|
const rn = {};
|
||
|
var Yc = /* @__PURE__ */ S(
|
||
|
Te,
|
||
|
Qc,
|
||
|
Zc,
|
||
|
!1,
|
||
|
Xc,
|
||
|
"2f962e88",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Xc(A) {
|
||
|
for (let t in rn)
|
||
|
this[t] = rn[t];
|
||
|
}
|
||
|
const _c = /* @__PURE__ */ function() {
|
||
|
return Yc.exports;
|
||
|
}(), qc = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZF8xMjRfNjQ3KSI+CjxjaXJjbGUgY3g9IjE0IiBjeT0iMTQiIHI9IjEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2c+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTUuODEyMiAyMi41MzgyQzE1LjgxMjIgMjIuNTM4MiAxNS44MTIzIDIyLjUzODEgMTUuODEyMyAyMi41MzgxQzIwLjUyNzggMTcuODIyNiAyMC41Mjc4IDEwLjE3NzIgMTUuODEyNCA1LjQ2MTY3TDE0LjA0NDYgNy4yMjk0NEMxNy43ODM4IDEwLjk2ODcgMTcuNzgzNyAxNy4wMzExIDE0LjA0NDUgMjAuNzcwNEMxNC4wNDQ1IDIwLjc3MDQgMTQuMDQ0NSAyMC43NzA0IDE0LjA0NDUgMjAuNzcwNEwxNS44MTIyIDIyLjUzODJaIiBmaWxsPSIjMUM2NkU1Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTIuMTg3OSAxOS4xMzU2QzEyLjE4NzkgMTkuMTM1NiAxMi4xODc5IDE5LjEzNTYgMTIuMTg4IDE5LjEzNTVDMTUuMDI0NiAxNi4yOTg5IDE1LjAyNDcgMTEuNjk5OCAxMi4xODgxIDguODYzMDRMMTAuNDIwMyAxMC42MzA4QzEyLjI4MDYgMTIuNDkxMiAxMi4yODA1IDE1LjUwNzQgMTAuNDIwMiAxNy4zNjc4QzEwLjQyMDIgMTcuMzY3OCAxMC40MjAxIDE3LjM2NzggMTAuNDIwMSAxNy4zNjc4TDEyLjE4NzkgMTkuMTM1NloiIGZpbGw9IiMxQzY2RTUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05LjEyMTQ0IDE2LjA2OTJDMTAuMjY0NCAxNC45MjYgMTAuMjY0MyAxMy4wNzI4IDkuMTIxMjggMTEuOTI5OEM5LjEyMTI2IDExLjkyOTcgOS4xMjEyNCAxMS45Mjk3IDkuMTIxMjIgMTEuOTI5N0w3LjEwMjk4IDEzLjk0NzlDNy4xMDMgMTMuOTQ3OSA3LjEwMzAyIDEzLjk0OCA3LjEwMzA0IDEzLjk0OEM3LjEzMTQ2IDEzLjk3NjQgNy4xMzE1MSAxNC4wMjI0IDcuMTAzMiAxNC4wNTA5TDkuMTIxNDQgMTYuMDY5MloiIGZpbGw9IiMxQzY2RTUiLz4KPGRlZnM+CjxmaWx0ZXIgaWQ9ImZpbHRlcjBfZF8xMjRfNjQ3IiB4PSIwIiB5PSIwIiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiIHJlc3VsdD0iaGFyZEFscGhhIi8+CjxmZU9mZnNldC8+CjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEiLz4KPGZlQ29tcG9zaXRlIGluMj0iaGFyZEFscGhhIiBvcGVyYXRvcj0ib3V0Ii8+CjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwLjI1IDAiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3dfMTI0XzY0NyIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvd18xMjRfNjQ3IiByZXN1bHQ9InNoYXBlIi8+CjwvZmlsdGVyPgo8L2RlZnM+Cjwvc3ZnPgo=", Jc = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZF8xNzQxXzEwNjc4KSI+CjxjaXJjbGUgY3g9IjE0IiBjeT0iMTQiIHI9IjEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2c+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTAuNjY2NyAxMC4wMDAxQzEwLjY2NjcgOC4xNTkxMyAxMi4xNTkgNi42NjY3NSAxNCA2LjY2Njc1QzE1LjA1MzggNi42NjY3NSAxNS45OTM0IDcuMTU1NzQgMTYuNjA0MiA3LjkxOTJMMTAuNzMyIDE0Ljk5MzRDMTAuNjg5MSAxNC43ODAxIDEwLjY2NjcgMTQuNTU5NCAxMC42NjY3IDE0LjMzMzRWMTAuMDAwMVpNOS42Mjk3NSAxNi4zMjEyQzkuMzUzNzUgMTUuNzE1NSA5LjIgMTUuMDQyMyA5LjIgMTQuMzMzMlYxMy4zMzMySDguMTMzMzNWMTQuMzMzMkM4LjEzMzMzIDE1LjM4MDMgOC40MDc2NiAxNi4zNjM0IDguODg4MzYgMTcuMjE0NEw5LjYyOTc1IDE2LjMyMTJaTTEwLjkxMyAxOS4zMjNMMTEuNjAyNSAxOC40OTI1QzEyLjMwNzkgMTguOSAxMy4xMjY3IDE5LjEzMzIgMTQgMTkuMTMzMkMxNi42NTEgMTkuMTMzMiAxOC44IDE2Ljk4NDIgMTguOCAxNC4zMzMyVjEzLjMzMzJIMTkuODY2N1YxNC4zMzMyQzE5Ljg2NjcgMTcuMzkzNSAxNy41MjM1IDE5LjkwNjUgMTQuNTMzMyAyMC4xNzZWMjIuMDAwMUgxMy40NjY3VjIwLjE3NkMxMi41MzU3IDIwLjA5MjEgMTEuNjY3NCAxOS43OTA3IDEwLjkxMyAxOS4zMjNaTTEyLjU1OTEgMTcuMzQwMUwxNy4zMzMzIDExLjU4ODZWMTQuMzMzNEMxNy4zMzMzIDE2LjE3NDQgMTUuODQwOSAxNy42NjY3IDE0IDE3LjY2NjdDMTMuNDgzOSAxNy42NjY3IDEyLjk5NTIgMTcuNTQ5NSAxMi41NTkxIDE3LjM0MDFaIiBmaWxsPSIjRTYzOTVDIi8+CjxwYXRoIGQ9Ik05LjQyMzQgMTguODQ0N0wxNy43ODM0IDguNzc4MjciIHN0cm9rZT0iI0U2Mzk1QyIgc3Ryb2tlLXdpZHRoPSIxLjA2NjY3IiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxkZWZzPgo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2RfMTc0MV8xMDY3OCIgeD0iMCIgeT0iMCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZml
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
Ce.props = Ma;
|
||
|
Ce.setup = (A, t) => {
|
||
|
const {
|
||
|
enableVirtualBackground: e
|
||
|
} = z(q());
|
||
|
return {
|
||
|
MicOnH5: qc,
|
||
|
MicOffH5: Jc,
|
||
|
SwitchCameraSrc: fA,
|
||
|
VirtualBackgroundOpenSrc: UA,
|
||
|
networkSrc: tl,
|
||
|
switchCamera: async () => {
|
||
|
await O.switchCamera();
|
||
|
},
|
||
|
setBlurBackground: async () => {
|
||
|
await O.setBlurBackground(!e.value);
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
Ce.components = Object.assign({
|
||
|
Row: $t,
|
||
|
Col: ea,
|
||
|
TKText: lA,
|
||
|
Icon: ft,
|
||
|
TKImage: SA
|
||
|
}, Ce.components);
|
||
|
var Hc = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("Row", {
|
||
|
attrs: {
|
||
|
"custom-style": {
|
||
|
padding: "2px 5px"
|
||
|
}
|
||
|
}
|
||
|
}, [e("Col", {
|
||
|
attrs: {
|
||
|
span: 12,
|
||
|
justify: "start",
|
||
|
align: "center"
|
||
|
}
|
||
|
}, [A.showNickName ? e("TKText", {
|
||
|
attrs: {
|
||
|
width: "100px",
|
||
|
truncated: !0,
|
||
|
color: "#FFF"
|
||
|
}
|
||
|
}, [A._v(" " + A._s(A.nickName) + " ")]) : A._e(), e("div", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: !A.isMuted && A.volume,
|
||
|
expression: "!isMuted && volume"
|
||
|
}]
|
||
|
}, [e("Icon", {
|
||
|
attrs: {
|
||
|
size: 24,
|
||
|
src: A.MicOnH5
|
||
|
}
|
||
|
})], 1), e("div", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: A.isMuted,
|
||
|
expression: "isMuted"
|
||
|
}]
|
||
|
}, [e("Icon", {
|
||
|
attrs: {
|
||
|
size: 24,
|
||
|
src: A.MicOffH5
|
||
|
}
|
||
|
})], 1)], 1), e("Col", {
|
||
|
attrs: {
|
||
|
span: 12,
|
||
|
justify: "end",
|
||
|
align: "center"
|
||
|
}
|
||
|
}, [A.showNetWorkStatus ? e("div", [e("TKImage", {
|
||
|
attrs: {
|
||
|
width: "24px",
|
||
|
height: "24px",
|
||
|
src: A.networkSrc
|
||
|
}
|
||
|
})], 1) : A._e(), A.showSwitchCameraButton ? e("div", {
|
||
|
staticClass: "switch-camera stream-icon",
|
||
|
on: {
|
||
|
click: function(a) {
|
||
|
return a.stopPropagation(), A.switchCamera.apply(null, arguments);
|
||
|
}
|
||
|
}
|
||
|
}, [e("TKImage", {
|
||
|
attrs: {
|
||
|
width: "15px",
|
||
|
height: "15px",
|
||
|
src: A.SwitchCameraSrc
|
||
|
}
|
||
|
})], 1) : A._e(), A.showVirtualBackgroundButton ? e("div", {
|
||
|
staticClass: "stream-icon",
|
||
|
on: {
|
||
|
click: function(a) {
|
||
|
return a.stopPropagation(), A.setBlurBackground.apply(null, arguments);
|
||
|
}
|
||
|
}
|
||
|
}, [e("TKImage", {
|
||
|
attrs: {
|
||
|
width: "15px",
|
||
|
height: "15px",
|
||
|
src: A.VirtualBackgroundOpenSrc
|
||
|
}
|
||
|
})], 1) : A._e()])], 1);
|
||
|
}, Kc = [];
|
||
|
const Mn = {};
|
||
|
var $c = /* @__PURE__ */ S(
|
||
|
Ce,
|
||
|
Hc,
|
||
|
Kc,
|
||
|
!1,
|
||
|
Ar,
|
||
|
"68708842",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Ar(A) {
|
||
|
for (let t in Mn)
|
||
|
this[t] = Mn[t];
|
||
|
}
|
||
|
const er = /* @__PURE__ */ function() {
|
||
|
return $c.exports;
|
||
|
}(), ye = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
ye.props = Ma;
|
||
|
ye.setup = (A, t) => {
|
||
|
const {
|
||
|
isGroupCall: e
|
||
|
} = q(), a = j.isPC;
|
||
|
return {
|
||
|
isGroupCall: e,
|
||
|
isPC: a
|
||
|
};
|
||
|
};
|
||
|
ye.components = Object.assign({
|
||
|
StreamInfoPC: _c,
|
||
|
StreamInfoMobile: er
|
||
|
}, ye.components);
|
||
|
var tr = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", [A.isPC ? e("StreamInfoPC", {
|
||
|
attrs: {
|
||
|
nickName: A.nickName,
|
||
|
isSelf: A.isSelf,
|
||
|
isMuted: A.isMuted,
|
||
|
volume: A.volume,
|
||
|
showNetWorkStatus: A.showNetWorkStatus
|
||
|
}
|
||
|
}) : A._e(), A.isGroupCall && !A.isPC ? e("StreamInfoMobile", {
|
||
|
attrs: {
|
||
|
showSwitchCameraButton: A.showSwitchCameraButton,
|
||
|
showVirtualBackgroundButton: A.showVirtualBackgroundButton,
|
||
|
showNetWorkStatus: A.showNetWorkStatus,
|
||
|
nickName: A.nickName,
|
||
|
showNickName: A.showNickName,
|
||
|
isSelf: A.isSelf,
|
||
|
isMuted: A.isMuted,
|
||
|
volume: A.volume
|
||
|
}
|
||
|
}) : A._e()], 1);
|
||
|
}, ar = [];
|
||
|
const dn = {};
|
||
|
var nr = /* @__PURE__ */ S(
|
||
|
ye,
|
||
|
tr,
|
||
|
ar,
|
||
|
!1,
|
||
|
or,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function or(A) {
|
||
|
for (let t in dn)
|
||
|
this[t] = dn[t];
|
||
|
}
|
||
|
const al = /* @__PURE__ */ function() {
|
||
|
return nr.exports;
|
||
|
}(), lr = {
|
||
|
show: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
domId: {
|
||
|
type: String
|
||
|
},
|
||
|
loading: {
|
||
|
type: Boolean
|
||
|
},
|
||
|
showStreamInfo: {
|
||
|
type: Boolean
|
||
|
},
|
||
|
showAudioStream: {
|
||
|
type: Boolean
|
||
|
}
|
||
|
}, da = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
da.props = lr;
|
||
|
da.setup = (A, t) => {
|
||
|
const e = I(d.getData(c.CALL, o.PUSHER_ID)), a = X(["stream-info-container", {
|
||
|
mobile: !j.isPC
|
||
|
}]), n = (i) => {
|
||
|
e.value = i;
|
||
|
}, l = {
|
||
|
[o.PUSHER_ID]: n
|
||
|
};
|
||
|
return aA(() => {
|
||
|
d.watch(c.CALL, l, {
|
||
|
notifyRangeWhenWatch: o.MYSELF
|
||
|
});
|
||
|
}), tA(() => {
|
||
|
d.unwatch(c.CALL, l);
|
||
|
}), {
|
||
|
streamInfoContainerClassName: a
|
||
|
};
|
||
|
};
|
||
|
var ir = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: A.show,
|
||
|
expression: "show"
|
||
|
}],
|
||
|
staticClass: "pusher-container",
|
||
|
attrs: {
|
||
|
id: A.domId
|
||
|
}
|
||
|
}, [e("div", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: A.showAudioStream,
|
||
|
expression: "showAudioStream"
|
||
|
}],
|
||
|
staticClass: "audio-stream-container"
|
||
|
}, [A._t("audio-stream")], 2), A._t("loading"), e("div", {
|
||
|
class: A.streamInfoContainerClassName
|
||
|
}, [A._t("stream-info")], 2)], 2);
|
||
|
}, sr = [];
|
||
|
const In = {};
|
||
|
var ur = /* @__PURE__ */ S(
|
||
|
da,
|
||
|
ir,
|
||
|
sr,
|
||
|
!1,
|
||
|
cr,
|
||
|
"71047565",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function cr(A) {
|
||
|
for (let t in In)
|
||
|
this[t] = In[t];
|
||
|
}
|
||
|
const nl = /* @__PURE__ */ function() {
|
||
|
return ur.exports;
|
||
|
}(), Ia = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
Ia.props = {
|
||
|
remoteClass: {
|
||
|
type: String,
|
||
|
required: !0
|
||
|
},
|
||
|
domId: {
|
||
|
type: String
|
||
|
}
|
||
|
};
|
||
|
Ia.setup = (A, t) => {
|
||
|
const e = I(d.getData(c.CALL, o.PLAYER)), a = I(d.getData(c.CALL, o.CALL_STATUS)), n = I(d.getData(c.CALL, o.IS_EAR_PHONE) ? Ae.EAR : Ae.SPEAKER), l = A, i = (T) => {
|
||
|
e.value = JSON.parse(JSON.stringify(T));
|
||
|
}, u = p(() => {
|
||
|
var T;
|
||
|
return (T = e.value) == null ? void 0 : T.find((C) => (C == null ? void 0 : C.userID) === l.domId);
|
||
|
}), s = (T) => {
|
||
|
a.value = T;
|
||
|
}, r = (T) => {
|
||
|
n.value = T ? Ae.EAR : Ae.SPEAKER;
|
||
|
}, M = {
|
||
|
[o.PLAYER]: i,
|
||
|
[o.CALL_STATUS]: s,
|
||
|
[o.IS_EAR_PHONE]: r
|
||
|
};
|
||
|
aA(() => {
|
||
|
d.watch(c.CALL, M, {
|
||
|
notifyRangeWhenWatch: o.MYSELF
|
||
|
});
|
||
|
}), tA(() => {
|
||
|
d.unwatch(c.CALL, M);
|
||
|
});
|
||
|
function D(T) {
|
||
|
O._tuiCallEngine._playerStateChange(T);
|
||
|
}
|
||
|
function g(T) {
|
||
|
}
|
||
|
function N(T) {
|
||
|
O._tuiCallEngine._playNetStatus(T);
|
||
|
}
|
||
|
function y(T) {
|
||
|
O._tuiCallEngine._playerAudioVolumeNotify(T);
|
||
|
}
|
||
|
return {
|
||
|
soundMode: n,
|
||
|
item: u,
|
||
|
playerStateChange: D,
|
||
|
playerFullscreenChange: g,
|
||
|
playNetStatus: N,
|
||
|
playerAudioVolumeNotify: y
|
||
|
};
|
||
|
};
|
||
|
var rr = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
class: A.remoteClass
|
||
|
}, [A.item && (A.item.hasAudio || A.item.hasVideo) ? e("live-player", {
|
||
|
staticClass: "stream",
|
||
|
attrs: {
|
||
|
id: A.item.id,
|
||
|
"data-userid": A.item.userID,
|
||
|
"data-streamid": A.item.streamID,
|
||
|
"data-streamtype": A.item.streamType,
|
||
|
src: A.item.src,
|
||
|
mode: "RTC",
|
||
|
autoplay: A.item.autoplay,
|
||
|
"mute-audio": A.item.muteAudio,
|
||
|
"mute-video": A.item.muteVideo,
|
||
|
orientation: A.item.orientation,
|
||
|
"object-fit": A.item.objectFit,
|
||
|
"background-mute": A.item.enableBackgroundMute,
|
||
|
"min-cache": A.item.minCache,
|
||
|
"max-cache": A.item.maxCache,
|
||
|
"sound-mode": A.soundMode,
|
||
|
"enable-recv-message": A.item.enableRecvMessage,
|
||
|
"auto-pause-if-navigate": A.item.autoPauseIfNavigate,
|
||
|
"auto-pause-if-open-native": A.item.autoPauseIfOpenNative
|
||
|
},
|
||
|
on: {
|
||
|
statechange: A.playerStateChange,
|
||
|
fullscreenchange: A.playerFullscreenChange,
|
||
|
netstatus: A.playNetStatus,
|
||
|
audiovolumenotify: A.playerAudioVolumeNotify
|
||
|
}
|
||
|
}) : A._e()], 1);
|
||
|
}, Mr = [];
|
||
|
const gn = {};
|
||
|
var dr = /* @__PURE__ */ S(
|
||
|
Ia,
|
||
|
rr,
|
||
|
Mr,
|
||
|
!1,
|
||
|
Ir,
|
||
|
"34819670",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Ir(A) {
|
||
|
for (let t in gn)
|
||
|
this[t] = gn[t];
|
||
|
}
|
||
|
const gr = /* @__PURE__ */ function() {
|
||
|
return dr.exports;
|
||
|
}(), Nr = {
|
||
|
show: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
domId: {
|
||
|
type: String
|
||
|
},
|
||
|
loading: {
|
||
|
type: Boolean
|
||
|
},
|
||
|
showStreamInfo: {
|
||
|
type: Boolean
|
||
|
},
|
||
|
showAudioStream: {
|
||
|
type: Boolean
|
||
|
}
|
||
|
}, Se = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
Se.props = Nr;
|
||
|
Se.setup = (A, t) => {
|
||
|
const e = X(["stream-info-container", {
|
||
|
mobile: !j.isPC
|
||
|
}]);
|
||
|
return {
|
||
|
TUIGlobal: j,
|
||
|
streamInfoContainerClassName: e
|
||
|
};
|
||
|
};
|
||
|
Se.components = Object.assign({
|
||
|
WXPlayer: gr
|
||
|
}, Se.components);
|
||
|
var pr = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: A.show,
|
||
|
expression: "show"
|
||
|
}],
|
||
|
staticClass: "player-container",
|
||
|
attrs: {
|
||
|
id: A.domId
|
||
|
}
|
||
|
}, [e("div", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: A.showAudioStream,
|
||
|
expression: "showAudioStream"
|
||
|
}],
|
||
|
staticClass: "audio-stream-container"
|
||
|
}, [A._t("audio-stream")], 2), A._t("loading"), e("div", {
|
||
|
class: A.streamInfoContainerClassName
|
||
|
}, [A._t("stream-info")], 2), A.TUIGlobal.isWeChat ? e("WXPlayer", {
|
||
|
attrs: {
|
||
|
"dom-id": A.domId,
|
||
|
remoteClass: "small-view"
|
||
|
}
|
||
|
}) : A._e()], 2);
|
||
|
}, Dr = [];
|
||
|
const Nn = {};
|
||
|
var Tr = /* @__PURE__ */ S(
|
||
|
Se,
|
||
|
pr,
|
||
|
Dr,
|
||
|
!1,
|
||
|
Cr,
|
||
|
"91fc5e7a",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Cr(A) {
|
||
|
for (let t in Nn)
|
||
|
this[t] = Nn[t];
|
||
|
}
|
||
|
const ol = /* @__PURE__ */ function() {
|
||
|
return Tr.exports;
|
||
|
}(), yr = {
|
||
|
avatar: {
|
||
|
type: String
|
||
|
},
|
||
|
username: {
|
||
|
type: String
|
||
|
},
|
||
|
isVideoAvailable: {
|
||
|
type: Boolean
|
||
|
},
|
||
|
showStreamInfo: {
|
||
|
type: Boolean
|
||
|
},
|
||
|
isSmallWindow: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
isMuted: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
volume: {
|
||
|
type: Number,
|
||
|
default: 0
|
||
|
},
|
||
|
userId: {
|
||
|
type: String
|
||
|
}
|
||
|
}, Ee = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
Ee.props = yr;
|
||
|
Ee.setup = (A, t) => {
|
||
|
const e = A, a = xo(), {
|
||
|
callType: n,
|
||
|
isGroupCall: l
|
||
|
} = z(q()), {
|
||
|
isFloatWindow: i
|
||
|
} = z(CA()), u = p(() => !l.value && !j.isPC), s = p(() => l.value ? j.isPC : n.value === F.AUDIO), r = p(() => !l.value && j.isPC && n.value === F.AUDIO), M = p(() => ({
|
||
|
zIndex: 1
|
||
|
})), D = p(() => a.value[e.userId] || e.avatar), g = I(!a.value[e.userId]), N = I(a.value[e.userId] ? "fill" : "cover");
|
||
|
return J([() => e.userId, a], () => {
|
||
|
a.value[e.userId] ? (N.value = "fill", g.value = !1) : (N.value = "cover", g.value = !0);
|
||
|
}, {
|
||
|
immediate: !0
|
||
|
}), {
|
||
|
isGroupCall: l,
|
||
|
isFloatWindow: i,
|
||
|
showAvatar: u,
|
||
|
showUserName: s,
|
||
|
showMicVolume: r,
|
||
|
audioStreamStyle: M,
|
||
|
bgImage: D,
|
||
|
showViewMask: g,
|
||
|
fit: N,
|
||
|
handleError: () => {
|
||
|
g.value = !0, N.value = "cover";
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
Ee.components = Object.assign({
|
||
|
OverlayStream: Ho
|
||
|
}, Ee.components);
|
||
|
var Sr = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("OverlayStream", {
|
||
|
attrs: {
|
||
|
avatar: A.avatar,
|
||
|
"bg-image": A.bgImage,
|
||
|
"show-avatar": A.showAvatar,
|
||
|
username: A.username,
|
||
|
"show-user-name": A.showUserName,
|
||
|
"show-mask": !A.isGroupCall && A.showViewMask,
|
||
|
fit: A.fit,
|
||
|
blur: !A.isGroupCall,
|
||
|
"show-mic-volume": A.showMicVolume,
|
||
|
"show-tip": !A.isGroupCall && !A.isFloatWindow,
|
||
|
"custom-style": A.audioStreamStyle,
|
||
|
"is-small-window": A.isSmallWindow,
|
||
|
"is-muted": A.isMuted,
|
||
|
volume: A.volume,
|
||
|
"bg-color": "rgba(0, 0, 0, 0.5)"
|
||
|
},
|
||
|
on: {
|
||
|
error: A.handleError
|
||
|
}
|
||
|
});
|
||
|
}, Er = [];
|
||
|
const pn = {};
|
||
|
var hr = /* @__PURE__ */ S(
|
||
|
Ee,
|
||
|
Sr,
|
||
|
Er,
|
||
|
!1,
|
||
|
mr,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function mr(A) {
|
||
|
for (let t in pn)
|
||
|
this[t] = pn[t];
|
||
|
}
|
||
|
const ll = /* @__PURE__ */ function() {
|
||
|
return hr.exports;
|
||
|
}(), jr = "data:image/svg+xml;base64,IDxzdmcgd2lkdGg9IjI2IiBoZWlnaHQ9IjI2IiB2aWV3Qm94PSIwIDAgMjYgMjYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgPHBhdGggZD0iTTE4LjQ0MzcgMTIuNDQ5QzE4LjQ0MzcgMTQuMTE0MiAxOC4yMzM2IDE1LjM1MTUgMjEuNTA4OSAxNS43MTI2QzI0Ljc4NzUgMTYuMDczNyAyNC4zNjY2IDEzLjY3OTQgMjQuMzY2MiAxMi4wNjY5QzI0LjM2NDkgMTAuMjA2MSAyMC4wNjAyIDcuNjE4OTUgMTMuMjcyNiA3LjYxNzNDNi40ODY2MiA3LjYxNzM1IDIuMTc4OSAxMC4yMDUgMi4xNzg4OCAxMi4wNjdDMi4xNzg4NyAxMy42OCAxLjc1NjIxIDE2LjA3MjYgNS4wMzMxNSAxNS43MTIzQzguMzEwMDkgMTUuMzUzNyA4LjEwMDA1IDE0LjExNTUgOC4wOTgzNyAxMi40NDk1QzguMTAxMzQgMTEuMjg2MiAxMC43NTg3IDExLjAzMTYgMTMuMjcyNSAxMS4wMjk4QzE1Ljc4NjMgMTEuMDI4MSAxOC40NDU0IDExLjI4NDQgMTguNDQzNyAxMi40NDlaIiBmaWxsPSIjRkUzQzQ0Ii8+CiAgICA8L3N2Zz4=", vr = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjY2NjY2IDQuMTY2NjhDNi42NjY2NiAyLjMyODM0IDguMTYxNjYgMC44MzMzNDQgOS45OTk5OSAwLjgzMzM0NEMxMS44MzgzIDAuODMzMzQ0IDEzLjMzMzMgMi4zMjgzNCAxMy4zMzMzIDQuMTY2NjhWOS4xNjY2OEMxMy4zMzMzIDExLjAwNSAxMS44MzgzIDEyLjUgOS45OTk5OSAxMi41QzguMTYxNjYgMTIuNSA2LjY2NjY2IDExLjAwNSA2LjY2NjY2IDkuMTY2NjhWNC4xNjY2OFpNNi42NjY2NiAxOC4zMzMzQzYuNjY2NjYgMTcuODcyNSA3LjAzOTk5IDE3LjUgNy40OTk5OSAxNy41SDEyLjVDMTIuOTYwOCAxNy41IDEzLjMzMzMgMTcuODcyNSAxMy4zMzMzIDE4LjMzMzNDMTMuMzMzMyAxOC43OTQyIDEyLjk2MDggMTkuMTY2NyAxMi41IDE5LjE2NjdINy40OTk5OUM3LjAzOTk5IDE5LjE2NjcgNi42NjY2NiAxOC43OTQyIDYuNjY2NjYgMTguMzMzM1oiIGZpbGw9IiMxMDE0MTkiLz4KPHBhdGggZD0iTTE1LjgzMzMgOC4zNTEyVjkuNTA4MjVDMTUuODMzMyAxMi4wODEgMTMuMjIxNyAxNSA5Ljk5OTk5IDE1QzYuNzc4MzMgMTUgNC4xNjY2NiAxMi4wODEgNC4xNjY2NiA5LjUwODI1VjguMzMzMzQiIHN0cm9rZT0iIzEwMTQxOSIgc3Ryb2tlLXdpZHRoPSIxLjY2NjY3IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPC9zdmc+", fr = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAxNSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC42MjQ3IDAuNzE5MTY4QzE0LjE5MzQgMC4zNzQxNTggMTMuNTY0MSAwLjQ0NDA4IDEzLjIxOTEgMC44NzUzNDJMMTAuODE2OCAzLjgzMjAzQzEwLjE3ODkgMy4wMjQ1NSA5LjE1Mzg3IDIuNTAwMDQgOC4wMDAwMSAyLjUwMDA0QzYuMDY5NzYgMi41MDAwNCA0LjUwMDAxIDMuOTY3ODUgNC41MDAwMSA1Ljc3Mjc2VjEwLjY4MTlDNC41MDAwMSAxMC45NTYzIDQuNTM2MyAxMS4yMjI5IDQuNjA0NjMgMTEuNDc3OEwzLjM4OCAxMi45NzUyQzIuOTg0NDkgMTIuMzQzMyAyLjc1MDAxIDExLjY1MjIgMi43NTAwMSAxMC45NzE3VjkuODE4MTlMMi43NDMxOSA5LjcxNTU2QzIuNjg5MiA5LjMxMjEzIDIuMzIxMDggOS4wMDAwMSAxLjg3NTAxIDkuMDAwMDFDMS4zOTE3NiA5LjAwMDAxIDEuMDAwMDEgOS4zNjYzMiAxLjAwMDAxIDkuODE4MTlWMTAuOTcxN0wxLjAwNDY2IDExLjE3NjFDMS4wNTU1NyAxMi4yOTY4IDEuNTIxNjEgMTMuNDAxNiAyLjI2OTM5IDE0LjM1MTlMMC4yMTkxMzcgMTYuODc1M0wwLjE0Njg2MSAxNi45NzgyQy0wLjExMjk3NyAxNy40MDE3IC0wLjAyMjc3NjcgMTcuOTYyNCAwLjM3NTMxMSAxOC4yODA5QzAuODA2NTczIDE4LjYyNTkgMS40MzU4NyAxOC41NTYgMS43ODA4OCAxOC4xMjQ3TDMuNzE2NjEgMTUuNzQyM0MzLjcxODQ5IDE1Ljc0MzcgMy43MjAzOCAxNS43NDUgMy43MjIyNyAxNS43NDY0TDQuMjk5NyAxNS4wMjQ2TDguMjgwODggMTAuMTI0N0wxNC43ODA5IDIuMTI0NzNMMTQuODUzMiAyLjAyMTkxQzE1LjExMyAxLjU5ODM0IDE1LjAyMjggMS4wMzc2NCAxNC42MjQ3IDAuNzE5MTY4Wk03LjcyNDk5IDEzLjk0NDZMMTEuNSA5LjIyNTgyVjEwLjY4MTlDMTEuNSAxMi40ODY4IDkuOTMwMjYgMTMuOTU0NiA4LjAwMDAxIDEzLjk1NDZDNy45MDc0NiAxMy45NTQ2IDcuODE1NzUgMTMuOTUxMiA3LjcyNDk5IDEzLjk0NDZaTTYuNjA0NDUgMTUuMzQ1M0w1LjUwNzk4IDE2LjcxNTlDNi4yOTIyNSAxNy4wMTM2IDcuMTM1MzIgMTcuMTgxOCA4LjAwMDAxIDE3LjE4MThDMTEuNjk3NiAxNy4xODE4IDE1IDE0LjEwNjQgMTUgMTAuOTcxN1Y5LjgzNTcyTDE0Ljk5MzIgOS43MzMwOUMxNC45MzkyIDkuMzI5NjYgMTQuNTcxMSA5LjAxNzU0IDE0LjEyNSA5LjAxNzU0QzEzLjY0MTggOS4wMTc1NCAxMy4yNSA5LjM4Mzg1IDEzLjI1IDkuODM1NzJWMTAuOTcxN0wxMy4yNDQ1IDExLjE1MjdDMTMuMTEzOCAxMy4zMjYyIDEwLjY1ODkgMTUuNTQ1NSA4LjAwMDAxIDE1LjU0NTVDNy41MjQyNCAxNS41NDU1IDcuMDU1MDEgMTUuNDc0NCA2LjYwNDQ1IDE1LjM0NTNaTTUuMzc1MDEgMTguODYzN0M0Ljg5MjAxIDE4Ljg2MzcgNC41MDAwMSAxOS4yMjk0IDQuNTAwMDEgMTkuNjgxOUM0LjUwMDAxIDIwLjEzNDMgNC44OTIwMSAyMC41IDUuMzc1MDEgMjAuNUgxMC42MjVDMTEuMTA4OSAyMC41IDExLjUgMjAuMTM0MyAxMS41IDE5LjY4MTlDMTEuNSAxOS4yMjk0IDExLjEwODkgMTguODYzNyAxMC42MjUgMTguODYzN0g1LjM3NTAxWiIgZmlsbD0iIzEwMTQxOSIvPgo8L3N2Zz4=", Lr = "data:im
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
il.setup = (A, t) => {
|
||
|
const {
|
||
|
localUserInfoExcludeVolume: e
|
||
|
} = z(MA()), {
|
||
|
callRole: a,
|
||
|
callStatus: n
|
||
|
} = z(q()), {
|
||
|
isFloatWindow: l
|
||
|
} = z(CA());
|
||
|
function i() {
|
||
|
O.toggleMinimize();
|
||
|
}
|
||
|
async function u() {
|
||
|
a.value === K.CALLEE && n.value === U.CALLING ? await O.reject() : await O.hangup();
|
||
|
}
|
||
|
async function s() {
|
||
|
e.value.isAudioAvailable ? await O.closeMicrophone() : await O.openMicrophone();
|
||
|
}
|
||
|
return {
|
||
|
FloatCallEnd: jr,
|
||
|
FloatMicrophoneSVG: vr,
|
||
|
FloatMicrophoneClosedSVG: fr,
|
||
|
FloatFullScreenSVG: Lr,
|
||
|
localUserInfo: e,
|
||
|
isFloatWindow: l,
|
||
|
toggleMinimize: i,
|
||
|
hangup: u,
|
||
|
toggleMicrophone: s
|
||
|
};
|
||
|
};
|
||
|
var Ur = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "float-window-container"
|
||
|
}, [e("div", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: A.isFloatWindow,
|
||
|
expression: "isFloatWindow"
|
||
|
}],
|
||
|
staticClass: "float-control-panel"
|
||
|
}, [e("div", {
|
||
|
staticClass: "float-control-item-icon"
|
||
|
}, [e("div", {
|
||
|
staticClass: "float-control-item-icon-container",
|
||
|
on: {
|
||
|
click: A.hangup
|
||
|
}
|
||
|
}, [e("img", {
|
||
|
attrs: {
|
||
|
src: A.FloatCallEnd
|
||
|
}
|
||
|
})])]), e("div", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: A.isFloatWindow,
|
||
|
expression: "isFloatWindow"
|
||
|
}],
|
||
|
staticClass: "float-control-item-icon"
|
||
|
}, [e("div", {
|
||
|
staticClass: "float-control-item-icon-container",
|
||
|
on: {
|
||
|
click: A.toggleMicrophone
|
||
|
}
|
||
|
}, [A.localUserInfo.isAudioAvailable ? e("img", {
|
||
|
attrs: {
|
||
|
src: A.FloatMicrophoneSVG
|
||
|
}
|
||
|
}) : e("img", {
|
||
|
attrs: {
|
||
|
src: A.FloatMicrophoneClosedSVG
|
||
|
}
|
||
|
})])]), e("div", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: A.isFloatWindow,
|
||
|
expression: "isFloatWindow"
|
||
|
}],
|
||
|
staticClass: "float-control-item-icon"
|
||
|
}, [e("div", {
|
||
|
staticClass: "float-control-item-icon-container",
|
||
|
on: {
|
||
|
click: A.toggleMinimize
|
||
|
}
|
||
|
}, [e("img", {
|
||
|
attrs: {
|
||
|
src: A.FloatFullScreenSVG
|
||
|
}
|
||
|
})])])]), e("div", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: !A.isFloatWindow,
|
||
|
expression: "!isFloatWindow"
|
||
|
}]
|
||
|
}, [A._t("default")], 2)]);
|
||
|
}, zr = [];
|
||
|
const Dn = {};
|
||
|
var wr = /* @__PURE__ */ S(
|
||
|
il,
|
||
|
Ur,
|
||
|
zr,
|
||
|
!1,
|
||
|
Or,
|
||
|
"4df5fc21",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Or(A) {
|
||
|
for (let t in Dn)
|
||
|
this[t] = Dn[t];
|
||
|
}
|
||
|
const xr = /* @__PURE__ */ function() {
|
||
|
return wr.exports;
|
||
|
}(), sl = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuNzYwOTYxIDkuMzMxNTRDMC4wMDEyMzUwNyA3LjEzMzcxIDAuOTYyOTY4IDQuNzczMjMgMi44MzM0NSAzLjM5MDk3QzQuMjUxNTIgMi4zNDMwNCA1LjY3NjAzIDEuMjg0NyA2LjQ4ODg5IDAuNjgwMTI0QzYuODc1MTUgMC4zOTI4MzcgNy40MTY2MSAwLjQ1NTY4IDcuNzI4NDEgMC44MjIzOTdMMTIuMTU4IDYuMDMyMTRDMTIuNDQ3NiA2LjM3Mjc1IDEyLjQ0NzcgNi44NzI5NSAxMi4xNTgzIDcuMjEzNzNMOS40NDIyIDEwLjQxMTlDOS4xOTQ5NiAxMC43MDMxIDkuMTUzNzggMTEuMTE4MyA5LjM0OTI1IDExLjQ0NjVDMTAuMjI5MyAxMi45MjM4IDExLjE5NSAxNC4xODkxIDEyLjUgMTUuNDkzOEMxMy44MTI3IDE2LjgwNiAxNS4wNzc4IDE3Ljc1MjkgMTYuNTYzNSAxOC42MzA4QzE2Ljg5MTkgMTguODI0OCAxNy4zMDY1IDE4Ljc4MzYgMTcuNTk3NCAxOC41MzY4TDIwLjc4MjYgMTUuODM1MUMyMS4xMjM0IDE1LjU0NTkgMjEuNjIzNyAxNS41NDYxIDIxLjk2NDMgMTUuODM1NkwyNy4xNzgzIDIwLjI2NjJDMjcuNTQ0MSAyMC41NzcgMjcuNjA2NiAyMS4xMTc5IDI3LjMyMTMgMjEuNTAzOEwyNC41OTM3IDI1LjE5MzZDMjMuMjIyNSAyNy4wNDg2IDIwLjg4MDQgMjcuOTkxOSAxOC42OTg3IDI3LjI0MTNDMTQuNjY1OCAyNS44NTM4IDEwLjg3ODEgMjMuNTUxMSA3LjY1OTIyIDIwLjMzMzFDNC40NDk1NyAxNy4xMjQ0IDIuMTUwMTUgMTMuMzUwMyAwLjc2MDk2MSA5LjMzMTU0WiIgZmlsbD0iIzEyQjk2OSIvPgo8L3N2Zz4K", ut = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
ut.setup = (A, t) => {
|
||
|
const {
|
||
|
callType: e,
|
||
|
callStatus: a
|
||
|
} = z(q()), {
|
||
|
isFloatWindow: n
|
||
|
} = z(CA()), {
|
||
|
callDuration: l
|
||
|
} = Ht(), i = p(() => X(["float-window-container", {
|
||
|
"singlecall-video-float": e.value === F.VIDEO && n.value,
|
||
|
"singlecall-audio-float": e.value === F.AUDIO && n.value
|
||
|
}]));
|
||
|
function u() {
|
||
|
n.value && O.toggleMinimize();
|
||
|
}
|
||
|
return {
|
||
|
CallMediaType: F,
|
||
|
CallStatus: U,
|
||
|
t: v,
|
||
|
earphoneSrc: sl,
|
||
|
callType: e,
|
||
|
callStatus: a,
|
||
|
isFloatWindow: n,
|
||
|
callDuration: l,
|
||
|
floatWindowClassName: i,
|
||
|
closeFloatWindow: u
|
||
|
};
|
||
|
};
|
||
|
ut.components = Object.assign({
|
||
|
TKText: lA,
|
||
|
TKImage: SA,
|
||
|
Timer: sa
|
||
|
}, ut.components);
|
||
|
var Vr = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
class: A.floatWindowClassName
|
||
|
}, [e("div", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: !(A.isFloatWindow && A.callType === A.CallMediaType.AUDIO),
|
||
|
expression: "!(isFloatWindow && callType === CallMediaType.AUDIO)"
|
||
|
}],
|
||
|
staticClass: "singlecall-video-float-content",
|
||
|
on: {
|
||
|
click: A.closeFloatWindow
|
||
|
}
|
||
|
}, [A._t("default"), e("div", {
|
||
|
staticClass: "float-window-tip-container"
|
||
|
}, [A.callStatus === A.CallStatus.CALLING && A.isFloatWindow ? e("TKText", {
|
||
|
attrs: {
|
||
|
color: "#FFF",
|
||
|
size: "12px"
|
||
|
}
|
||
|
}, [A._v(A._s(A.t("wait to be called")))]) : A._e()], 1)], 2), e("div", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: A.isFloatWindow && A.callType === A.CallMediaType.AUDIO,
|
||
|
expression: "isFloatWindow && callType === CallMediaType.AUDIO"
|
||
|
}],
|
||
|
staticClass: "singlecall-audio-float-content",
|
||
|
on: {
|
||
|
click: A.closeFloatWindow
|
||
|
}
|
||
|
}, [e("TKImage", {
|
||
|
attrs: {
|
||
|
width: "36px",
|
||
|
height: "36px",
|
||
|
src: A.earphoneSrc
|
||
|
}
|
||
|
}), A.callStatus === A.CallStatus.CONNECTED ? e("Timer", {
|
||
|
attrs: {
|
||
|
fontSize: "12px",
|
||
|
callDuration: A.callDuration,
|
||
|
color: "#12b969"
|
||
|
}
|
||
|
}) : A._e(), A.callStatus === A.CallStatus.CALLING && A.isFloatWindow ? e("TKText", {
|
||
|
attrs: {
|
||
|
color: "#12b969",
|
||
|
size: "12px"
|
||
|
}
|
||
|
}, [A._v(A._s(A.t("wait to be called")))]) : A._e()], 1)]);
|
||
|
}, br = [];
|
||
|
const Tn = {};
|
||
|
var Br = /* @__PURE__ */ S(
|
||
|
ut,
|
||
|
Vr,
|
||
|
br,
|
||
|
!1,
|
||
|
Fr,
|
||
|
"73a848fe",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Fr(A) {
|
||
|
for (let t in Tn)
|
||
|
this[t] = Tn[t];
|
||
|
}
|
||
|
const Rr = /* @__PURE__ */ function() {
|
||
|
return Br.exports;
|
||
|
}(), kr = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xLjkxNjUgNy41NjkzN1Y2LjgzODg3SDMuNDE2NVY3LjU2OTM3QzMuNDE2NSAxMC4xMDA3IDUuNDY4NTMgMTIuMTUyNyA3Ljk5OTg0IDEyLjE1MjdDMTAuNTMxMSAxMi4xNTI3IDEyLjU4MzIgMTAuMTAwNyAxMi41ODMyIDcuNTY5MzZWNi44Mzg4N0gxNC4wODMyVjcuNTY5MzZDMTQuMDgzMiAxMC42NzUxIDExLjc1NTcgMTMuMjM3MyA4Ljc0OTg4IDEzLjYwNjlWMTQuOTA4OUg3LjI0OTg4VjEzLjYwNjlDNC4yNDM5OCAxMy4yMzc0IDEuOTE2NSAxMC42NzUyIDEuOTE2NSA3LjU2OTM3WiIgZmlsbD0iIzEyQjk2OSIvPgo8cmVjdCB4PSI0LjY2Njc1IiB5PSIxLjA5MDgyIiB3aWR0aD0iNi42NjY2NyIgaGVpZ2h0PSI5Ljg5NjkiIHJ4PSIzLjMzMzMzIiBmaWxsPSIjMTJCOTY5Ii8+Cjwvc3ZnPgo=", Pr = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi42NzE2IDYuMTE2OTJDMTIuNDY4NyA2LjIxODY5IDEyLjM0MDYgNi40MjYyNSAxMi4zNDA2IDYuNjUzMjRWOS4zNDY0OEMxMi4zNDA2IDkuNTczNDggMTIuNDY4NyA5Ljc4MTA1IDEyLjY3MTYgOS44ODI4MUwxNS40NzQ0IDExLjI4ODRDMTUuNjA3NCAxMS4zNTUxIDE1Ljc2NCAxMS4yNTg0IDE1Ljc2NCAxMS4xMDk2TDE1Ljc2NCA0Ljg4OTk2QzE1Ljc2NCA0Ljc0MTE3IDE1LjYwNzQgNC42NDQ0OCAxNS40NzQ0IDQuNzExMThMMTIuNjcxNiA2LjExNjkyWiIgZmlsbD0iIzEyQjk2OSIvPgo8ZyBmaWx0ZXI9InVybCgjZmlsdGVyMF9iXzE5NzdfMTE2MzApIj4KPHJlY3QgeD0iMC42NjY3NDgiIHk9IjIuODkzNTUiIHdpZHRoPSIxMC42NjY3IiBoZWlnaHQ9IjEwLjIxMjgiIHJ4PSIxLjUiIGZpbGw9IiMxMkI5NjkiLz4KPC9nPgo8ZGVmcz4KPGZpbHRlciBpZD0iZmlsdGVyMF9iXzE5NzdfMTE2MzAiIHg9Ii03LjMzMzI1IiB5PSItNS4xMDY0NSIgd2lkdGg9IjI2LjY2NjYiIGhlaWdodD0iMjYuMjEyNiIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPgo8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPgo8ZmVHYXVzc2lhbkJsdXIgaW49IkJhY2tncm91bmRJbWFnZUZpeCIgc3RkRGV2aWF0aW9uPSI0Ii8+CjxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUFscGhhIiBvcGVyYXRvcj0iaW4iIHJlc3VsdD0iZWZmZWN0MV9iYWNrZ3JvdW5kQmx1cl8xOTc3XzExNjMwIi8+CjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iZWZmZWN0MV9iYWNrZ3JvdW5kQmx1cl8xOTc3XzExNjMwIiByZXN1bHQ9InNoYXBlIi8+CjwvZmlsdGVyPgo8L2RlZnM+Cjwvc3ZnPgo=", Wr = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xLjkxNjUgNy41NjkzN1Y2LjgzODg3SDMuNDE2NVY3LjU2OTM3QzMuNDE2NSAxMC4xMDA3IDUuNDY4NTMgMTIuMTUyNyA3Ljk5OTg0IDEyLjE1MjdDMTAuNTMxMSAxMi4xNTI3IDEyLjU4MzIgMTAuMTAwNyAxMi41ODMyIDcuNTY5MzZWNi44Mzg4N0gxNC4wODMyVjcuNTY5MzZDMTQuMDgzMiAxMC42NzUxIDExLjc1NTcgMTMuMjM3MyA4Ljc0OTg4IDEzLjYwNjlWMTQuOTA4OUg3LjI0OTg4VjEzLjYwNjlDNC4yNDM5OCAxMy4yMzc0IDEuOTE2NSAxMC42NzUyIDEuOTE2NSA3LjU2OTM3WiIgZmlsbD0iI0FEQURBRCIvPgo8cmVjdCB4PSI0LjY2Njc1IiB5PSIxLjA5MDgyIiB3aWR0aD0iNi42NjY2NyIgaGVpZ2h0PSI5Ljg5NjkiIHJ4PSIzLjMzMzMzIiBmaWxsPSIjQURBREFEIi8+Cjwvc3ZnPgo=", Gr = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi42NzE2IDUuNzc2NTlDMTIuNDY4NyA1Ljg3ODM1IDEyLjM0MDYgNi4wODU5MSAxMi4zNDA2IDYuMzEyOTFWOS4wMDYxNEMxMi4zNDA2IDkuMjMzMTUgMTIuNDY4NyA5LjQ0MDcyIDEyLjY3MTYgOS41NDI0OEwxNS40NzQ0IDEwLjk0OEMxNS42MDc0IDExLjAxNDcgMTUuNzY0IDEwLjkxOCAxNS43NjQgMTAuNzY5M0wxNS43NjQgNC41NDk2MkMxNS43NjQgNC40MDA4NCAxNS42MDc0IDQuMzA0MTUgMTUuNDc0NCA0LjM3MDg1TDEyLjY3MTYgNS43NzY1OVoiIGZpbGw9IiNBREFEQUQiLz4KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfYl8xMzFfMTQ0OSkiPgo8cmVjdCB4PSIwLjY2Njc0OCIgeT0iMi41NTMyMiIgd2lkdGg9IjEwLjY2NjciIGhlaWdodD0iMTAuMjEyOCIgcng9IjEuNSIgZmlsbD0iI0FEQURBRCIvPgo8L2c+CjxkZWZzPgo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2JfMTMxXzE0NDkiIHg9Ii03LjMzMzI1IiB5PSItNS40NDY3OCIgd2lkdGg9IjI2LjY2NjciIGhlaWdodD0iMjYuMjEyNiIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPgo8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPgo8ZmVHYXVzc2lhbkJsdXIgaW49IkJhY2tncm91bmRJbWFnZUZpeCIgc3RkRGV2aWF0aW9uP
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
ct.setup = (A, t) => {
|
||
|
const {
|
||
|
isFloatWindow: e
|
||
|
} = z(CA()), {
|
||
|
callDuration: a
|
||
|
} = Ht(), {
|
||
|
localUserInfoExcludeVolume: n
|
||
|
} = z(MA()), {
|
||
|
callStatus: l
|
||
|
} = z(q()), i = p(() => n.value.isAudioAvailable ? kr : Wr), u = p(() => n.value.isVideoAvailable ? Pr : Gr), s = p(() => X(["groupcall-video-float", {
|
||
|
"not-float": !e.value,
|
||
|
float: e.value
|
||
|
}]));
|
||
|
function r() {
|
||
|
e.value && O.toggleMinimize();
|
||
|
}
|
||
|
return {
|
||
|
CallStatus: U,
|
||
|
t: v,
|
||
|
earphoneSrc: sl,
|
||
|
isFloatWindow: e,
|
||
|
callDuration: a,
|
||
|
callStatus: l,
|
||
|
microphoneSrc: i,
|
||
|
cameraSrc: u,
|
||
|
floatWindowClassName: s,
|
||
|
closeFloatWindow: r
|
||
|
};
|
||
|
};
|
||
|
ct.components = Object.assign({
|
||
|
TKImage: SA,
|
||
|
Timer: sa,
|
||
|
TKText: lA
|
||
|
}, ct.components);
|
||
|
var Qr = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
class: A.floatWindowClassName
|
||
|
}, [A.isFloatWindow ? e("div", {
|
||
|
staticClass: "click-container",
|
||
|
on: {
|
||
|
"!click": function(a) {
|
||
|
return a.stopPropagation(), A.closeFloatWindow.apply(null, arguments);
|
||
|
}
|
||
|
}
|
||
|
}) : A._e(), e("div", {
|
||
|
staticClass: "stream-container"
|
||
|
}, [e("div", {
|
||
|
staticClass: "video"
|
||
|
}, [A._t("default")], 2), e("div", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: A.isFloatWindow,
|
||
|
expression: "isFloatWindow"
|
||
|
}],
|
||
|
staticClass: "audio"
|
||
|
}, [e("TKImage", {
|
||
|
attrs: {
|
||
|
width: "36px",
|
||
|
height: "36px",
|
||
|
src: A.earphoneSrc
|
||
|
}
|
||
|
}), A.callStatus === A.CallStatus.CONNECTED ? e("Timer", {
|
||
|
attrs: {
|
||
|
fontSize: "12px",
|
||
|
callDuration: A.callDuration,
|
||
|
color: "#12b969"
|
||
|
}
|
||
|
}) : A._e(), A.callStatus === A.CallStatus.CALLING ? e("TKText", {
|
||
|
attrs: {
|
||
|
size: "12px",
|
||
|
color: "#12b969"
|
||
|
}
|
||
|
}, [A._v(A._s(A.t("wait to be called")))]) : A._e()], 1)]), e("div", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: A.isFloatWindow,
|
||
|
expression: "isFloatWindow"
|
||
|
}],
|
||
|
staticClass: "device-status"
|
||
|
}, [e("TKImage", {
|
||
|
attrs: {
|
||
|
width: "16px",
|
||
|
height: "16px",
|
||
|
src: A.microphoneSrc
|
||
|
}
|
||
|
}), e("TKImage", {
|
||
|
attrs: {
|
||
|
width: "16px",
|
||
|
height: "16px",
|
||
|
src: A.cameraSrc
|
||
|
}
|
||
|
})], 1)]);
|
||
|
}, Zr = [];
|
||
|
const Cn = {};
|
||
|
var Yr = /* @__PURE__ */ S(
|
||
|
ct,
|
||
|
Qr,
|
||
|
Zr,
|
||
|
!1,
|
||
|
Xr,
|
||
|
"04a48581",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Xr(A) {
|
||
|
for (let t in Cn)
|
||
|
this[t] = Cn[t];
|
||
|
}
|
||
|
const _r = /* @__PURE__ */ function() {
|
||
|
return Yr.exports;
|
||
|
}(), rt = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
rt.setup = (A, t) => {
|
||
|
const {
|
||
|
isGroupCall: e
|
||
|
} = z(q());
|
||
|
return {
|
||
|
isGroupCall: e
|
||
|
};
|
||
|
};
|
||
|
rt.components = Object.assign({
|
||
|
FloatWindowSingleCall: Rr,
|
||
|
FloatWindowGroupCall: _r
|
||
|
}, rt.components);
|
||
|
var qr = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
attrs: {
|
||
|
id: "float-window-id"
|
||
|
}
|
||
|
}, [A.isGroupCall ? e("FloatWindowGroupCall", [A._t("default")], 2) : e("FloatWindowSingleCall", [A._t("default")], 2)], 1);
|
||
|
}, Jr = [];
|
||
|
const yn = {};
|
||
|
var Hr = /* @__PURE__ */ S(
|
||
|
rt,
|
||
|
qr,
|
||
|
Jr,
|
||
|
!1,
|
||
|
Kr,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Kr(A) {
|
||
|
for (let t in yn)
|
||
|
this[t] = yn[t];
|
||
|
}
|
||
|
const $r = /* @__PURE__ */ function() {
|
||
|
return Hr.exports;
|
||
|
}(), Mt = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
Mt.setup = (A, t) => {
|
||
|
const {
|
||
|
isFloatWindow: e
|
||
|
} = z(CA()), a = p(() => X(["float-window-container", {
|
||
|
float: e.value,
|
||
|
"not-float": !e.value,
|
||
|
pc: j.isPC,
|
||
|
mobile: !j.isPC
|
||
|
}]));
|
||
|
return {
|
||
|
TUIGlobal: j,
|
||
|
floatWindowContainerClassName: a
|
||
|
};
|
||
|
};
|
||
|
Mt.components = Object.assign({
|
||
|
FloatWindowPC: xr,
|
||
|
FloatWindowMobile: $r
|
||
|
}, Mt.components);
|
||
|
var AM = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
class: A.floatWindowContainerClassName
|
||
|
}, [A.TUIGlobal.isPC ? e("FloatWindowPC", [A._t("default")], 2) : A._e(), A.TUIGlobal.isPC ? A._e() : e("FloatWindowMobile", [A._t("default")], 2)], 1);
|
||
|
}, eM = [];
|
||
|
const Sn = {};
|
||
|
var tM = /* @__PURE__ */ S(
|
||
|
Mt,
|
||
|
AM,
|
||
|
eM,
|
||
|
!1,
|
||
|
aM,
|
||
|
"59a0c3c2",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function aM(A) {
|
||
|
for (let t in Sn)
|
||
|
this[t] = Sn[t];
|
||
|
}
|
||
|
const ul = /* @__PURE__ */ function() {
|
||
|
return tM.exports;
|
||
|
}();
|
||
|
function nM() {
|
||
|
const A = Ge(), { callStatus: t } = z(q()), e = I(At.LOCAL), { remoteUserListExcludeVolume: a } = z(MA());
|
||
|
return J([a, A, t], () => {
|
||
|
var i, u, s, r;
|
||
|
if (t.value === U.CALLING)
|
||
|
return;
|
||
|
const n = [et.RemoteInLargeView, et.LocalInLargeView], l = (i = A.value) == null ? void 0 : i.layoutMode;
|
||
|
if (n.includes(l)) {
|
||
|
e.value = (u = A.value) == null ? void 0 : u.layoutMode;
|
||
|
return;
|
||
|
}
|
||
|
(r = (s = a.value) == null ? void 0 : s[0]) != null && r.isEnter && (e.value = At.REMOTE);
|
||
|
}, {
|
||
|
immediate: !0
|
||
|
}), e;
|
||
|
}
|
||
|
const dt = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
dt.setup = (A, t) => {
|
||
|
const e = nM(), a = I(!0), {
|
||
|
isFloatWindow: n
|
||
|
} = z(CA()), {
|
||
|
localUserInfoExcludeVolume: l,
|
||
|
remoteUserListExcludeVolume: i
|
||
|
} = z(MA()), u = Uo(), {
|
||
|
callType: s,
|
||
|
callStatus: r
|
||
|
} = z(q()), M = zo(), D = p(() => {
|
||
|
var C, E, w, L;
|
||
|
return j.isWeChat ? (E = (C = M.value) == null ? void 0 : C.find((m) => {
|
||
|
var k, _;
|
||
|
return (m == null ? void 0 : m.userID) === ((_ = (k = i.value) == null ? void 0 : k[0]) == null ? void 0 : _.userId);
|
||
|
})) == null ? void 0 : E.hasVideo : (L = (w = i.value) == null ? void 0 : w[0]) == null ? void 0 : L.isVideoAvailable;
|
||
|
}), g = p(() => {
|
||
|
var C, E;
|
||
|
return (E = (C = i.value) == null ? void 0 : C[0]) == null ? void 0 : E.domId;
|
||
|
}), N = p(() => {
|
||
|
var C, E, w;
|
||
|
return (w = u.value) == null ? void 0 : w[(E = (C = i.value) == null ? void 0 : C[0]) == null ? void 0 : E.domId];
|
||
|
});
|
||
|
J([s, r], () => {
|
||
|
s.value === F.AUDIO || r.value === U.CALLING ? a.value = !1 : a.value = !0;
|
||
|
}, {
|
||
|
immediate: !0
|
||
|
});
|
||
|
const y = p(() => X(["singlecall-media-container", {
|
||
|
mobile: !j.isPC,
|
||
|
pc: j.isPC,
|
||
|
float: n.value
|
||
|
}]));
|
||
|
function T(C) {
|
||
|
e.value = C;
|
||
|
}
|
||
|
return {
|
||
|
CallMediaType: F,
|
||
|
ViewName: At,
|
||
|
largeViewName: e,
|
||
|
showSmallWindow: a,
|
||
|
isFloatWindow: n,
|
||
|
localUserInfoExcludeVolume: l,
|
||
|
remoteUserListExcludeVolume: i,
|
||
|
volumeMap: u,
|
||
|
callType: s,
|
||
|
isPusherVideoAvailable: D,
|
||
|
playerDomId: g,
|
||
|
remoteStreamVolume: N,
|
||
|
singleMediaContainerClassName: y,
|
||
|
handleToggle: T
|
||
|
};
|
||
|
};
|
||
|
dt.components = Object.assign({
|
||
|
Portal: el,
|
||
|
FloatWindow: ul,
|
||
|
ToggleWindow: Nc,
|
||
|
ToggleWindowItem: Gc,
|
||
|
Pusher: nl,
|
||
|
AudioStream: ll,
|
||
|
TKStreamInfo: al,
|
||
|
Player: ol
|
||
|
}, dt.components);
|
||
|
var oM = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("Portal", {
|
||
|
attrs: {
|
||
|
id: "source",
|
||
|
disabled: !A.isFloatWindow,
|
||
|
source: "#source",
|
||
|
to: "body"
|
||
|
}
|
||
|
}, [e("FloatWindow", [e("div", {
|
||
|
class: A.singleMediaContainerClassName
|
||
|
}, [e("ToggleWindow", {
|
||
|
attrs: {
|
||
|
"big-window": A.largeViewName,
|
||
|
"show-small-window": A.showSmallWindow
|
||
|
},
|
||
|
on: {
|
||
|
toggle: A.handleToggle
|
||
|
}
|
||
|
}, [e("ToggleWindowItem", {
|
||
|
key: A.ViewName.LOCAL,
|
||
|
attrs: {
|
||
|
value: A.ViewName.LOCAL
|
||
|
}
|
||
|
}, [e("Pusher", {
|
||
|
attrs: {
|
||
|
domId: A.localUserInfoExcludeVolume.domId,
|
||
|
"show-audio-stream": !A.localUserInfoExcludeVolume.isVideoAvailable
|
||
|
},
|
||
|
scopedSlots: A._u([{
|
||
|
key: "audio-stream",
|
||
|
fn: function() {
|
||
|
return [e("AudioStream", {
|
||
|
attrs: {
|
||
|
userId: A.localUserInfoExcludeVolume.userId,
|
||
|
username: A.localUserInfoExcludeVolume.displayUserInfo,
|
||
|
avatar: A.localUserInfoExcludeVolume.avatar,
|
||
|
"is-video-available": A.localUserInfoExcludeVolume.isVideoAvailable,
|
||
|
"is-small-window": A.largeViewName !== A.ViewName.LOCAL,
|
||
|
"is-muted": !A.localUserInfoExcludeVolume.isAudioAvailable,
|
||
|
volume: A.volumeMap && A.volumeMap[A.localUserInfoExcludeVolume.domId]
|
||
|
}
|
||
|
})];
|
||
|
},
|
||
|
proxy: !0
|
||
|
}, {
|
||
|
key: "stream-info",
|
||
|
fn: function() {
|
||
|
return [A.callType === A.CallMediaType.VIDEO ? e("TKStreamInfo", {
|
||
|
attrs: {
|
||
|
"nick-name": A.localUserInfoExcludeVolume.displayUserInfo,
|
||
|
"is-self": !0,
|
||
|
"is-muted": !A.localUserInfoExcludeVolume.isAudioAvailable,
|
||
|
volume: A.volumeMap && A.volumeMap[A.localUserInfoExcludeVolume.domId]
|
||
|
}
|
||
|
}) : A._e()];
|
||
|
},
|
||
|
proxy: !0
|
||
|
}])
|
||
|
})], 1), e("ToggleWindowItem", {
|
||
|
key: A.ViewName.REMOTE,
|
||
|
attrs: {
|
||
|
value: A.ViewName.REMOTE
|
||
|
}
|
||
|
}, [e("Player", {
|
||
|
attrs: {
|
||
|
"dom-id": A.playerDomId,
|
||
|
"show-audio-stream": !A.isPusherVideoAvailable
|
||
|
},
|
||
|
scopedSlots: A._u([{
|
||
|
key: "audio-stream",
|
||
|
fn: function() {
|
||
|
return [e("AudioStream", {
|
||
|
attrs: {
|
||
|
userId: A.remoteUserListExcludeVolume[0] && A.remoteUserListExcludeVolume[0].userId,
|
||
|
username: A.remoteUserListExcludeVolume[0] && A.remoteUserListExcludeVolume[0].displayUserInfo,
|
||
|
avatar: A.remoteUserListExcludeVolume[0] && A.remoteUserListExcludeVolume[0].avatar,
|
||
|
"is-video-available": A.isPusherVideoAvailable,
|
||
|
"is-small-window": A.largeViewName !== A.ViewName.REMOTE,
|
||
|
"is-muted": A.remoteUserListExcludeVolume[0] && !A.remoteUserListExcludeVolume[0].isAudioAvailable,
|
||
|
volume: A.remoteStreamVolume
|
||
|
}
|
||
|
})];
|
||
|
},
|
||
|
proxy: !0
|
||
|
}, {
|
||
|
key: "stream-info",
|
||
|
fn: function() {
|
||
|
return [A.callType === A.CallMediaType.VIDEO ? e("TKStreamInfo", {
|
||
|
attrs: {
|
||
|
"nick-name": A.remoteUserListExcludeVolume[0] && A.remoteUserListExcludeVolume[0].displayUserInfo,
|
||
|
"is-muted": A.remoteUserListExcludeVolume[0] && !A.remoteUserListExcludeVolume[0].isAudioAvailable,
|
||
|
volume: A.remoteStreamVolume
|
||
|
}
|
||
|
}) : A._e()];
|
||
|
},
|
||
|
proxy: !0
|
||
|
}])
|
||
|
})], 1)], 1)], 1)])], 1);
|
||
|
}, lM = [];
|
||
|
const En = {};
|
||
|
var iM = /* @__PURE__ */ S(
|
||
|
dt,
|
||
|
oM,
|
||
|
lM,
|
||
|
!1,
|
||
|
sM,
|
||
|
"5ca72ad0",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function sM(A) {
|
||
|
for (let t in En)
|
||
|
this[t] = En[t];
|
||
|
}
|
||
|
const uM = /* @__PURE__ */ function() {
|
||
|
return iM.exports;
|
||
|
}(), cM = [ae.SUCCESS, ae.INFO, ae.WARNING, ae.ERROR], _A = {
|
||
|
isShow: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
message: {
|
||
|
type: String,
|
||
|
default: ""
|
||
|
},
|
||
|
type: {
|
||
|
type: String,
|
||
|
values: cM,
|
||
|
default: ae.INFO
|
||
|
},
|
||
|
duration: {
|
||
|
type: Number,
|
||
|
default: 3e3
|
||
|
},
|
||
|
offset: {
|
||
|
type: Number,
|
||
|
default: 16
|
||
|
},
|
||
|
showClose: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
showIcon: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
customClass: {
|
||
|
type: String
|
||
|
},
|
||
|
customStyle: {
|
||
|
type: Object
|
||
|
}
|
||
|
};
|
||
|
function rM(A, t) {
|
||
|
const e = I((A == null ? void 0 : A.message) || _A.message.default), a = I((A == null ? void 0 : A.duration) || _A.duration.default), n = I((A == null ? void 0 : A.type) || _A.type.default), l = I((A == null ? void 0 : A.offset) || _A.offset.default), i = I((A == null ? void 0 : A.showClose) || _A.showClose.default), u = I(!1);
|
||
|
let s = -1;
|
||
|
const r = (g) => {
|
||
|
s > -1 && (clearTimeout(s), s = -1), u.value = !0, D(g || {}), a.value && (s = setTimeout(() => {
|
||
|
M();
|
||
|
}, a.value));
|
||
|
}, M = () => {
|
||
|
u.value = !1, s > -1 && (clearTimeout(s), s = -1);
|
||
|
}, D = (g) => {
|
||
|
const {
|
||
|
message: N = e.value,
|
||
|
type: y = n.value,
|
||
|
offset: T = l.value,
|
||
|
duration: C = a.value,
|
||
|
showClose: E = i.value
|
||
|
} = g;
|
||
|
a.value = (A == null ? void 0 : A.duration) === 0 ? A == null ? void 0 : A.duration : C, e.value = N, n.value = y, l.value = T, i.value = E;
|
||
|
};
|
||
|
return J(
|
||
|
() => A == null ? void 0 : A.isShow,
|
||
|
(g) => {
|
||
|
g && r();
|
||
|
},
|
||
|
{ immediate: !0 }
|
||
|
), J(u, (g) => {
|
||
|
g || t("onClose");
|
||
|
}), {
|
||
|
messageContent: e,
|
||
|
messageDuration: a,
|
||
|
messageType: n,
|
||
|
messageOffset: l,
|
||
|
isShowCloseIcon: i,
|
||
|
visible: u,
|
||
|
show: r,
|
||
|
close: M
|
||
|
};
|
||
|
}
|
||
|
const MM = "data:image/svg+xml;base64,PHN2ZyB0PSIxNzAwMTIzMzQ5NzM4IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYzMDAiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTUxMiA5Ny41MjM4MWMyMjguOTEyNzYyIDAgNDE0LjQ3NjE5IDE4NS41NjM0MjkgNDE0LjQ3NjE5IDQxNC40NzYxOXMtMTg1LjU2MzQyOSA0MTQuNDc2MTktNDE0LjQ3NjE5IDQxNC40NzYxOVM5Ny41MjM4MSA3NDAuOTEyNzYyIDk3LjUyMzgxIDUxMiAyODMuMDg3MjM4IDk3LjUyMzgxIDUxMiA5Ny41MjM4MXogbTEyOS4yOTIxOSAyMzMuNDQ3NjE5bC0xMjkuMjY3ODA5IDEyOS4yOTIxOS0xMjkuMzE2NTcxLTEyOS4yOTIxOS01MS43MzYzODEgNTEuNzM2MzgxIDEyOS4zMTY1NzEgMTI5LjI2NzgwOS0xMjkuMzE2NTcxIDEyOS4zMTY1NzEgNTEuNzM2MzgxIDUxLjczNjM4MUw1MTIgNTYzLjY4NzYxOWwxMjkuMjkyMTkgMTI5LjMxNjU3MSA1MS43MzYzODEtNTEuNzM2MzhMNTYzLjY4NzYxOSA1MTJsMTI5LjMxNjU3MS0xMjkuMjkyMTktNTEuNzM2MzgtNTEuNzM2MzgxeiIgcC1pZD0iNjMwMSIgZmlsbD0iI2Q1NDk0MSI+PC9wYXRoPjwvc3ZnPgo=", dM = "data:image/svg+xml;base64,PHN2ZyB0PSIxNzAwMTIxNTM5Nzg4IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQwMTgiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTUxMiA5Ny41MjM4MWMyMjguOTEyNzYyIDAgNDE0LjQ3NjE5IDE4NS41NjM0MjkgNDE0LjQ3NjE5IDQxNC40NzYxOXMtMTg1LjU2MzQyOSA0MTQuNDc2MTktNDE0LjQ3NjE5IDQxNC40NzYxOVM5Ny41MjM4MSA3NDAuOTEyNzYyIDk3LjUyMzgxIDUxMiAyODMuMDg3MjM4IDk3LjUyMzgxIDUxMiA5Ny41MjM4MXogbTE5My4xOTQ2NjcgMjE4LjMzMTQyOEw0NDcuMjE5ODEgNTgxLjMxNTA0OGwtMTAzLjkzNi0xMDcuODEyNTcyLTUyLjY2Mjg1OCA1MC43NjExNDMgMTU2LjM3OTQyOSAxNjIuMjMwODU3IDMxMC42NjIwOTUtMzE5LjY4MzA0Ny01Mi40Njc4MDktNTAuOTU2MTkxeiIgcC1pZD0iNDAxOSIgZmlsbD0iIzJiYTQ3MSI+PC9wYXRoPjwvc3ZnPgo=", IM = "data:image/svg+xml;base64,PHN2ZyB0PSIxNzAwMTIzMjc0Njg2IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjUwNTAiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTUxMiA5Ny41MjM4MWMyMjguOTEyNzYyIDAgNDE0LjQ3NjE5IDE4NS41NjM0MjkgNDE0LjQ3NjE5IDQxNC40NzYxOXMtMTg1LjU2MzQyOSA0MTQuNDc2MTktNDE0LjQ3NjE5IDQxNC40NzYxOVM5Ny41MjM4MSA3NDAuOTEyNzYyIDk3LjUyMzgxIDUxMiAyODMuMDg3MjM4IDk3LjUyMzgxIDUxMiA5Ny41MjM4MXogbTM2LjU3MTQyOSAzNDEuMzMzMzMzaC03My4xNDI4NTh2MjkyLjU3MTQyOGg3My4xNDI4NThWNDM4Ljg1NzE0M3ogbTAtMTIxLjkwNDc2MmgtNzMuMTQyODU4djczLjE0Mjg1N2g3My4xNDI4NTh2LTczLjE0Mjg1N3oiIHAtaWQ9IjUwNTEiIGZpbGw9IiNlMzczMTgiPjwvcGF0aD48L3N2Zz4K", gM = "data:image/svg+xml;base64,PHN2ZyB0PSIxNzAwMTIzMjc0Njg2IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjUwNTAiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTUxMiA5Ny41MjM4MWMyMjguOTEyNzYyIDAgNDE0LjQ3NjE5IDE4NS41NjM0MjkgNDE0LjQ3NjE5IDQxNC40NzYxOXMtMTg1LjU2MzQyOSA0MTQuNDc2MTktNDE0LjQ3NjE5IDQxNC40NzYxOVM5Ny41MjM4MSA3NDAuOTEyNzYyIDk3LjUyMzgxIDUxMiAyODMuMDg3MjM4IDk3LjUyMzgxIDUxMiA5Ny41MjM4MXogbTM2LjU3MTQyOSAzNDEuMzMzMzMzaC03My4xNDI4NTh2MjkyLjU3MTQyOGg3My4xNDI4NThWNDM4Ljg1NzE0M3ogbTAtMTIxLjkwNDc2MmgtNzMuMTQyODU4djczLjE0Mjg1N2g3My4xNDI4NTh2LTczLjE0Mjg1N3oiIHAtaWQ9IjUwNTEiIGZpbGw9IiMwMDUyZDkiPjwvcGF0aD48L3N2Zz4K", NM = "data:image/svg+xml;base64,ICAgIAo8c3ZnIHQ9IjE3MDAxMjM3NjYyNDciIGNsYXNzPSJpY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiCiAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYzMDEiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+CiAgICA8cGF0aCBkPSJNNTU3LjIgNTEybDIzMy40LTIzMy40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4ycy0zMi44LTEyLjUtNDUuMiAwTDUxMiA0NjYuOCAyNzguNiAyMzMuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4yIDBzLTEyLjUgMzIuOCAwIDQ1LjJMNDY2LjggNTEyIDIzMy40IDc0NS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuMiA2LjIgNi4yIDE0LjQgOS40IDIyLjYgOS40czE2LjQtMy4xIDIyLjYtOS40TDUxMiA1NTcuMmwyMzMuNCAyMzMuNGM2LjIgNi4yIDE0LjQgOS40IDIyLjYgOS40czE2LjQtMy4xIDIyLjYtOS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4yTDU1Ny4yIDUxMnoiIHAtaWQ9IjYzMDEiIGZpbGw9IiM3Mzc2N2EiPjwvcGF0aD4KPC9zdmc+Cg==", he = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
he.props = _A;
|
||
|
he.setup = (A, t) => {
|
||
|
const e = A, a = t.emit, {
|
||
|
messageContent: n,
|
||
|
messageType: l,
|
||
|
messageOffset: i,
|
||
|
isShowCloseIcon: u,
|
||
|
visible: s,
|
||
|
show: r,
|
||
|
close: M
|
||
|
} = rM(e, a), D = p(() => X([`${x}-message`, `${x}-message--${l.value}`, e.customClass])), g = p(() => X([`${x}-message_icon`])), N = p(() => X([`${x}-message_close`])), y = p(() => `${i.value}px`), T = p(() => ({
|
||
|
top: y.value,
|
||
|
...e.customStyle
|
||
|
}));
|
||
|
return Object.assign({
|
||
|
CloseSrc: NM,
|
||
|
messageContent: n,
|
||
|
messageType: l,
|
||
|
isShowCloseIcon: u,
|
||
|
visible: s,
|
||
|
close: M,
|
||
|
messageClassName: D,
|
||
|
typeIconClassName: g,
|
||
|
closeIconClassName: N,
|
||
|
messageStyle: T,
|
||
|
IconSrcMap: {
|
||
|
info: gM,
|
||
|
waring: IM,
|
||
|
success: dM,
|
||
|
error: MM
|
||
|
}
|
||
|
}, {
|
||
|
show: r,
|
||
|
close: M
|
||
|
});
|
||
|
};
|
||
|
he.components = Object.assign({
|
||
|
Icon: ft
|
||
|
}, he.components);
|
||
|
var pM = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return A.visible ? e("div", {
|
||
|
class: A.messageClassName,
|
||
|
style: [A.messageStyle]
|
||
|
}, [e("div", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: A.showIcon,
|
||
|
expression: "showIcon"
|
||
|
}],
|
||
|
class: A.typeIconClassName
|
||
|
}, [e("Icon", {
|
||
|
attrs: {
|
||
|
src: A.IconSrcMap[A.messageType]
|
||
|
}
|
||
|
})], 1), e("span", [A._v(A._s(A.messageContent))]), e("div", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: A.isShowCloseIcon,
|
||
|
expression: "isShowCloseIcon"
|
||
|
}],
|
||
|
class: A.closeIconClassName,
|
||
|
on: {
|
||
|
click: A.close
|
||
|
}
|
||
|
}, [e("Icon", {
|
||
|
attrs: {
|
||
|
src: A.CloseSrc
|
||
|
}
|
||
|
})], 1)]) : A._e();
|
||
|
}, DM = [];
|
||
|
const hn = {};
|
||
|
var TM = /* @__PURE__ */ S(
|
||
|
he,
|
||
|
pM,
|
||
|
DM,
|
||
|
!1,
|
||
|
CM,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function CM(A) {
|
||
|
for (let t in hn)
|
||
|
this[t] = hn[t];
|
||
|
}
|
||
|
const cl = /* @__PURE__ */ function() {
|
||
|
return TM.exports;
|
||
|
}(), yM = {
|
||
|
customClass: {
|
||
|
type: String
|
||
|
}
|
||
|
}, me = {
|
||
|
options: {
|
||
|
virtualHost: !0,
|
||
|
styleIsolation: "shared"
|
||
|
}
|
||
|
};
|
||
|
me.props = yM;
|
||
|
me.setup = (A, t) => {
|
||
|
const {
|
||
|
isFloatWindow: e
|
||
|
} = z(CA()), {
|
||
|
tip: a,
|
||
|
duration: n
|
||
|
} = Vi(), {
|
||
|
isGroupCall: l
|
||
|
} = z(q()), i = I(null), u = A, s = j.isPC, r = p(() => [u.customClass]), M = p(() => ot({
|
||
|
color: "white",
|
||
|
background: "none",
|
||
|
position: "absolute",
|
||
|
"z-index": 4,
|
||
|
"align-items": "center",
|
||
|
left: "50%",
|
||
|
top: `${s ? "60%" : "70%"}`,
|
||
|
transform: "translate(-50%, -50%)",
|
||
|
"font-size": e.value ? "12px" : void 0
|
||
|
})), D = p(() => ot({
|
||
|
color: "white",
|
||
|
background: "none",
|
||
|
position: "static",
|
||
|
transform: "none",
|
||
|
"font-size": e.value ? "12px" : void 0
|
||
|
})), g = p(() => l.value ? D.value : M.value);
|
||
|
return J(a, () => {
|
||
|
var N;
|
||
|
(N = i.value) == null || N.show({
|
||
|
message: a.value,
|
||
|
duration: n.value,
|
||
|
offset: 0
|
||
|
});
|
||
|
}), {
|
||
|
message: i,
|
||
|
tipClassName: r,
|
||
|
customStyle: g
|
||
|
};
|
||
|
};
|
||
|
me.components = Object.assign({
|
||
|
Message: cl
|
||
|
}, me.components);
|
||
|
var SM = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", [e("Message", {
|
||
|
ref: "message",
|
||
|
class: A.tipClassName,
|
||
|
attrs: {
|
||
|
showIcon: !1,
|
||
|
customStyle: A.customStyle
|
||
|
}
|
||
|
})], 1);
|
||
|
}, EM = [];
|
||
|
const mn = {};
|
||
|
var hM = /* @__PURE__ */ S(
|
||
|
me,
|
||
|
SM,
|
||
|
EM,
|
||
|
!1,
|
||
|
mM,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function mM(A) {
|
||
|
for (let t in mn)
|
||
|
this[t] = mn[t];
|
||
|
}
|
||
|
const rl = /* @__PURE__ */ function() {
|
||
|
return hM.exports;
|
||
|
}(), jM = ["%", "vw"], vM = {
|
||
|
length: {
|
||
|
type: Number,
|
||
|
default: 0
|
||
|
},
|
||
|
unit: {
|
||
|
type: String,
|
||
|
values: jM,
|
||
|
default: "%"
|
||
|
},
|
||
|
enableFocus: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
layout: {
|
||
|
type: Array
|
||
|
},
|
||
|
focus: {
|
||
|
type: [String, Number]
|
||
|
}
|
||
|
}, Ml = "GridContextKey", ga = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
ga.props = vM;
|
||
|
ga.setup = (A, t) => {
|
||
|
const e = A, a = I(e.focus), n = I(e.layout), l = I(e.unit), i = t.emit;
|
||
|
function u(s) {
|
||
|
i("toggle", s);
|
||
|
}
|
||
|
return J(() => e.focus, () => a.value = e.focus), J(() => e.layout, () => n.value = e.layout), J(() => e.unit, () => l.value = e.unit), gA(Ml, {
|
||
|
layout: n,
|
||
|
enableFocus: e.enableFocus,
|
||
|
handleFocusChange: u,
|
||
|
focus: a,
|
||
|
unit: l
|
||
|
}), {};
|
||
|
};
|
||
|
var fM = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
style: {
|
||
|
height: "100%"
|
||
|
}
|
||
|
}, [A._t("default")], 2);
|
||
|
}, LM = [];
|
||
|
const jn = {};
|
||
|
var UM = /* @__PURE__ */ S(
|
||
|
ga,
|
||
|
fM,
|
||
|
LM,
|
||
|
!1,
|
||
|
zM,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function zM(A) {
|
||
|
for (let t in jn)
|
||
|
this[t] = jn[t];
|
||
|
}
|
||
|
const dl = /* @__PURE__ */ function() {
|
||
|
return UM.exports;
|
||
|
}(), Na = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
Na.props = ["index", "height", "customStyle"];
|
||
|
Na.setup = (A, t) => {
|
||
|
const e = A, {
|
||
|
layout: a,
|
||
|
enableFocus: n,
|
||
|
handleFocusChange: l,
|
||
|
focus: i,
|
||
|
unit: u
|
||
|
} = NA(Ml), s = 100 / 12, r = s, M = I({}), D = X([`${x}-grid-item`, {
|
||
|
pc: WA,
|
||
|
mobile: !WA,
|
||
|
h5: bo
|
||
|
}]), g = () => {
|
||
|
const y = String(e.index) === String(i.value) ? null : e.index;
|
||
|
n && l(y);
|
||
|
}, N = p(() => !!Ba(a.value, {
|
||
|
key: "i",
|
||
|
value: e.index
|
||
|
}));
|
||
|
return QA(() => {
|
||
|
const y = Ba(a.value, {
|
||
|
key: "i",
|
||
|
value: e.index
|
||
|
});
|
||
|
if (!y)
|
||
|
return;
|
||
|
const {
|
||
|
x: T,
|
||
|
y: C,
|
||
|
w: E,
|
||
|
h: w,
|
||
|
customStyle: L,
|
||
|
customProps: m
|
||
|
} = y;
|
||
|
M.value = {
|
||
|
width: E * s + u.value,
|
||
|
height: e.height || w * r + u.value,
|
||
|
left: T * s + u.value,
|
||
|
top: C * r + u.value,
|
||
|
position: "absolute",
|
||
|
visibility: (m == null ? void 0 : m.show) === !1 ? "hidden" : "",
|
||
|
...e.customStyle,
|
||
|
...L
|
||
|
};
|
||
|
}), tA(() => {
|
||
|
String(e.index) === String(i.value) && n && l(null);
|
||
|
}), {
|
||
|
style: M,
|
||
|
gridItemClassName: D,
|
||
|
handleClick: g,
|
||
|
show: N
|
||
|
};
|
||
|
};
|
||
|
var wM = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return A.show ? e("div", {
|
||
|
class: A.gridItemClassName,
|
||
|
style: [A.style],
|
||
|
on: {
|
||
|
click: A.handleClick
|
||
|
}
|
||
|
}, [A._t("default")], 2) : A._e();
|
||
|
}, OM = [];
|
||
|
const vn = {};
|
||
|
var xM = /* @__PURE__ */ S(
|
||
|
Na,
|
||
|
wM,
|
||
|
OM,
|
||
|
!1,
|
||
|
VM,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function VM(A) {
|
||
|
for (let t in vn)
|
||
|
this[t] = vn[t];
|
||
|
}
|
||
|
const Il = /* @__PURE__ */ function() {
|
||
|
return xM.exports;
|
||
|
}();
|
||
|
function bM() {
|
||
|
const A = I([]), t = I([]), { callStatus: e, isGroupCall: a, callType: n, callRole: l } = z(q()), { status: i } = We() || {}, u = Qi();
|
||
|
return J(
|
||
|
[e, a, n, l, i, u],
|
||
|
() => {
|
||
|
var E, w, L;
|
||
|
let s = u.value;
|
||
|
const r = j.isPC ? "pc" : "mobile", M = a.value ? "groupCall" : "singleCall", D = n.value === F.AUDIO ? "audio" : "video";
|
||
|
let g = e.value === U.CALLING ? l.value === K.CALLER ? "calling" : "accept" : e.value;
|
||
|
a && (i == null ? void 0 : i.value) === "close" && (g = "close_" + g);
|
||
|
const N = ((L = (w = (E = s == null ? void 0 : s[r]) == null ? void 0 : E[M]) == null ? void 0 : w[D]) == null ? void 0 : L[g]) || [];
|
||
|
t.value = N;
|
||
|
const y = [];
|
||
|
let T = 0;
|
||
|
for (let m = 0; m < N.length; m++) {
|
||
|
const k = m === 0 ? N[m].filter((b) => {
|
||
|
var P;
|
||
|
return ((P = b == null ? void 0 : b.props) == null ? void 0 : P.show) !== !1;
|
||
|
}) : N[m];
|
||
|
N[m] = k;
|
||
|
const _ = 12 / k.length, Z = 3;
|
||
|
for (let b = 0; b < k.length; b++)
|
||
|
y[T++] = {
|
||
|
i: k[b].name,
|
||
|
x: b * _,
|
||
|
y: m * _,
|
||
|
w: _,
|
||
|
h: Z,
|
||
|
customStyle: k[b].customStyle,
|
||
|
customProps: k[b].props
|
||
|
};
|
||
|
}
|
||
|
T = 0;
|
||
|
let C = [];
|
||
|
for (let m = 0; m < N.flat().length; m++)
|
||
|
C[m] = y[T++];
|
||
|
C = C.filter((m) => m.i), A.value = C;
|
||
|
},
|
||
|
{
|
||
|
immediate: !0
|
||
|
}
|
||
|
), { layout: A, config: t };
|
||
|
}
|
||
|
function BM(...A) {
|
||
|
let t = window == null ? void 0 : window.document, e = "", a = () => {
|
||
|
}, n = {};
|
||
|
if (typeof A[0] == "string" ? [e, a, n] = A : [t, e, a, n] = A, !!t)
|
||
|
return t == null || t.addEventListener(e, a, n), () => {
|
||
|
t == null || t.removeEventListener(e, a, n);
|
||
|
};
|
||
|
}
|
||
|
function FM(A, t) {
|
||
|
let e = () => {
|
||
|
};
|
||
|
aA(() => {
|
||
|
e = BM("click", (n) => {
|
||
|
const l = A.map((s) => xl(s)), i = n.composedPath(), u = [];
|
||
|
for (let s = 0; s < l.length; s++)
|
||
|
u[s] = i.includes(l[s]);
|
||
|
u.every((s) => !s) && t();
|
||
|
}, { passive: !0 });
|
||
|
}), tA(() => {
|
||
|
e == null || e();
|
||
|
});
|
||
|
}
|
||
|
const RM = (A, t, e, a, n) => {
|
||
|
const l = e.isShowArrow ? e.arrowSize : 0, i = `${A.width / 2 - t.width / 2}px`, u = `${A.height / 2 - t.height / 2}px`, s = `${l}px solid ${e.color}`, r = { ...a }, M = { ...n };
|
||
|
switch (e.placement) {
|
||
|
case "top":
|
||
|
r.left = i, r.top = `-${t.height + l + e.arrowDistance}px`, M.borderTop = s, M.left = `${A.width / 2 - l / 2}px`, M.top = `-${l + e.arrowDistance}px`;
|
||
|
break;
|
||
|
case "bottom":
|
||
|
r.left = i, r.top = `${A.height + l + e.arrowDistance}px`, M.borderBottom = s, M.left = `${A.width / 2 - l / 2}px`, M.top = `${A.height + e.arrowDistance - l}px`;
|
||
|
break;
|
||
|
case "left":
|
||
|
r.left = `-${t.width + l + e.arrowDistance}px`, r.top = u, M.borderLeft = s, M.left = `-${l * 2 - e.arrowDistance}px`, M.top = `${A.height / 2 - l / 2}px`;
|
||
|
break;
|
||
|
case "right":
|
||
|
r.left = `${A.width + l + e.arrowDistance}px`, r.top = u, M.borderRight = s, M.left = `${A.width + l * 2 - e.arrowDistance}px`, M.top = `${A.height / 2 - l / 2}px`;
|
||
|
break;
|
||
|
}
|
||
|
return {
|
||
|
finalContentStyle: r,
|
||
|
finalArrowStyle: M
|
||
|
};
|
||
|
}, kM = ["click", "hover"], PM = ["top", "bottom", "left", "right"], gl = {
|
||
|
trigger: {
|
||
|
type: String,
|
||
|
values: kM,
|
||
|
default: "click"
|
||
|
},
|
||
|
placement: {
|
||
|
type: String,
|
||
|
values: PM,
|
||
|
default: "top"
|
||
|
},
|
||
|
color: {
|
||
|
type: String
|
||
|
},
|
||
|
isShowArrow: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
arrowSize: {
|
||
|
type: Number,
|
||
|
default: 5
|
||
|
},
|
||
|
arrowDistance: {
|
||
|
type: Number,
|
||
|
default: 5
|
||
|
},
|
||
|
show: {
|
||
|
type: Boolean
|
||
|
},
|
||
|
autoClose: {
|
||
|
type: Number,
|
||
|
default: 300
|
||
|
}
|
||
|
}, pa = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
pa.props = gl;
|
||
|
pa.setup = (A, t) => {
|
||
|
const e = A, a = `${x}-popover`, n = `${x}-popover_content`, l = `${x}-popover_arrow`, i = `${x}-popover_trigger`, u = I(), s = I(), r = I(), M = I(!1), D = I(null), g = p(() => M.value && e.isShowArrow && e.show), N = ot({
|
||
|
left: "0px",
|
||
|
top: "0px",
|
||
|
backgroundColor: e.color
|
||
|
}), y = I(N), T = `${e.arrowSize}px solid transparent`, C = {
|
||
|
borderLeft: T,
|
||
|
borderRight: T,
|
||
|
borderTop: T,
|
||
|
borderBottom: T,
|
||
|
top: "0px",
|
||
|
left: "0px"
|
||
|
}, E = I(C), w = t.emit, L = () => {
|
||
|
Vl(() => {
|
||
|
var xA, VA, bA, YA;
|
||
|
if (!M.value || !e.show)
|
||
|
return;
|
||
|
const b = (VA = (xA = s.value).getBoundingClientRect) == null ? void 0 : VA.call(xA), P = (YA = (bA = r.value).getBoundingClientRect) == null ? void 0 : YA.call(bA), {
|
||
|
finalContentStyle: AA,
|
||
|
finalArrowStyle: ZA
|
||
|
} = RM(b, P, e, N, C);
|
||
|
y.value = {
|
||
|
...N,
|
||
|
...AA
|
||
|
}, E.value = {
|
||
|
...C,
|
||
|
...ZA
|
||
|
};
|
||
|
});
|
||
|
}, m = () => {
|
||
|
clearTimeout(D.value);
|
||
|
}, k = () => {
|
||
|
e.trigger === "click" && (M.value = !M.value, L());
|
||
|
}, _ = () => {
|
||
|
e.trigger === "hover" && (w("hover"), m(), M.value = !0, L());
|
||
|
}, Z = () => {
|
||
|
e.trigger === "hover" && (D.value = setTimeout(() => {
|
||
|
M.value = !1, L();
|
||
|
}, 1e3));
|
||
|
};
|
||
|
return FM([u], () => {
|
||
|
M.value = !1;
|
||
|
}), {
|
||
|
popoverClassName: a,
|
||
|
popoverContentClassName: n,
|
||
|
popoverArrowClassName: l,
|
||
|
popoverTriggerClassName: i,
|
||
|
popoverRef: u,
|
||
|
triggerRef: s,
|
||
|
contentRef: r,
|
||
|
visible: M,
|
||
|
showArrow: g,
|
||
|
contentStyle: y,
|
||
|
arrowStyle: E,
|
||
|
clearTimer: m,
|
||
|
handleClick: k,
|
||
|
handleMouseEnter: _,
|
||
|
handleMouseLeave: Z
|
||
|
};
|
||
|
};
|
||
|
var WM = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
ref: "popoverRef",
|
||
|
class: A.popoverClassName
|
||
|
}, [A.visible && A.show ? e("div", {
|
||
|
ref: "contentRef",
|
||
|
class: A.popoverContentClassName,
|
||
|
style: [A.contentStyle],
|
||
|
on: {
|
||
|
mouseenter: A.clearTimer,
|
||
|
mouseleave: A.handleMouseLeave
|
||
|
}
|
||
|
}, [A._t("content")], 2) : A._e(), A.showArrow ? e("div", {
|
||
|
class: A.popoverArrowClassName,
|
||
|
style: [A.arrowStyle]
|
||
|
}) : A._e(), e("div", {
|
||
|
ref: "triggerRef",
|
||
|
class: A.popoverTriggerClassName,
|
||
|
on: {
|
||
|
click: A.handleClick,
|
||
|
mouseenter: A.handleMouseEnter,
|
||
|
mouseleave: A.handleMouseLeave
|
||
|
}
|
||
|
}, [A._t("trigger")], 2)]);
|
||
|
}, GM = [];
|
||
|
const fn = {};
|
||
|
var QM = /* @__PURE__ */ S(
|
||
|
pa,
|
||
|
WM,
|
||
|
GM,
|
||
|
!1,
|
||
|
ZM,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function ZM(A) {
|
||
|
for (let t in fn)
|
||
|
this[t] = fn[t];
|
||
|
}
|
||
|
const YM = /* @__PURE__ */ function() {
|
||
|
return QM.exports;
|
||
|
}(), XM = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
var _M = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div");
|
||
|
}, qM = [];
|
||
|
const Ln = {};
|
||
|
var JM = /* @__PURE__ */ S(
|
||
|
XM,
|
||
|
_M,
|
||
|
qM,
|
||
|
!1,
|
||
|
HM,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function HM(A) {
|
||
|
for (let t in Ln)
|
||
|
this[t] = Ln[t];
|
||
|
}
|
||
|
const KM = /* @__PURE__ */ function() {
|
||
|
return JM.exports;
|
||
|
}(), je = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
je.props = gl;
|
||
|
je.setup = (A, t) => {
|
||
|
const e = t.emit;
|
||
|
return {
|
||
|
IN_WX_MINI_APP: se,
|
||
|
handleHover: () => {
|
||
|
e("hover");
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
je.components = Object.assign({
|
||
|
PopoverWeb: YM,
|
||
|
PopoverWx: KM
|
||
|
}, je.components);
|
||
|
var $M = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return A.IN_WX_MINI_APP ? A._e() : e("PopoverWeb", A._b({
|
||
|
on: {
|
||
|
hover: A.handleHover
|
||
|
},
|
||
|
scopedSlots: A._u([{
|
||
|
key: "trigger",
|
||
|
fn: function() {
|
||
|
return [A._t("trigger")];
|
||
|
},
|
||
|
proxy: !0
|
||
|
}, {
|
||
|
key: "content",
|
||
|
fn: function() {
|
||
|
return [A._t("content")];
|
||
|
},
|
||
|
proxy: !0
|
||
|
}], null, !0)
|
||
|
}, "PopoverWeb", A.$props, !1));
|
||
|
}, Ad = [];
|
||
|
const Un = {};
|
||
|
var ed = /* @__PURE__ */ S(
|
||
|
je,
|
||
|
$M,
|
||
|
Ad,
|
||
|
!1,
|
||
|
td,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function td(A) {
|
||
|
for (let t in Un)
|
||
|
this[t] = Un[t];
|
||
|
}
|
||
|
const Da = /* @__PURE__ */ function() {
|
||
|
return ed.exports;
|
||
|
}(), ad = {
|
||
|
deviceType: {
|
||
|
type: String
|
||
|
},
|
||
|
isShowControlBtn: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
}
|
||
|
}, ve = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
ve.props = ad;
|
||
|
ve.setup = (A, t) => {
|
||
|
const e = A, [{
|
||
|
deviceList: a,
|
||
|
currentDeviceId: n
|
||
|
}, {
|
||
|
updateCurrentDeviceId: l
|
||
|
}] = mt(e.deviceType), {
|
||
|
localUserInfoExcludeVolume: i
|
||
|
} = z(MA()), {
|
||
|
isMuteSpeaker: u
|
||
|
} = z(q()), s = vt(), r = async (N) => {
|
||
|
try {
|
||
|
g(), await O.switchDevice({
|
||
|
deviceType: e.deviceType,
|
||
|
deviceId: N
|
||
|
}), l(N);
|
||
|
} catch (y) {
|
||
|
console.debug(y);
|
||
|
}
|
||
|
}, M = async () => {
|
||
|
var N, y;
|
||
|
g(), e.deviceType === oA.CAMERA && ((N = i.value) != null && N.isVideoAvailable ? await O.closeCamera() : await O.openCamera("localVideo")), e.deviceType === oA.MICROPHONE && ((y = i.value) != null && y.isAudioAvailable ? await O.closeMicrophone() : await O.openMicrophone()), e.deviceType === oA.SPEAKER && (u.value ? await O.unMuteSpeaker() : await O.muteSpeaker());
|
||
|
}, D = p(() => {
|
||
|
var N;
|
||
|
if (e.deviceType === oA.CAMERA)
|
||
|
return i != null && i.value.isVideoAvailable ? v("close camera") : v("open camera");
|
||
|
if (e.deviceType === oA.MICROPHONE)
|
||
|
return (N = i == null ? void 0 : i.value) != null && N.isAudioAvailable ? v("close microphone") : v("open microphone");
|
||
|
if (e.deviceType === oA.SPEAKER)
|
||
|
return u.value ? v("open speaker") : v("close speaker");
|
||
|
}), g = () => {
|
||
|
s.value = "close";
|
||
|
};
|
||
|
return {
|
||
|
deviceList: a,
|
||
|
currentDeviceId: n,
|
||
|
handleClickDeviceItem: r,
|
||
|
switchStatus: M,
|
||
|
deviceText: D
|
||
|
};
|
||
|
};
|
||
|
ve.components = Object.assign({
|
||
|
TKText: lA
|
||
|
}, ve.components);
|
||
|
var nd = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "device-selector-container"
|
||
|
}, [e("div", {
|
||
|
staticClass: "scroll-container"
|
||
|
}, [e("div", {
|
||
|
staticClass: "scroll-content"
|
||
|
}, A._l(A.deviceList, function(a) {
|
||
|
return e("div", {
|
||
|
key: a.deviceId
|
||
|
}, [e("TKText", {
|
||
|
staticClass: "device-item",
|
||
|
class: {
|
||
|
select: A.currentDeviceId === a.deviceId
|
||
|
},
|
||
|
attrs: {
|
||
|
width: "100%",
|
||
|
color: "#ffff",
|
||
|
truncated: !0,
|
||
|
size: "14px"
|
||
|
},
|
||
|
on: {
|
||
|
click: function() {
|
||
|
return A.handleClickDeviceItem(a.deviceId);
|
||
|
}
|
||
|
}
|
||
|
}, [A._v(" " + A._s(a.label) + " ")])], 1);
|
||
|
}), 0)]), e("div", {
|
||
|
staticClass: "control-item"
|
||
|
}), A.isShowControlBtn ? e("TKText", {
|
||
|
staticClass: "device-item",
|
||
|
attrs: {
|
||
|
width: "100%",
|
||
|
color: "#ffff",
|
||
|
truncated: !0,
|
||
|
size: "14px"
|
||
|
},
|
||
|
on: {
|
||
|
click: A.switchStatus
|
||
|
}
|
||
|
}, [A._v(" " + A._s(A.deviceText) + " ")]) : A._e()], 1);
|
||
|
}, od = [];
|
||
|
const zn = {};
|
||
|
var ld = /* @__PURE__ */ S(
|
||
|
ve,
|
||
|
nd,
|
||
|
od,
|
||
|
!1,
|
||
|
id,
|
||
|
"a65fe216",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function id(A) {
|
||
|
for (let t in zn)
|
||
|
this[t] = zn[t];
|
||
|
}
|
||
|
const Ta = /* @__PURE__ */ function() {
|
||
|
return ld.exports;
|
||
|
}(), fe = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
fe.props = EA;
|
||
|
fe.setup = (A, t) => {
|
||
|
const e = A, a = I(!0), n = j.isPC, {
|
||
|
localUserInfoExcludeVolume: l
|
||
|
} = z(MA()), i = I(l == null ? void 0 : l.value.isVideoAvailable), u = p(() => l == null ? void 0 : l.value.isVideoAvailable), s = vt(), [{
|
||
|
deviceList: r
|
||
|
}] = mt(oA.CAMERA), M = p(() => {
|
||
|
var C;
|
||
|
return ((C = r.value) == null ? void 0 : C.length) > 0 && s.value === "camera";
|
||
|
}), D = p(() => a.value ? u.value ? "basicConfig" : "closedConfig" : "loadingConfig"), g = p(() => l != null && l.value.isVideoAvailable ? v("camera enabled") : v("camera disabled")), N = uA("camera", D);
|
||
|
return {
|
||
|
DeviceType: oA,
|
||
|
props: e,
|
||
|
clickAble: a,
|
||
|
isPC: n,
|
||
|
isShowPopover: M,
|
||
|
btnText: g,
|
||
|
config: N,
|
||
|
handleClick: async () => {
|
||
|
a.value = !1, i.value = !u.value, u.value ? await O.closeCamera() : await O.openCamera("localVideo"), a.value = !0;
|
||
|
},
|
||
|
handleMouseEnter: () => {
|
||
|
s.value = "camera";
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
fe.components = Object.assign({
|
||
|
Popover: Da,
|
||
|
DeviceSelect: Ta,
|
||
|
Button: pA,
|
||
|
TKText: lA
|
||
|
}, fe.components);
|
||
|
var sd = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "btn-content"
|
||
|
}, [A.isPC ? e("Popover", {
|
||
|
attrs: {
|
||
|
color: "rgba(107, 117, 138, 0.5)",
|
||
|
show: A.isShowPopover,
|
||
|
trigger: "hover"
|
||
|
},
|
||
|
on: {
|
||
|
hover: A.handleMouseEnter
|
||
|
},
|
||
|
scopedSlots: A._u([{
|
||
|
key: "content",
|
||
|
fn: function() {
|
||
|
return [e("DeviceSelect", {
|
||
|
attrs: {
|
||
|
isShowControlBtn: !0,
|
||
|
deviceType: A.DeviceType.CAMERA
|
||
|
}
|
||
|
})];
|
||
|
},
|
||
|
proxy: !0
|
||
|
}, {
|
||
|
key: "trigger",
|
||
|
fn: function() {
|
||
|
return [e("Button", {
|
||
|
attrs: {
|
||
|
loading: !A.clickAble,
|
||
|
iconSrc: A.config.iconSrc,
|
||
|
color: A.config.color,
|
||
|
iconSize: A.config.iconSize,
|
||
|
width: A.props.width || A.config.width,
|
||
|
height: A.props.height || A.config.height,
|
||
|
loadingWidth: A.config.loadingWidth,
|
||
|
loadingHeight: A.config.loadingHeight,
|
||
|
shape: A.config.shape
|
||
|
},
|
||
|
on: {
|
||
|
click: A.handleClick
|
||
|
}
|
||
|
})];
|
||
|
},
|
||
|
proxy: !0
|
||
|
}], null, !1, 2755011860)
|
||
|
}) : A._e(), A.isPC ? A._e() : e("Button", {
|
||
|
attrs: {
|
||
|
loading: !A.clickAble,
|
||
|
iconSrc: A.config.iconSrc,
|
||
|
color: A.config.color,
|
||
|
iconSize: A.props.iconSize || A.config.iconSize,
|
||
|
width: A.props.width || A.config.width,
|
||
|
height: A.props.height || A.config.height,
|
||
|
loadingWidth: A.config.loadingWidth,
|
||
|
loadingHeight: A.config.loadingHeight,
|
||
|
shape: "circle"
|
||
|
},
|
||
|
on: {
|
||
|
click: A.handleClick
|
||
|
}
|
||
|
}), A.config.showText ? e("TKText", {
|
||
|
attrs: {
|
||
|
textStyle: A.config.textStyle,
|
||
|
color: A.config.textColor,
|
||
|
size: A.config.textSize
|
||
|
}
|
||
|
}, [A._v(" " + A._s(A.btnText) + " ")]) : A._e()], 1);
|
||
|
}, ud = [];
|
||
|
const wn = {};
|
||
|
var cd = /* @__PURE__ */ S(
|
||
|
fe,
|
||
|
sd,
|
||
|
ud,
|
||
|
!1,
|
||
|
rd,
|
||
|
"d26f6462",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function rd(A) {
|
||
|
for (let t in wn)
|
||
|
this[t] = wn[t];
|
||
|
}
|
||
|
const Md = /* @__PURE__ */ function() {
|
||
|
return cd.exports;
|
||
|
}(), Le = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
Le.props = EA;
|
||
|
Le.setup = (A, t) => {
|
||
|
const e = A, a = Bi(), n = p(() => a.value ? "basicConfig" : "loadingConfig"), l = uA("hangup", n);
|
||
|
return {
|
||
|
t: v,
|
||
|
props: e,
|
||
|
isClickable: a,
|
||
|
config: l,
|
||
|
handleClick: async () => {
|
||
|
await O.hangup();
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
Le.components = Object.assign({
|
||
|
Button: pA,
|
||
|
TKText: lA
|
||
|
}, Le.components);
|
||
|
var dd = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "btn-content"
|
||
|
}, [e("Button", {
|
||
|
attrs: {
|
||
|
loading: !A.isClickable,
|
||
|
loadingWidth: A.config.loadingWidth,
|
||
|
loadingHeight: A.config.loadingHeight,
|
||
|
iconSrc: A.config.iconSrc,
|
||
|
color: A.config.color,
|
||
|
iconSize: A.props.iconSize || A.config.iconSize,
|
||
|
width: A.props.width || A.config.width,
|
||
|
height: A.props.height || A.config.height,
|
||
|
shape: A.config.shape
|
||
|
},
|
||
|
on: {
|
||
|
click: A.handleClick
|
||
|
}
|
||
|
}), A.config.showText ? e("TKText", {
|
||
|
attrs: {
|
||
|
textStyle: A.config.textStyle,
|
||
|
color: A.config.textColor,
|
||
|
size: A.config.textSize
|
||
|
}
|
||
|
}, [A._v(" " + A._s(A.t("hangup")) + " ")]) : A._e()], 1);
|
||
|
}, Id = [];
|
||
|
const On = {};
|
||
|
var gd = /* @__PURE__ */ S(
|
||
|
Le,
|
||
|
dd,
|
||
|
Id,
|
||
|
!1,
|
||
|
Nd,
|
||
|
"954e61cc",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Nd(A) {
|
||
|
for (let t in On)
|
||
|
this[t] = On[t];
|
||
|
}
|
||
|
const pd = /* @__PURE__ */ function() {
|
||
|
return gd.exports;
|
||
|
}(), Ue = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
Ue.props = EA;
|
||
|
Ue.setup = (A, t) => {
|
||
|
const e = I(!0), a = A, n = p(() => e.value ? "basicConfig" : "loadingConfig"), l = uA("accept", n);
|
||
|
return {
|
||
|
t: v,
|
||
|
clickAble: e,
|
||
|
props: a,
|
||
|
config: l,
|
||
|
handleClick: async () => {
|
||
|
e.value = !1, await O.accept(), e.value = !0;
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
Ue.components = Object.assign({
|
||
|
Button: pA,
|
||
|
TKText: lA
|
||
|
}, Ue.components);
|
||
|
var Dd = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "btn-content"
|
||
|
}, [e("Button", {
|
||
|
attrs: {
|
||
|
iconSrc: A.config.iconSrc,
|
||
|
color: A.config.color,
|
||
|
iconSize: A.props.iconSize || A.config.iconSize,
|
||
|
width: A.props.width || A.config.width,
|
||
|
height: A.props.height || A.config.height,
|
||
|
shape: A.config.shape,
|
||
|
loading: !A.clickAble,
|
||
|
loadingWidth: A.config.loadingWidth,
|
||
|
loadingHeight: A.config.loadingHeight
|
||
|
},
|
||
|
on: {
|
||
|
click: A.handleClick
|
||
|
}
|
||
|
}), A.config.showText ? e("TKText", {
|
||
|
attrs: {
|
||
|
textStyle: A.config.textStyle,
|
||
|
color: A.config.textColor,
|
||
|
size: A.config.textSize
|
||
|
}
|
||
|
}, [A._v(" " + A._s(A.t("accept")) + " ")]) : A._e()], 1);
|
||
|
}, Td = [];
|
||
|
const xn = {};
|
||
|
var Cd = /* @__PURE__ */ S(
|
||
|
Ue,
|
||
|
Dd,
|
||
|
Td,
|
||
|
!1,
|
||
|
yd,
|
||
|
"1ec25bac",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function yd(A) {
|
||
|
for (let t in xn)
|
||
|
this[t] = xn[t];
|
||
|
}
|
||
|
const Sd = /* @__PURE__ */ function() {
|
||
|
return Cd.exports;
|
||
|
}(), ze = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
ze.props = EA;
|
||
|
ze.setup = (A, t) => {
|
||
|
const e = j.isPC, a = I(!0), {
|
||
|
localUserInfoExcludeVolume: n
|
||
|
} = z(MA()), l = vt(), [{
|
||
|
deviceList: i
|
||
|
}] = mt(oA.MICROPHONE), u = p(() => {
|
||
|
var N;
|
||
|
return ((N = i.value) == null ? void 0 : N.length) > 0 && l.value === "microphone";
|
||
|
}), s = p(() => a.value ? n != null && n.value.isAudioAvailable ? "basicConfig" : "closedConfig" : "loadingConfig"), r = uA("microphone", s), M = p(() => n != null && n.value.isAudioAvailable ? v("microphone enabled") : v("microphone disabled"));
|
||
|
return {
|
||
|
DeviceType: oA,
|
||
|
isPC: e,
|
||
|
clickAble: a,
|
||
|
isShowPopover: u,
|
||
|
config: r,
|
||
|
btnText: M,
|
||
|
handleClick: async () => {
|
||
|
n != null && n.value.isAudioAvailable ? await O.closeMicrophone() : await O.openMicrophone();
|
||
|
},
|
||
|
handleMouseEnter: () => {
|
||
|
l.value = "microphone";
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
ze.components = Object.assign({
|
||
|
Popover: Da,
|
||
|
DeviceSelect: Ta,
|
||
|
Button: pA,
|
||
|
TKText: lA
|
||
|
}, ze.components);
|
||
|
var Ed = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "btn-content"
|
||
|
}, [A.isPC ? e("Popover", {
|
||
|
attrs: {
|
||
|
color: "rgba(107, 117, 138, 0.5)",
|
||
|
show: A.isShowPopover,
|
||
|
trigger: "hover"
|
||
|
},
|
||
|
on: {
|
||
|
hover: A.handleMouseEnter
|
||
|
},
|
||
|
scopedSlots: A._u([{
|
||
|
key: "content",
|
||
|
fn: function() {
|
||
|
return [e("DeviceSelect", {
|
||
|
attrs: {
|
||
|
isShowControlBtn: !0,
|
||
|
deviceType: A.DeviceType.MICROPHONE
|
||
|
}
|
||
|
})];
|
||
|
},
|
||
|
proxy: !0
|
||
|
}, {
|
||
|
key: "trigger",
|
||
|
fn: function() {
|
||
|
return [e("Button", {
|
||
|
attrs: {
|
||
|
loading: !A.clickAble,
|
||
|
iconSrc: A.config.iconSrc,
|
||
|
color: A.config.color,
|
||
|
iconSize: A.config.iconSize,
|
||
|
width: A.config.width,
|
||
|
height: A.config.height,
|
||
|
loadingWidth: A.config.loadingWidth,
|
||
|
loadingHeight: A.config.loadingHeight,
|
||
|
shape: A.config.shape
|
||
|
},
|
||
|
on: {
|
||
|
click: A.handleClick
|
||
|
}
|
||
|
})];
|
||
|
},
|
||
|
proxy: !0
|
||
|
}], null, !1, 922566162)
|
||
|
}) : A._e(), A.isPC ? A._e() : e("Button", {
|
||
|
attrs: {
|
||
|
loading: !A.clickAble,
|
||
|
iconSrc: A.config.iconSrc,
|
||
|
color: A.config.color,
|
||
|
iconSize: A.config.iconSize,
|
||
|
width: A.config.width,
|
||
|
height: A.config.height,
|
||
|
loadingWidth: A.config.loadingWidth,
|
||
|
loadingHeight: A.config.loadingHeight,
|
||
|
shape: A.config.shape
|
||
|
},
|
||
|
on: {
|
||
|
click: A.handleClick
|
||
|
}
|
||
|
}), A.config.showText ? e("TKText", {
|
||
|
attrs: {
|
||
|
textStyle: A.config.textStyle,
|
||
|
color: A.config.textColor,
|
||
|
size: A.config.textSize
|
||
|
}
|
||
|
}, [A._v(" " + A._s(A.btnText) + " ")]) : A._e()], 1);
|
||
|
}, hd = [];
|
||
|
const Vn = {};
|
||
|
var md = /* @__PURE__ */ S(
|
||
|
ze,
|
||
|
Ed,
|
||
|
hd,
|
||
|
!1,
|
||
|
jd,
|
||
|
"b3b557d8",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function jd(A) {
|
||
|
for (let t in Vn)
|
||
|
this[t] = Vn[t];
|
||
|
}
|
||
|
const vd = /* @__PURE__ */ function() {
|
||
|
return md.exports;
|
||
|
}(), we = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
we.props = EA;
|
||
|
we.setup = (A, t) => {
|
||
|
const e = A, a = uA("reject", I("basicConfig"));
|
||
|
return {
|
||
|
t: v,
|
||
|
props: e,
|
||
|
config: a,
|
||
|
handleClick: async () => {
|
||
|
await O.reject();
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
we.components = Object.assign({
|
||
|
Button: pA,
|
||
|
TKText: lA
|
||
|
}, we.components);
|
||
|
var fd = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "btn-content"
|
||
|
}, [e("Button", {
|
||
|
attrs: {
|
||
|
iconSrc: A.config.iconSrc,
|
||
|
color: A.config.color,
|
||
|
iconSize: A.config.iconSize,
|
||
|
width: A.props.width || A.config.width,
|
||
|
height: A.props.height || A.config.height,
|
||
|
shape: A.config.shape
|
||
|
},
|
||
|
on: {
|
||
|
click: A.handleClick
|
||
|
}
|
||
|
}), A.config.showText ? e("TKText", {
|
||
|
attrs: {
|
||
|
textStyle: A.config.textStyle,
|
||
|
color: A.config.textColor,
|
||
|
size: A.config.textSize
|
||
|
}
|
||
|
}, [A._v(" " + A._s(A.t("reject")) + " ")]) : A._e()], 1);
|
||
|
}, Ld = [];
|
||
|
const bn = {};
|
||
|
var Ud = /* @__PURE__ */ S(
|
||
|
we,
|
||
|
fd,
|
||
|
Ld,
|
||
|
!1,
|
||
|
zd,
|
||
|
"f6fe7678",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function zd(A) {
|
||
|
for (let t in bn)
|
||
|
this[t] = bn[t];
|
||
|
}
|
||
|
const wd = /* @__PURE__ */ function() {
|
||
|
return Ud.exports;
|
||
|
}(), Oe = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
Oe.props = EA;
|
||
|
Oe.setup = (A, t) => {
|
||
|
const e = j.isWeChat, a = j.isPC, n = A, {
|
||
|
isEarPhone: l,
|
||
|
isMuteSpeaker: i
|
||
|
} = z(q()), u = vt(), s = p(() => l.value ? "closedConfig" : "basicConfig"), r = p(() => i.value ? "closedConfig" : "basicConfig"), [{
|
||
|
deviceList: M,
|
||
|
currentDeviceId: D
|
||
|
}] = mt(oA.SPEAKER), g = p(() => {
|
||
|
var E;
|
||
|
return ((E = M.value) == null ? void 0 : E.length) > 0 && u.value === "speaker" && a;
|
||
|
}), N = e ? uA("speaker", s) : uA("speaker", r);
|
||
|
return p(() => l.value ? v("speaker disabled") : v("speaker enabled")), {
|
||
|
DeviceType: oA,
|
||
|
props: n,
|
||
|
isShowPopover: g,
|
||
|
config: N,
|
||
|
handleClick: async () => {
|
||
|
i.value ? await O.unMuteSpeaker() : await O.muteSpeaker();
|
||
|
},
|
||
|
getButtonText: () => {
|
||
|
if (a) {
|
||
|
const E = M.value.find((w) => w.deviceId === D.value);
|
||
|
return E ? E.label : v("speaker enabled");
|
||
|
} else
|
||
|
return i.value ? v("speaker disabled") : v("speaker enabled");
|
||
|
},
|
||
|
handleMouseEnter: () => {
|
||
|
u.value = "speaker";
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
Oe.components = Object.assign({
|
||
|
Popover: Da,
|
||
|
DeviceSelect: Ta,
|
||
|
Button: pA,
|
||
|
TKText: lA
|
||
|
}, Oe.components);
|
||
|
var Od = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "btn-content"
|
||
|
}, [e("Popover", {
|
||
|
attrs: {
|
||
|
color: "rgba(107, 117, 138, 0.5)",
|
||
|
show: A.isShowPopover,
|
||
|
trigger: "hover"
|
||
|
},
|
||
|
on: {
|
||
|
hover: A.handleMouseEnter
|
||
|
},
|
||
|
scopedSlots: A._u([{
|
||
|
key: "content",
|
||
|
fn: function() {
|
||
|
return [e("DeviceSelect", {
|
||
|
attrs: {
|
||
|
isShowControlBtn: !0,
|
||
|
deviceType: A.DeviceType.SPEAKER
|
||
|
}
|
||
|
})];
|
||
|
},
|
||
|
proxy: !0
|
||
|
}, {
|
||
|
key: "trigger",
|
||
|
fn: function() {
|
||
|
return [e("Button", {
|
||
|
attrs: {
|
||
|
iconSrc: A.config.iconSrc,
|
||
|
color: A.config.color,
|
||
|
iconSize: A.props.iconSize || A.config.iconSize,
|
||
|
width: A.props.width || A.config.width,
|
||
|
height: A.props.height || A.config.height,
|
||
|
shape: A.config.shape
|
||
|
},
|
||
|
on: {
|
||
|
click: A.handleClick
|
||
|
}
|
||
|
})];
|
||
|
},
|
||
|
proxy: !0
|
||
|
}])
|
||
|
}), A.config.showText ? e("TKText", {
|
||
|
attrs: {
|
||
|
width: "60px",
|
||
|
truncated: !0,
|
||
|
textStyle: A.config.textStyle,
|
||
|
color: A.config.textColor,
|
||
|
size: A.config.textSize,
|
||
|
lineClamp: 2
|
||
|
}
|
||
|
}, [A._v(" " + A._s(A.getButtonText()) + " ")]) : A._e()], 1);
|
||
|
}, xd = [];
|
||
|
const Bn = {};
|
||
|
var Vd = /* @__PURE__ */ S(
|
||
|
Oe,
|
||
|
Od,
|
||
|
xd,
|
||
|
!1,
|
||
|
bd,
|
||
|
"1553de06",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function bd(A) {
|
||
|
for (let t in Bn)
|
||
|
this[t] = Bn[t];
|
||
|
}
|
||
|
const Bd = /* @__PURE__ */ function() {
|
||
|
return Vd.exports;
|
||
|
}(), It = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
It.setup = (A, t) => {
|
||
|
const {
|
||
|
localUserInfoExcludeVolume: e
|
||
|
} = z(MA()), a = p(() => e == null ? void 0 : e.value.isVideoAvailable), n = p(() => a.value ? "basicConfig" : "disableConfig"), l = uA("switchCamera", n);
|
||
|
return {
|
||
|
t: v,
|
||
|
config: l,
|
||
|
handleClick: async () => {
|
||
|
!a.value || await O.switchCamera();
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
It.components = Object.assign({
|
||
|
Button: pA,
|
||
|
TKText: lA
|
||
|
}, It.components);
|
||
|
var Fd = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "btn-content"
|
||
|
}, [e("Button", {
|
||
|
attrs: {
|
||
|
iconSrc: A.config.iconSrc,
|
||
|
iconSize: A.config.iconSize,
|
||
|
color: A.config.color,
|
||
|
width: A.config.width,
|
||
|
height: A.config.height,
|
||
|
buttonStyle: A.config.buttonStyle,
|
||
|
shape: "circle"
|
||
|
},
|
||
|
on: {
|
||
|
click: A.handleClick
|
||
|
}
|
||
|
}), A.config.showText ? e("TKText", {
|
||
|
attrs: {
|
||
|
textStyle: A.config.textStyle,
|
||
|
color: A.config.textColor,
|
||
|
size: A.config.textSize
|
||
|
}
|
||
|
}, [A._v(" " + A._s(A.t("switch camera")) + " ")]) : A._e()], 1);
|
||
|
}, Rd = [];
|
||
|
const Fn = {};
|
||
|
var kd = /* @__PURE__ */ S(
|
||
|
It,
|
||
|
Fd,
|
||
|
Rd,
|
||
|
!1,
|
||
|
Pd,
|
||
|
"b9be9094",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Pd(A) {
|
||
|
for (let t in Fn)
|
||
|
this[t] = Fn[t];
|
||
|
}
|
||
|
const Wd = /* @__PURE__ */ function() {
|
||
|
return kd.exports;
|
||
|
}(), xe = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
xe.props = EA;
|
||
|
xe.setup = (A, t) => {
|
||
|
const e = A, a = I(!0), {
|
||
|
localUserInfoExcludeVolume: n
|
||
|
} = z(MA()), l = p(() => n == null ? void 0 : n.value.isVideoAvailable), {
|
||
|
enableVirtualBackground: i
|
||
|
} = z(q()), u = p(() => a.value ? i.value ? "closedConfig" : l.value ? "basicConfig" : "disableConfig" : "loadingConfig"), s = uA("virtualBackground", u);
|
||
|
return {
|
||
|
t: v,
|
||
|
props: e,
|
||
|
clickAble: a,
|
||
|
config: s,
|
||
|
handleClick: async () => {
|
||
|
!l.value || (a.value = !1, await O.setBlurBackground(!i.value), a.value = !0);
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
xe.components = Object.assign({
|
||
|
Button: pA,
|
||
|
TKText: lA
|
||
|
}, xe.components);
|
||
|
var Gd = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "btn-content"
|
||
|
}, [e("Button", {
|
||
|
attrs: {
|
||
|
loading: !A.clickAble,
|
||
|
iconSrc: A.config.iconSrc,
|
||
|
color: A.config.color,
|
||
|
iconSize: A.props.iconSize || A.config.iconSize,
|
||
|
width: A.props.width || A.config.width,
|
||
|
height: A.props.height || A.config.height,
|
||
|
shape: A.config.shape,
|
||
|
loadingWidth: A.config.loadingWidth,
|
||
|
loadingHeight: A.config.loadingHeight,
|
||
|
buttonStyle: A.config.buttonStyle
|
||
|
},
|
||
|
on: {
|
||
|
click: A.handleClick
|
||
|
}
|
||
|
}), A.config.showText ? e("TKText", {
|
||
|
attrs: {
|
||
|
width: "70px",
|
||
|
lineClamp: 2,
|
||
|
textStyle: A.config.textStyle,
|
||
|
color: A.config.textColor,
|
||
|
size: A.config.textSize
|
||
|
}
|
||
|
}, [A._v(" " + A._s(A.t("virtual-background")) + " ")]) : A._e()], 1);
|
||
|
}, Qd = [];
|
||
|
const Rn = {};
|
||
|
var Zd = /* @__PURE__ */ S(
|
||
|
xe,
|
||
|
Gd,
|
||
|
Qd,
|
||
|
!1,
|
||
|
Yd,
|
||
|
"6288f616",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Yd(A) {
|
||
|
for (let t in Rn)
|
||
|
this[t] = Rn[t];
|
||
|
}
|
||
|
const Xd = /* @__PURE__ */ function() {
|
||
|
return Zd.exports;
|
||
|
}(), Ve = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
Ve.props = EA;
|
||
|
Ve.setup = (A, t) => {
|
||
|
const {
|
||
|
status: e
|
||
|
} = We(), a = A, n = uA("toggleButtonPanel", I("basicConfig"));
|
||
|
return {
|
||
|
props: a,
|
||
|
config: n,
|
||
|
handleClick: async () => {
|
||
|
e.value = e.value === "close" ? "open" : "close";
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
Ve.components = Object.assign({
|
||
|
Button: pA
|
||
|
}, Ve.components);
|
||
|
var _d = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "btn-content"
|
||
|
}, [e("Button", {
|
||
|
attrs: {
|
||
|
iconSrc: A.config.iconSrc,
|
||
|
color: A.config.color,
|
||
|
iconSize: A.props.iconSize || A.config.iconSize,
|
||
|
width: A.props.width || A.config.width,
|
||
|
height: A.props.height || A.config.height,
|
||
|
shape: A.config.shape
|
||
|
},
|
||
|
on: {
|
||
|
click: A.handleClick
|
||
|
}
|
||
|
})], 1);
|
||
|
}, qd = [];
|
||
|
const kn = {};
|
||
|
var Jd = /* @__PURE__ */ S(
|
||
|
Ve,
|
||
|
_d,
|
||
|
qd,
|
||
|
!1,
|
||
|
Hd,
|
||
|
"dd0c1858",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Hd(A) {
|
||
|
for (let t in kn)
|
||
|
this[t] = kn[t];
|
||
|
}
|
||
|
const Kd = /* @__PURE__ */ function() {
|
||
|
return Jd.exports;
|
||
|
}(), gt = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
gt.setup = (A, t) => {
|
||
|
const e = I(null), a = I({}), {
|
||
|
isGroupCall: n
|
||
|
} = z(q()), {
|
||
|
status: l
|
||
|
} = We() || {}, i = I(!1), u = I(!1), s = I(""), r = wo();
|
||
|
QA(() => {
|
||
|
i.value || (n.value && !j.isPC && r.value !== null ? i.value = !0 : i.value = !1);
|
||
|
});
|
||
|
const M = p(() => X(["button-panel-container", {
|
||
|
pc: j.isPC,
|
||
|
mobile: !j.isPC,
|
||
|
h5: j.isH5,
|
||
|
groupCall: n.value,
|
||
|
singleCall: !n.value,
|
||
|
close: (l == null ? void 0 : l.value) === "close",
|
||
|
open: (l == null ? void 0 : l.value) === "open",
|
||
|
showBackGround: i.value
|
||
|
}])), D = X(["toggle-button-container", {
|
||
|
h5: j.isH5
|
||
|
}]), g = j.isH5 ? {
|
||
|
transitionProperty: "width,height,left,top",
|
||
|
transitionDuration: "0.3s",
|
||
|
transitionTimingFunction: "ease-in"
|
||
|
} : {};
|
||
|
function N(w) {
|
||
|
e.value = w;
|
||
|
}
|
||
|
const {
|
||
|
layout: y,
|
||
|
config: T
|
||
|
} = bM();
|
||
|
J(T, () => {
|
||
|
const w = {}, L = T.value.flat();
|
||
|
for (let m of L) {
|
||
|
const {
|
||
|
name: k,
|
||
|
props: _ = {}
|
||
|
} = m;
|
||
|
_.showText !== !1 && (_.showText = !0), w[k] = _;
|
||
|
}
|
||
|
a.value = w;
|
||
|
}, {
|
||
|
immediate: !0
|
||
|
});
|
||
|
function C(w) {
|
||
|
u.value = w;
|
||
|
}
|
||
|
const E = {
|
||
|
[o.IS_CLICKABLE]: C
|
||
|
};
|
||
|
return aA(() => {
|
||
|
d.watch(c.CALL, E, {
|
||
|
notifyRangeWhenWatch: o.MYSELF
|
||
|
});
|
||
|
}), tA(() => {
|
||
|
d.unwatch(c.CALL, E);
|
||
|
}), gA(mo, u), gA(jo, s), {
|
||
|
focus: e,
|
||
|
showButtonPanelBackground: i,
|
||
|
buttonPanelClassName: M,
|
||
|
toggleButtonContainerClassName: D,
|
||
|
customStyle: g,
|
||
|
handleToggle: N,
|
||
|
layout: y
|
||
|
};
|
||
|
};
|
||
|
gt.components = Object.assign({
|
||
|
Grid: dl,
|
||
|
GridItem: Il,
|
||
|
Accept: Sd,
|
||
|
Reject: wd,
|
||
|
Microphone: vd,
|
||
|
Hangup: pd,
|
||
|
Speaker: Bd,
|
||
|
TKCamera: Md,
|
||
|
VirtualBackground: Xd,
|
||
|
SwitchCamera: Wd,
|
||
|
InviteUser: Yo,
|
||
|
ToggleButtonPanel: Kd
|
||
|
}, gt.components);
|
||
|
var $d = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
class: A.buttonPanelClassName
|
||
|
}, [e("div", {
|
||
|
staticClass: "button-group"
|
||
|
}, [e("Grid", {
|
||
|
attrs: {
|
||
|
unit: "%",
|
||
|
layout: A.layout,
|
||
|
focus: A.focus
|
||
|
},
|
||
|
on: {
|
||
|
toggle: A.handleToggle
|
||
|
}
|
||
|
}, [e("GridItem", {
|
||
|
attrs: {
|
||
|
index: "accept",
|
||
|
height: "auto",
|
||
|
customStyle: A.customStyle
|
||
|
}
|
||
|
}, [e("Accept")], 1), e("GridItem", {
|
||
|
attrs: {
|
||
|
index: "reject",
|
||
|
height: "auto",
|
||
|
customStyle: A.customStyle
|
||
|
}
|
||
|
}, [e("Reject")], 1), e("GridItem", {
|
||
|
attrs: {
|
||
|
index: "microphone",
|
||
|
height: "auto",
|
||
|
customStyle: A.customStyle
|
||
|
}
|
||
|
}, [e("Microphone")], 1), e("GridItem", {
|
||
|
attrs: {
|
||
|
index: "hangup",
|
||
|
height: "auto",
|
||
|
customStyle: A.customStyle
|
||
|
}
|
||
|
}, [e("Hangup")], 1), e("GridItem", {
|
||
|
attrs: {
|
||
|
index: "speaker",
|
||
|
height: "auto",
|
||
|
customStyle: A.customStyle
|
||
|
}
|
||
|
}, [e("Speaker")], 1), e("GridItem", {
|
||
|
attrs: {
|
||
|
index: "camera",
|
||
|
height: "auto",
|
||
|
customStyle: A.customStyle
|
||
|
}
|
||
|
}, [e("TKCamera")], 1), e("GridItem", {
|
||
|
attrs: {
|
||
|
index: "virtualBackground",
|
||
|
height: "auto",
|
||
|
customStyle: A.customStyle
|
||
|
}
|
||
|
}, [e("VirtualBackground")], 1), e("GridItem", {
|
||
|
attrs: {
|
||
|
index: "switchCamera",
|
||
|
height: "auto",
|
||
|
customStyle: A.customStyle
|
||
|
}
|
||
|
}, [e("SwitchCamera")], 1), e("GridItem", {
|
||
|
attrs: {
|
||
|
index: "inviteUser",
|
||
|
height: "auto",
|
||
|
customStyle: A.customStyle
|
||
|
}
|
||
|
}, [e("InviteUser")], 1)], 1)], 1), A.showButtonPanelBackground ? e("div", {
|
||
|
class: A.toggleButtonContainerClassName
|
||
|
}, [e("ToggleButtonPanel")], 1) : A._e()]);
|
||
|
}, AI = [];
|
||
|
const Pn = {};
|
||
|
var eI = /* @__PURE__ */ S(
|
||
|
gt,
|
||
|
$d,
|
||
|
AI,
|
||
|
!1,
|
||
|
tI,
|
||
|
"26c8cb08",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function tI(A) {
|
||
|
for (let t in Pn)
|
||
|
this[t] = Pn[t];
|
||
|
}
|
||
|
const Nl = /* @__PURE__ */ function() {
|
||
|
return eI.exports;
|
||
|
}(), Nt = {};
|
||
|
Nt.setup = (A, t) => {
|
||
|
const {
|
||
|
callStatus: e
|
||
|
} = z(q());
|
||
|
return {
|
||
|
CallStatus: U,
|
||
|
callStatus: e
|
||
|
};
|
||
|
};
|
||
|
Nt.components = Object.assign({
|
||
|
TopBar: Xo,
|
||
|
Waiting: Ko,
|
||
|
MediaContainer: uM,
|
||
|
Tip: rl,
|
||
|
ButtonPanel: Nl
|
||
|
}, Nt.components);
|
||
|
var aI = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "singlecall-container"
|
||
|
}, [e("TopBar"), A.callStatus === A.CallStatus.CALLING ? e("Waiting") : A._e(), e("MediaContainer"), e("Tip"), e("ButtonPanel")], 1);
|
||
|
}, nI = [];
|
||
|
const Wn = {};
|
||
|
var oI = /* @__PURE__ */ S(
|
||
|
Nt,
|
||
|
aI,
|
||
|
nI,
|
||
|
!1,
|
||
|
lI,
|
||
|
"221760b8",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function lI(A) {
|
||
|
for (let t in Wn)
|
||
|
this[t] = Wn[t];
|
||
|
}
|
||
|
const iI = /* @__PURE__ */ function() {
|
||
|
return oI.exports;
|
||
|
}(), pt = {};
|
||
|
pt.setup = (A, t) => ({});
|
||
|
pt.components = Object.assign({
|
||
|
Loading: na
|
||
|
}, pt.components);
|
||
|
var sI = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "stream-loading-container"
|
||
|
}, [e("Loading", {
|
||
|
attrs: {
|
||
|
mode: "dot",
|
||
|
color: "#FFF",
|
||
|
loadingWidth: "50px",
|
||
|
loadingHeight: "50px"
|
||
|
}
|
||
|
})], 1);
|
||
|
}, uI = [];
|
||
|
const Gn = {};
|
||
|
var cI = /* @__PURE__ */ S(
|
||
|
pt,
|
||
|
sI,
|
||
|
uI,
|
||
|
!1,
|
||
|
rI,
|
||
|
"b3ff0e0c",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function rI(A) {
|
||
|
for (let t in Gn)
|
||
|
this[t] = Gn[t];
|
||
|
}
|
||
|
const MI = /* @__PURE__ */ function() {
|
||
|
return cI.exports;
|
||
|
}(), Dt = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
Dt.setup = (A, t) => {
|
||
|
const e = I("local"), a = I(null), n = I(!1);
|
||
|
Ge();
|
||
|
const {
|
||
|
localUserInfoExcludeVolume: l,
|
||
|
remoteUserListExcludeVolume: i
|
||
|
} = z(MA()), {
|
||
|
callStatus: u,
|
||
|
callType: s,
|
||
|
isShowEnableVirtualBackground: r,
|
||
|
callRole: M
|
||
|
} = z(q()), {
|
||
|
netWorkQualityList: D
|
||
|
} = bi(), g = p(() => i.value.length + 1), N = zo(), y = Ri(a, g), T = Uo(), {
|
||
|
isFloatWindow: C
|
||
|
} = z(CA()), E = wo(), {
|
||
|
status: w
|
||
|
} = We() || {}, L = !j.isPC, m = p(() => String(a.value) === "0"), k = p(() => !j.isPC && m.value && l.value.isVideoAvailable), _ = p(() => k.value), Z = p(() => k.value && r.value && j.isWeChat), b = p(() => j.isPC || m.value), P = p(() => j.isPC || C.value ? "%" : "vw"), AA = p(() => [l.value, ...i.value].map((Y) => {
|
||
|
var iA;
|
||
|
if (C.value) {
|
||
|
if (((iA = T.value) == null ? void 0 : iA[Y.domId]) >= 10)
|
||
|
return Y.domId;
|
||
|
} else
|
||
|
return Y.domId;
|
||
|
})), ZA = p(() => !(M.value === K.CALLEE && u.value === U.CALLING && !C.value)), xA = p(() => {
|
||
|
let Y = "";
|
||
|
return M.value === K.CALLEE && u.value === U.CALLING && !C.value && (Y = "hidden"), {
|
||
|
visibility: Y
|
||
|
};
|
||
|
});
|
||
|
function VA(Y) {
|
||
|
a.value = Y, E.value = Y, w.value = Y !== null ? "close" : "open";
|
||
|
}
|
||
|
function bA(Y) {
|
||
|
var iA, dA;
|
||
|
return j.isWeChat ? !((dA = (iA = N.value) == null ? void 0 : iA.find((BA) => BA.userID === Y.userId)) != null && dA.hasVideo) : !Y.isVideoAvailable;
|
||
|
}
|
||
|
function YA(Y) {
|
||
|
var iA, dA;
|
||
|
return j.isWeChat ? !((dA = (iA = N.value) == null ? void 0 : iA.find((BA) => BA.userID === Y.userId)) != null && dA.hasAudio) : !Y.isAudioAvailable;
|
||
|
}
|
||
|
function Ut(Y) {
|
||
|
if (!D.value)
|
||
|
return;
|
||
|
const iA = Y !== l.value.userId;
|
||
|
if (!j.isWeChat && iA)
|
||
|
return;
|
||
|
const dA = D.value.find((BA) => BA.userId === Y);
|
||
|
return dA && (dA == null ? void 0 : dA.quality) >= 4;
|
||
|
}
|
||
|
J([i, s], () => {
|
||
|
var Y, iA;
|
||
|
(iA = (Y = i.value) == null ? void 0 : Y[0]) != null && iA.isEnter && (e.value = "remote"), s.value === F.AUDIO ? n.value = !1 : n.value = !0;
|
||
|
});
|
||
|
const Qe = p(() => X(["groupcall-media-container", {
|
||
|
mobile: !j.isPC,
|
||
|
pc: j.isPC,
|
||
|
"two-layout": g.value === 2 && a.value === null,
|
||
|
float: C.value
|
||
|
}])), Ze = p(() => u.value === U.CALLING && (s.value === F.AUDIO && !l.value.isAudioAvailable || s.value === F.VIDEO && !l.value.isVideoAvailable));
|
||
|
return {
|
||
|
TUIGlobal: j,
|
||
|
focus: a,
|
||
|
localUserInfoExcludeVolume: l,
|
||
|
remoteUserListExcludeVolume: i,
|
||
|
streamLength: g,
|
||
|
layout: y,
|
||
|
volumeMap: T,
|
||
|
isFloatWindow: C,
|
||
|
enableFocus: L,
|
||
|
showSwitchCameraButton: _,
|
||
|
showVirtualBackgroundButton: Z,
|
||
|
showNickName: b,
|
||
|
unit: P,
|
||
|
visibleStreamIdList: AA,
|
||
|
showStream: ZA,
|
||
|
mediaContainerStyle: xA,
|
||
|
changeFocus: VA,
|
||
|
isShowAudioStream: bA,
|
||
|
isMute: YA,
|
||
|
isShowNetWork: Ut,
|
||
|
groupMediaContainerClassName: Qe,
|
||
|
isPusherLoading: Ze
|
||
|
};
|
||
|
};
|
||
|
Dt.components = Object.assign({
|
||
|
Portal: el,
|
||
|
FloatWindow: ul,
|
||
|
Grid: dl,
|
||
|
GridItem: Il,
|
||
|
Pusher: nl,
|
||
|
AudioStream: ll,
|
||
|
StreamLoading: MI,
|
||
|
TKStreamInfo: al,
|
||
|
Player: ol
|
||
|
}, Dt.components);
|
||
|
var dI = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("Portal", {
|
||
|
attrs: {
|
||
|
id: "source",
|
||
|
disabled: !A.isFloatWindow,
|
||
|
source: "#source",
|
||
|
to: "body"
|
||
|
}
|
||
|
}, [e("FloatWindow", [e("div", {
|
||
|
class: A.groupMediaContainerClassName,
|
||
|
style: [A.mediaContainerStyle]
|
||
|
}, [e("Grid", {
|
||
|
attrs: {
|
||
|
unit: A.unit,
|
||
|
"enable-focus": A.enableFocus,
|
||
|
focus: A.focus,
|
||
|
length: A.streamLength,
|
||
|
layout: A.layout
|
||
|
},
|
||
|
on: {
|
||
|
toggle: A.changeFocus
|
||
|
}
|
||
|
}, [e("GridItem", {
|
||
|
key: A.localUserInfoExcludeVolume.userId,
|
||
|
attrs: {
|
||
|
index: 0
|
||
|
}
|
||
|
}, [e("Pusher", {
|
||
|
attrs: {
|
||
|
domId: A.localUserInfoExcludeVolume.domId,
|
||
|
"show-audio-stream": !A.localUserInfoExcludeVolume.isVideoAvailable,
|
||
|
show: A.visibleStreamIdList.includes(A.localUserInfoExcludeVolume.domId) && A.showStream
|
||
|
},
|
||
|
scopedSlots: A._u([{
|
||
|
key: "audio-stream",
|
||
|
fn: function() {
|
||
|
return [e("AudioStream", {
|
||
|
attrs: {
|
||
|
"user-id": A.localUserInfoExcludeVolume.userId,
|
||
|
username: A.localUserInfoExcludeVolume.displayUserInfo,
|
||
|
avatar: A.localUserInfoExcludeVolume.avatar,
|
||
|
"is-video-available": A.localUserInfoExcludeVolume.isVideoAvailable
|
||
|
}
|
||
|
})];
|
||
|
},
|
||
|
proxy: !0
|
||
|
}, {
|
||
|
key: "loading",
|
||
|
fn: function() {
|
||
|
return [A.isPusherLoading ? e("StreamLoading") : A._e()];
|
||
|
},
|
||
|
proxy: !0
|
||
|
}, {
|
||
|
key: "stream-info",
|
||
|
fn: function() {
|
||
|
return [A.isFloatWindow ? A._e() : e("TKStreamInfo", {
|
||
|
attrs: {
|
||
|
"is-self": !0,
|
||
|
"show-nick-name": A.showNickName,
|
||
|
showSwitchCameraButton: A.showSwitchCameraButton,
|
||
|
showVirtualBackgroundButton: A.showVirtualBackgroundButton,
|
||
|
showNetWorkStatus: A.isShowNetWork(A.localUserInfoExcludeVolume.userId),
|
||
|
nickName: A.localUserInfoExcludeVolume.displayUserInfo,
|
||
|
isMuted: !A.localUserInfoExcludeVolume.isAudioAvailable,
|
||
|
volume: A.volumeMap && A.volumeMap[A.localUserInfoExcludeVolume.domId]
|
||
|
}
|
||
|
})];
|
||
|
},
|
||
|
proxy: !0
|
||
|
}])
|
||
|
})], 1), A._l(A.remoteUserListExcludeVolume, function(a, n) {
|
||
|
return e("GridItem", {
|
||
|
key: a.userId,
|
||
|
attrs: {
|
||
|
index: n + 1
|
||
|
}
|
||
|
}, [e("Player", {
|
||
|
attrs: {
|
||
|
domId: a.domId,
|
||
|
"show-audio-stream": A.isShowAudioStream(a),
|
||
|
show: A.visibleStreamIdList.includes(a.domId) && A.showStream
|
||
|
},
|
||
|
scopedSlots: A._u([{
|
||
|
key: "audio-stream",
|
||
|
fn: function() {
|
||
|
return [e("AudioStream", {
|
||
|
attrs: {
|
||
|
"user-id": a.userId,
|
||
|
username: a.displayUserInfo,
|
||
|
avatar: a.avatar
|
||
|
}
|
||
|
})];
|
||
|
},
|
||
|
proxy: !0
|
||
|
}, {
|
||
|
key: "loading",
|
||
|
fn: function() {
|
||
|
return [a.isEnter ? A._e() : e("StreamLoading")];
|
||
|
},
|
||
|
proxy: !0
|
||
|
}, {
|
||
|
key: "stream-info",
|
||
|
fn: function() {
|
||
|
return [A.isFloatWindow ? A._e() : e("TKStreamInfo", {
|
||
|
attrs: {
|
||
|
"show-nick-name": A.TUIGlobal.isPC || String(A.focus) === String(n + 1),
|
||
|
"show-control-button": !1,
|
||
|
showNetWorkStatus: A.isShowNetWork(a.userId),
|
||
|
nickName: a.displayUserInfo,
|
||
|
"is-muted": A.isMute(a),
|
||
|
volume: A.volumeMap && A.volumeMap[a.domId]
|
||
|
}
|
||
|
})];
|
||
|
},
|
||
|
proxy: !0
|
||
|
}], null, !0)
|
||
|
})], 1);
|
||
|
})], 2)], 1)])], 1);
|
||
|
}, II = [];
|
||
|
const Qn = {};
|
||
|
var gI = /* @__PURE__ */ S(
|
||
|
Dt,
|
||
|
dI,
|
||
|
II,
|
||
|
!1,
|
||
|
NI,
|
||
|
"4c7859ad",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function NI(A) {
|
||
|
for (let t in Qn)
|
||
|
this[t] = Qn[t];
|
||
|
}
|
||
|
const pI = /* @__PURE__ */ function() {
|
||
|
return gI.exports;
|
||
|
}(), Ca = {};
|
||
|
Ca.props = {
|
||
|
moduleValue: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
isHeaderShow: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
isFooterShow: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
background: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
title: {
|
||
|
type: String,
|
||
|
default: ""
|
||
|
},
|
||
|
center: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
isH5: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
}
|
||
|
};
|
||
|
Ca.setup = (A, t) => {
|
||
|
const e = {
|
||
|
OUTSIDE: "outside",
|
||
|
INSIDE: "inside"
|
||
|
}, a = A, n = I(!0), l = I(!0), i = I(!0), u = I("");
|
||
|
QA(() => {
|
||
|
u.value = a.title, n.value = a.isHeaderShow, l.value = a.isFooterShow, i.value = a.background;
|
||
|
});
|
||
|
const s = t.emit, r = (g) => {
|
||
|
g === e.OUTSIDE && M();
|
||
|
}, M = () => {
|
||
|
s("update:moduleValue", !1);
|
||
|
};
|
||
|
return {
|
||
|
t: v,
|
||
|
clickType: e,
|
||
|
props: a,
|
||
|
isHeaderShowDialog: n,
|
||
|
isFooterShowDialog: l,
|
||
|
backgroundDialog: i,
|
||
|
showTitle: u,
|
||
|
toggleView: r,
|
||
|
close: M,
|
||
|
submit: () => {
|
||
|
s("submit"), M();
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
var DI = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return A.moduleValue ? e("div", {
|
||
|
staticClass: "dialog",
|
||
|
class: [A.props.isH5 ? "dialog-h5" : "", A.center ? "center" : ""],
|
||
|
on: {
|
||
|
click: function(a) {
|
||
|
return a.stopPropagation(), a.preventDefault(), A.toggleView(A.clickType.OUTSIDE);
|
||
|
}
|
||
|
}
|
||
|
}, [e("main", {
|
||
|
staticClass: "dialog-main",
|
||
|
class: [A.backgroundDialog ? "" : "dialog-main-back"],
|
||
|
on: {
|
||
|
click: function(a) {
|
||
|
return a.stopPropagation(), a.preventDefault(), A.toggleView(A.clickType.INSIDE);
|
||
|
}
|
||
|
}
|
||
|
}, [A.isHeaderShowDialog ? e("header", {
|
||
|
staticClass: "dialog-main-header"
|
||
|
}, [e("h1", {
|
||
|
staticClass: "dialog-main-title"
|
||
|
}, [A._v(A._s(A.showTitle))]), e("i", {
|
||
|
staticClass: "icon icon-close",
|
||
|
on: {
|
||
|
click: A.close
|
||
|
}
|
||
|
})]) : A._e(), e("div", {
|
||
|
staticClass: "dialog-main-content",
|
||
|
class: [A.props.isH5 ? "dialog-main-content-uniapp" : ""]
|
||
|
}, [A._t("default")], 2), A.isFooterShowDialog ? e("footer", {
|
||
|
staticClass: "dialog-main-footer"
|
||
|
}, [e("button", {
|
||
|
staticClass: "btn btn-cancel",
|
||
|
on: {
|
||
|
click: A.close
|
||
|
}
|
||
|
}, [A._v(A._s(A.t("Cancel")))]), e("button", {
|
||
|
staticClass: "btn btn-default",
|
||
|
on: {
|
||
|
click: A.submit
|
||
|
}
|
||
|
}, [A._v(A._s(A.t("Done")))])]) : A._e()])]) : A._e();
|
||
|
}, TI = [];
|
||
|
const Zn = {};
|
||
|
var CI = /* @__PURE__ */ S(
|
||
|
Ca,
|
||
|
DI,
|
||
|
TI,
|
||
|
!1,
|
||
|
yI,
|
||
|
"5c01d70e",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function yI(A) {
|
||
|
for (let t in Zn)
|
||
|
this[t] = Zn[t];
|
||
|
}
|
||
|
const SI = /* @__PURE__ */ function() {
|
||
|
return CI.exports;
|
||
|
}(), ya = {};
|
||
|
ya.props = {
|
||
|
file: {
|
||
|
type: String,
|
||
|
default: ""
|
||
|
},
|
||
|
width: {
|
||
|
type: String,
|
||
|
default: "20px"
|
||
|
},
|
||
|
height: {
|
||
|
type: String,
|
||
|
default: "20px"
|
||
|
},
|
||
|
isApp: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
}
|
||
|
};
|
||
|
ya.setup = (A, t) => {
|
||
|
const e = t.emit;
|
||
|
return {
|
||
|
props: A,
|
||
|
handlerImgClick: () => {
|
||
|
e("click");
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
var EI = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "icon",
|
||
|
on: {
|
||
|
click: A.handlerImgClick
|
||
|
}
|
||
|
}, [A.props.isApp ? e("image", {
|
||
|
staticClass: "icon",
|
||
|
style: {
|
||
|
width: A.props.width,
|
||
|
height: A.props.height
|
||
|
},
|
||
|
attrs: {
|
||
|
src: A.props.file
|
||
|
}
|
||
|
}) : e("img", {
|
||
|
staticClass: "icon",
|
||
|
style: {
|
||
|
width: A.props.width,
|
||
|
height: A.props.height
|
||
|
},
|
||
|
attrs: {
|
||
|
src: A.props.file
|
||
|
}
|
||
|
})]);
|
||
|
}, hI = [];
|
||
|
const Yn = {};
|
||
|
var mI = /* @__PURE__ */ S(
|
||
|
ya,
|
||
|
EI,
|
||
|
hI,
|
||
|
!1,
|
||
|
jI,
|
||
|
"c4142a3c",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function jI(A) {
|
||
|
for (let t in Yn)
|
||
|
this[t] = Yn[t];
|
||
|
}
|
||
|
const vI = /* @__PURE__ */ function() {
|
||
|
return mI.exports;
|
||
|
}(), fI = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIHZlcnNpb249IjEuMSI+CiAgPHRpdGxlPue8lue7hCAxNDwvdGl0bGU+CiAgPGRlZnM+CiAgICA8ZmlsdGVyIHg9Ii0xMC42JSIgeT0iLTUuNCUiIHdpZHRoPSIxMjEuMiUiIGhlaWdodD0iMTEwLjklIiBmaWx0ZXJVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIGlkPSJmaWx0ZXItMSI+CiAgICAgIDxmZU9mZnNldCBkeD0iMCIgZHk9IjciIGluPSJTb3VyY2VBbHBoYSIgcmVzdWx0PSJzaGFkb3dPZmZzZXRPdXRlcjEiPjwvZmVPZmZzZXQ+CiAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjEwIiBpbj0ic2hhZG93T2Zmc2V0T3V0ZXIxIiByZXN1bHQ9InNoYWRvd0JsdXJPdXRlcjEiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwICAgMCAwIDAgMCAwICAgMCAwIDAgMCAwICAwIDAgMCAwLjEgMCIgdHlwZT0ibWF0cml4IiBpbj0ic2hhZG93Qmx1ck91dGVyMSIgcmVzdWx0PSJzaGFkb3dNYXRyaXhPdXRlcjEiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgPGZlTWVyZ2U+CiAgICAgICAgPGZlTWVyZ2VOb2RlIGluPSJzaGFkb3dNYXRyaXhPdXRlcjEiPjwvZmVNZXJnZU5vZGU+CiAgICAgICAgPGZlTWVyZ2VOb2RlIGluPSJTb3VyY2VHcmFwaGljIj48L2ZlTWVyZ2VOb2RlPgogICAgICA8L2ZlTWVyZ2U+CiAgICA8L2ZpbHRlcj4KICA8L2RlZnM+CiAgPGcgaWQ9Im5ldyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICA8ZyBpZD0i6Ieq5a6a5LmJ5raI5oGvIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDU4LjAwMDAwMCwgLTMxOC4wMDAwMDApIj4KICAgICAgPGcgaWQ9Iue8lue7hC0zMiIgZmlsdGVyPSJ1cmwoI2ZpbHRlci0xKSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDQuMDAwMDAwLCA2MC4wMDAwMDApIj4KICAgICAgICA8ZyBpZD0i57yW57uELTI0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMC4wMDAwMDAsIDI1MC4wMDAwMDApIj4KICAgICAgICAgIDxnIGlkPSLnvJbnu4QtMTQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM4NC4wMDAwMDAsIDguMDAwMDAwKSI+CiAgICAgICAgICAgIDxjaXJjbGUgaWQ9IuakreWchuW9oiIgZmlsbD0iIzAwNkVGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBjeD0iOCIgY3k9IjgiIHI9IjgiPjwvY2lyY2xlPgogICAgICAgICAgICA8cG9seWxpbmUgaWQ9Iui3r+W+hC00IiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOC4wNDI2NDEsIDYuMjQyNjQxKSByb3RhdGUoLTMxNS4wMDAwMDApIHRyYW5zbGF0ZSgtOC4wNDI2NDEsIC02LjI0MjY0MSkgIiBwb2ludHM9IjYuMDQyNjQwNjkgMTAuMjQyNjQwNyAxMC4wNDI2NDA3IDEwLjI0MjY0MDcgMTAuMDQyNjQwNyAyLjI0MjY0MDY5Ij48L3BvbHlsaW5lPgogICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgICAgPC9nPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==", LI = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDhweCIgaGVpZ2h0PSI0OHB4IiB2aWV3Qm94PSIwIDAgNDggNDgiIHZlcnNpb249IjEuMSI+CiAgPHRpdGxlPmljX2JhY2tfd2hpdGU8L3RpdGxlPgogIDxnIGlkPSLpobXpnaItMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICA8ZyBpZD0iMDIuLeafpeeci+S/oeaBry3npLrkvovlpb3lj4siIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zMi4wMDAwMDAsIC0yMDAuMDAwMDAwKSI+CiAgICAgIDxnIGlkPSLnvJbnu4QtNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDE3Ni4wMDAwMDApIj4KICAgICAgICA8ZyBpZD0iaWNfYmFja193aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzIuMDAwMDAwLCAyNC4wMDAwMDApIj4KICAgICAgICAgIDxnIGlkPSJpY19iYWNrX2JsYWNrIiBmaWxsPSIjNDQ0NDQ0IiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICA8cGF0aCBkPSJNOS41MTIzMTA3MSwyNCBMMjMuNTE5ODI4NiwzOC43MjkwNDExIEMyMy43ODUzNzgsMzkuMDA4MjY4OSAyMy43NzUzMTY4LDM5LjQ0OTYwODIgMjMuNDk3MzE4NywzOS43MTY0NDQ4IEwyMS42MjU1OTE1LDQxLjUxMzAyMjYgQzIxLjM0NjY4MjcsNDEuNzgwNzMzMiAyMC45MDM1NjAyLDQxLjc3MTY1NTMgMjAuNjM1ODQ5Niw0MS40OTI3NDY2IEMyMC42MzUxMDMyLDQxLjQ5MTk2OSAyMC42MzQzNTg2LDQxLjQ5MTE4OTYgMjAuNjMzNjE1Nyw0MS40OTA0MDg1IEw0LjQ1ODc2Mzk5LDI0LjQ4MjM5NDggQzQuMjAxNzU0NCwyNC4yMTIxNDY3IDQuMjAxNzU0NCwyMy43ODc4NTMzIDQuNDU4NzYzOTksMjMuNTE3NjA1MiBMMjAuNjMzNjE1Nyw2LjUwOTU5MTUyIEMyMC45MDAwMzUsNi4yMjk0NDkwNiAyMS4zNDMxMTA5LDYuMjE4MzI0MjIgMjEuNjIzMjUzMyw2LjQ4NDc0MzUxIEMyMS42MjQwMzQ0LDYuNDg1NDg2MzQgMjEuNjI0ODEzOCw2LjQ4NjIzMDk3IDIxLjYyNTU5MTUsNi40ODY5Nzc0MSBMMjMuNDk3MzE4Nyw4LjI4MzU1NTI0IEMyMy43NzUzMTY4LDguNTUwMzkxNzUgMjMuNzg1Mzc4LDguOTkxNzMxMTQgMjMuNTE5ODI4Niw5LjI3MDk1ODkzIEw5LjUxMjMxMDcxLDI0IEw5LjUxMjMxMDcxLDI0IFoiIGlkPSJQYXRoLTIiPjwvcGF0aD4KICAgICAgICAgIDwvZz4KICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PC9yZWN0Pgo
|
||
|
be.props = {
|
||
|
list: {
|
||
|
type: Array,
|
||
|
default: () => []
|
||
|
},
|
||
|
selectedList: {
|
||
|
type: Array,
|
||
|
default: () => []
|
||
|
},
|
||
|
isSearch: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
isRadio: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
isCustomItem: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
title: {
|
||
|
type: String,
|
||
|
default: ""
|
||
|
},
|
||
|
type: {
|
||
|
type: String,
|
||
|
default: ""
|
||
|
},
|
||
|
resultShow: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
total: {
|
||
|
type: Number,
|
||
|
default: 0
|
||
|
},
|
||
|
isH5: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
}
|
||
|
};
|
||
|
be.setup = (A, t) => {
|
||
|
const e = A, a = t.emit, n = I(""), l = I([]), i = I(0), u = I([]), s = I(!0), r = I(!1), M = I(""), D = I("");
|
||
|
QA(() => {
|
||
|
const {
|
||
|
list: L,
|
||
|
isCustomItem: m,
|
||
|
isSearch: k,
|
||
|
title: _,
|
||
|
total: Z,
|
||
|
selectedList: b
|
||
|
} = e;
|
||
|
if (m)
|
||
|
for (let P = 0; P < L.length; P++)
|
||
|
L[P].conversationID.indexOf("@TIM#SYSTEM") > -1 && L.splice(P, 1), l.value = L;
|
||
|
else
|
||
|
l.value = L;
|
||
|
i.value = Z || L.length, u.value = b && b.length > 0 ? b : u.value, s.value = k, r.value = m, M.value = _, n.value = e.type;
|
||
|
});
|
||
|
const g = p(() => l.value.filter((L) => !L.isDisabled));
|
||
|
return {
|
||
|
t: v,
|
||
|
selectedIcon: fI,
|
||
|
backIcon: LI,
|
||
|
cancelIcon: UI,
|
||
|
props: e,
|
||
|
transferList: l,
|
||
|
transferTotal: i,
|
||
|
transferSelectedList: u,
|
||
|
isTransferSearch: s,
|
||
|
isTransferCustomItem: r,
|
||
|
transferTitle: M,
|
||
|
searchValue: D,
|
||
|
optional: g,
|
||
|
handleInput: (L) => {
|
||
|
D.value = L.target.value, a("search", L.target.value);
|
||
|
},
|
||
|
selected: (L) => {
|
||
|
if (L.isDisabled)
|
||
|
return;
|
||
|
let m = u.value;
|
||
|
const k = m.indexOf(L);
|
||
|
if (k > -1)
|
||
|
return u.value.splice(k, 1);
|
||
|
e.isRadio && (m = []), m.push(L), u.value = m;
|
||
|
},
|
||
|
selectedAll: () => {
|
||
|
u.value.length === g.value.length ? u.value = [] : u.value = [...g.value];
|
||
|
},
|
||
|
submit: () => {
|
||
|
a("submit", u.value), D.value = "";
|
||
|
},
|
||
|
cancel: () => {
|
||
|
a("cancel"), D.value = "";
|
||
|
},
|
||
|
getMore: () => {
|
||
|
a("getMore");
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
be.components = Object.assign({
|
||
|
TIcon: vI
|
||
|
}, be.components);
|
||
|
var zI = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "transfer",
|
||
|
class: [A.props.isH5 ? "transfer-h5" : ""]
|
||
|
}, [A.props.isH5 ? e("header", {
|
||
|
staticClass: "transfer-header transfer-h5-header",
|
||
|
on: {
|
||
|
click: A.cancel
|
||
|
}
|
||
|
}, [e("TIcon", {
|
||
|
staticClass: "icon",
|
||
|
attrs: {
|
||
|
file: A.backIcon,
|
||
|
width: "18px",
|
||
|
height: "18px"
|
||
|
}
|
||
|
}), e("span", {
|
||
|
staticClass: "title"
|
||
|
}, [A._v(A._s(A.transferTitle))]), e("span", {
|
||
|
staticClass: "space"
|
||
|
})], 1) : A._e(), e("main", {
|
||
|
staticClass: "main"
|
||
|
}, [e("div", {
|
||
|
staticClass: "left"
|
||
|
}, [e("header", {
|
||
|
staticClass: "transfer-header"
|
||
|
}, [!A.props.isH5 && A.isTransferSearch ? e("input", {
|
||
|
class: [A.props.isH5 ? "left-uniapp-input" : ""],
|
||
|
attrs: {
|
||
|
type: "text",
|
||
|
placeholder: A.t("Please enter userID"),
|
||
|
enterkeyhint: "search"
|
||
|
},
|
||
|
domProps: {
|
||
|
value: A.searchValue
|
||
|
},
|
||
|
on: {
|
||
|
keyup: function(a) {
|
||
|
return !a.type.indexOf("key") && A._k(a.keyCode, "enter", 13, a.key, "Enter") ? null : A.handleInput.apply(null, arguments);
|
||
|
}
|
||
|
}
|
||
|
}) : A._e(), A.props.isH5 && A.isTransferSearch ? e("input", {
|
||
|
class: [A.props.isH5 ? "left-uniapp-input" : ""],
|
||
|
attrs: {
|
||
|
type: "text",
|
||
|
placeholder: A.t("Please enter userID"),
|
||
|
enterkeyhint: "search"
|
||
|
},
|
||
|
domProps: {
|
||
|
value: A.searchValue
|
||
|
},
|
||
|
on: {
|
||
|
blur: A.handleInput,
|
||
|
confirm: A.handleInput
|
||
|
}
|
||
|
}) : A._e()]), e("main", {
|
||
|
staticClass: "transfer-left-main"
|
||
|
}, [e("ul", {
|
||
|
staticClass: "transfer-list"
|
||
|
}, [A.optional.length > 1 && !A.isRadio ? e("li", {
|
||
|
staticClass: "transfer-list-item",
|
||
|
on: {
|
||
|
click: A.selectedAll
|
||
|
}
|
||
|
}, [A.transferSelectedList.length === A.optional.length ? e("TIcon", {
|
||
|
attrs: {
|
||
|
file: A.selectedIcon,
|
||
|
width: "18px",
|
||
|
height: "18px"
|
||
|
}
|
||
|
}) : e("i", {
|
||
|
staticClass: "icon-unselected"
|
||
|
}), e("span", {
|
||
|
staticClass: "select-all"
|
||
|
}, [A._v(A._s(A.t("Select all")))])], 1) : A._e(), A._l(A.transferList, function(a) {
|
||
|
return e("li", {
|
||
|
key: a.userID,
|
||
|
staticClass: "transfer-list-item",
|
||
|
on: {
|
||
|
click: function(n) {
|
||
|
return A.selected(a);
|
||
|
}
|
||
|
}
|
||
|
}, [A.transferSelectedList.indexOf(a) > -1 ? e("TIcon", {
|
||
|
class: [a.isDisabled && "disabled"],
|
||
|
attrs: {
|
||
|
file: A.selectedIcon,
|
||
|
width: "18px",
|
||
|
height: "18px"
|
||
|
}
|
||
|
}) : e("i", {
|
||
|
class: [a.isDisabled && "disabled", "icon-unselected"]
|
||
|
}), A.isTransferCustomItem ? [A._t("left", null, {
|
||
|
data: a
|
||
|
})] : [e("img", {
|
||
|
staticClass: "avatar",
|
||
|
attrs: {
|
||
|
src: a.avatar || "https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png",
|
||
|
onerror: "this.src='https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png'"
|
||
|
}
|
||
|
}), e("span", {
|
||
|
staticClass: "name"
|
||
|
}, [A._v(A._s(a.nick || a.userID))]), a.isDisabled ? e("span") : A._e()]], 2);
|
||
|
}), A.transferTotal > A.transferList.length ? e("li", {
|
||
|
staticClass: "transfer-list-item more",
|
||
|
on: {
|
||
|
click: A.getMore
|
||
|
}
|
||
|
}, [A._v(" " + A._s(A.t("View more")) + " ")]) : A._e()], 2)])]), e("div", {
|
||
|
staticClass: "right"
|
||
|
}, [A.props.isH5 ? A._e() : e("header", {
|
||
|
staticClass: "transfer-header"
|
||
|
}, [A._v(" " + A._s(A.transferTitle) + " ")]), A.resultShow ? e("ul", {
|
||
|
staticClass: "transfer-list"
|
||
|
}, [A.transferSelectedList.length > 0 && !A.props.isH5 ? e("p", {
|
||
|
staticClass: "transfer-text"
|
||
|
}, [A._v(" " + A._s(A.transferSelectedList.length) + " " + A._s(A.t("people selected")) + " ")]) : A._e(), A._l(A.transferSelectedList, function(a, n) {
|
||
|
return e("li", {
|
||
|
key: n,
|
||
|
staticClass: "transfer-list-item space-between"
|
||
|
}, [e("aside", {
|
||
|
staticClass: "transfer-list-item-content"
|
||
|
}, [A.isTransferCustomItem ? [A._t("right", null, {
|
||
|
data: a
|
||
|
})] : [e("img", {
|
||
|
staticClass: "avatar",
|
||
|
attrs: {
|
||
|
src: a.avatar || "https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png",
|
||
|
onerror: "this.src='https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png'"
|
||
|
}
|
||
|
}), A.props.isH5 ? A._e() : e("span", {
|
||
|
staticClass: "name"
|
||
|
}, [A._v(A._s(a.nick || a.userID))])]], 2), A.props.isH5 ? A._e() : e("span", {
|
||
|
on: {
|
||
|
click: function(l) {
|
||
|
return A.selected(a);
|
||
|
}
|
||
|
}
|
||
|
}, [e("TIcon", {
|
||
|
attrs: {
|
||
|
file: A.cancelIcon,
|
||
|
width: "18px",
|
||
|
height: "18px"
|
||
|
}
|
||
|
})], 1)]);
|
||
|
})], 2) : A._e(), e("footer", {
|
||
|
staticClass: "transfer-right-footer"
|
||
|
}, [e("button", {
|
||
|
staticClass: "btn btn-cancel",
|
||
|
on: {
|
||
|
click: A.cancel
|
||
|
}
|
||
|
}, [A._v(A._s(A.t("Cancel")))]), A.transferSelectedList.length > 0 ? e("button", {
|
||
|
staticClass: "btn",
|
||
|
on: {
|
||
|
click: A.submit
|
||
|
}
|
||
|
}, [A._v(" " + A._s(A.t("Done")) + " ")]) : e("button", {
|
||
|
staticClass: "btn btn-no",
|
||
|
on: {
|
||
|
click: A.submit
|
||
|
}
|
||
|
}, [A._v(A._s(A.t("Done")))])])])])]);
|
||
|
}, wI = [];
|
||
|
const Xn = {};
|
||
|
var OI = /* @__PURE__ */ S(
|
||
|
be,
|
||
|
zI,
|
||
|
wI,
|
||
|
!1,
|
||
|
xI,
|
||
|
"f41767b6",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function xI(A) {
|
||
|
for (let t in Xn)
|
||
|
this[t] = Xn[t];
|
||
|
}
|
||
|
const VI = /* @__PURE__ */ function() {
|
||
|
return OI.exports;
|
||
|
}(), Be = {};
|
||
|
Be.props = {
|
||
|
isRadio: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
isNeedSearch: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
title: {
|
||
|
type: String,
|
||
|
default: ""
|
||
|
},
|
||
|
userList: {
|
||
|
type: Array,
|
||
|
default: () => []
|
||
|
},
|
||
|
total: {
|
||
|
type: Number,
|
||
|
default: 0
|
||
|
},
|
||
|
isShow: {
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
isPC: {
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
}
|
||
|
};
|
||
|
Be.setup = (A, t) => {
|
||
|
const e = t.emit, a = A, n = I(!1);
|
||
|
return QA(() => {
|
||
|
n.value = a.isShow;
|
||
|
}), {
|
||
|
props: a,
|
||
|
dialogVisible: n,
|
||
|
reset: () => {
|
||
|
n.value = !n.value, e("complete", []), e("update:isShow", n.value);
|
||
|
},
|
||
|
submit: (r) => {
|
||
|
e("complete", r);
|
||
|
},
|
||
|
handleSearchUser: (r) => {
|
||
|
e("search", r);
|
||
|
},
|
||
|
handleGetMore: () => {
|
||
|
e("getMore");
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
Be.components = Object.assign({
|
||
|
TDialog: SI,
|
||
|
TTransfer: VI
|
||
|
}, Be.components);
|
||
|
var bI = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("TDialog", {
|
||
|
attrs: {
|
||
|
moduleValue: A.dialogVisible,
|
||
|
isH5: !A.isPC,
|
||
|
isHeaderShow: !1,
|
||
|
isFooterShow: !1,
|
||
|
background: !1
|
||
|
},
|
||
|
on: {
|
||
|
"update:moduleValue": A.reset
|
||
|
}
|
||
|
}, [e("TTransfer", {
|
||
|
attrs: {
|
||
|
isSearch: A.props.isNeedSearch,
|
||
|
title: A.props.title,
|
||
|
list: A.props.userList,
|
||
|
isH5: !A.isPC,
|
||
|
isRadio: A.props.isRadio,
|
||
|
total: A.props.total
|
||
|
},
|
||
|
on: {
|
||
|
getMore: A.handleGetMore,
|
||
|
search: A.handleSearchUser,
|
||
|
submit: A.submit,
|
||
|
cancel: A.reset
|
||
|
}
|
||
|
})], 1);
|
||
|
}, BI = [];
|
||
|
const _n = {};
|
||
|
var FI = /* @__PURE__ */ S(
|
||
|
Be,
|
||
|
bI,
|
||
|
BI,
|
||
|
!1,
|
||
|
RI,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function RI(A) {
|
||
|
for (let t in _n)
|
||
|
this[t] = _n[t];
|
||
|
}
|
||
|
const kI = /* @__PURE__ */ function() {
|
||
|
return FI.exports;
|
||
|
}(), Tt = {
|
||
|
options: {
|
||
|
virtualHost: !0
|
||
|
}
|
||
|
};
|
||
|
Tt.setup = (A, t) => ({
|
||
|
defaultAvatarSrc: GA
|
||
|
});
|
||
|
Tt.components = Object.assign({
|
||
|
Overlay: _o
|
||
|
}, Tt.components);
|
||
|
var PI = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("Overlay", {
|
||
|
attrs: {
|
||
|
bgColor: "#22262ed9",
|
||
|
bgImage: A.defaultAvatarSrc,
|
||
|
customStyle: {
|
||
|
position: "absolute",
|
||
|
zIndex: 0
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
}, WI = [];
|
||
|
const qn = {};
|
||
|
var GI = /* @__PURE__ */ S(
|
||
|
Tt,
|
||
|
PI,
|
||
|
WI,
|
||
|
!1,
|
||
|
QI,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function QI(A) {
|
||
|
for (let t in qn)
|
||
|
this[t] = qn[t];
|
||
|
}
|
||
|
const ZI = /* @__PURE__ */ function() {
|
||
|
return GI.exports;
|
||
|
}(), Ct = {};
|
||
|
Ct.setup = (A, t) => {
|
||
|
const e = I(null), a = I("open"), n = I(!1), l = I(0), i = I([]), u = I([]), s = I(0), r = 30, M = e, D = {
|
||
|
status: a
|
||
|
}, {
|
||
|
callRole: g,
|
||
|
callStatus: N
|
||
|
} = z(q()), {
|
||
|
isFloatWindow: y
|
||
|
} = z(CA()), {
|
||
|
localUserInfoExcludeVolume: T,
|
||
|
remoteUserListExcludeVolume: C
|
||
|
} = z(MA()), E = async (b) => {
|
||
|
if (n.value = b, n.value) {
|
||
|
await m();
|
||
|
const P = await O.getGroupProfile();
|
||
|
l.value = P.memberCount;
|
||
|
}
|
||
|
}, w = () => {
|
||
|
n.value = !1, d.update(c.CALL, o.SHOW_SELECT_USER, !1), s.value = 0, i.value = [];
|
||
|
}, L = async () => {
|
||
|
s.value += r, await m();
|
||
|
}, m = async () => {
|
||
|
const b = await O.getGroupMemberList(r, s.value), P = [...C.value, T.value].map((AA) => AA.userId);
|
||
|
i.value.push(...b), i.value = i.value.map((AA) => (P.includes(AA.userID) && (AA = {
|
||
|
...AA,
|
||
|
isDisabled: !0
|
||
|
}), AA)), u.value = i.value;
|
||
|
}, k = async (b) => {
|
||
|
try {
|
||
|
if (b.length <= 0)
|
||
|
return;
|
||
|
n.value = !1, d.update(c.CALL, o.SHOW_SELECT_USER, !1), s.value = 0;
|
||
|
const P = b.map((AA) => AA.userID);
|
||
|
await O.inviteUser({
|
||
|
userIDList: P
|
||
|
}), i.value = [];
|
||
|
} catch (P) {
|
||
|
console.debug(P);
|
||
|
}
|
||
|
}, _ = (b) => {
|
||
|
b ? i.value = i.value.filter((P) => P.userID.includes(b) || P.nick.includes(b)) : i.value = u.value;
|
||
|
}, Z = {
|
||
|
[o.SHOW_SELECT_USER]: E
|
||
|
};
|
||
|
return aA(() => {
|
||
|
d.watch(c.CALL, Z, {
|
||
|
notifyRangeWhenWatch: o.MYSELF
|
||
|
});
|
||
|
}), tA(() => {
|
||
|
d.unwatch(c.CALL, Z);
|
||
|
}), D.status = I("open"), M.value = null, gA(Eo, D), gA(So, M), {
|
||
|
CallRole: K,
|
||
|
CallStatus: U,
|
||
|
TUIGlobal: j,
|
||
|
showSelectUser: n,
|
||
|
memberCount: l,
|
||
|
groupMemberList: i,
|
||
|
callRole: g,
|
||
|
callStatus: N,
|
||
|
isFloatWindow: y,
|
||
|
handleCancel: w,
|
||
|
getMoreMemberList: L,
|
||
|
handleSelectedResult: k,
|
||
|
handleSearch: _
|
||
|
};
|
||
|
};
|
||
|
Ct.components = Object.assign({
|
||
|
TopBar: Xo,
|
||
|
Waiting: Ko,
|
||
|
MediaContainer: pI,
|
||
|
Tip: rl,
|
||
|
ButtonPanel: Nl,
|
||
|
BackGround: ZI,
|
||
|
SelectUser: kI
|
||
|
}, Ct.components);
|
||
|
var YI = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "groupcall-container"
|
||
|
}, [e("TopBar"), A.callStatus === A.CallStatus.CALLING && A.callRole === A.CallRole.CALLEE && !A.isFloatWindow ? e("Waiting") : A._e(), e("MediaContainer"), e("Tip"), e("ButtonPanel"), e("BackGround"), e("SelectUser", {
|
||
|
attrs: {
|
||
|
isShow: A.showSelectUser,
|
||
|
isNeedSearch: !0,
|
||
|
userList: A.groupMemberList,
|
||
|
isPC: A.TUIGlobal.isPC,
|
||
|
total: A.memberCount
|
||
|
},
|
||
|
on: {
|
||
|
getMore: A.getMoreMemberList,
|
||
|
complete: A.handleSelectedResult,
|
||
|
search: A.handleSearch,
|
||
|
"update:isShow": A.handleCancel
|
||
|
}
|
||
|
})], 1);
|
||
|
}, XI = [];
|
||
|
const Jn = {};
|
||
|
var _I = /* @__PURE__ */ S(
|
||
|
Ct,
|
||
|
YI,
|
||
|
XI,
|
||
|
!1,
|
||
|
qI,
|
||
|
"487ae8a3",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function qI(A) {
|
||
|
for (let t in Jn)
|
||
|
this[t] = Jn[t];
|
||
|
}
|
||
|
const JI = /* @__PURE__ */ function() {
|
||
|
return _I.exports;
|
||
|
}();
|
||
|
var HI = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("svg", {
|
||
|
attrs: {
|
||
|
viewBox: "0 0 1024 1024",
|
||
|
xmlns: "http://www.w3.org/2000/svg",
|
||
|
"data-v-ea893728": ""
|
||
|
}
|
||
|
}, [e("path", {
|
||
|
attrs: {
|
||
|
fill: "currentColor",
|
||
|
d: "M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"
|
||
|
}
|
||
|
})]);
|
||
|
}, KI = [];
|
||
|
const $I = {}, Hn = {};
|
||
|
var Ag = /* @__PURE__ */ S(
|
||
|
$I,
|
||
|
HI,
|
||
|
KI,
|
||
|
!1,
|
||
|
eg,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function eg(A) {
|
||
|
for (let t in Hn)
|
||
|
this[t] = Hn[t];
|
||
|
}
|
||
|
const tg = /* @__PURE__ */ function() {
|
||
|
return Ag.exports;
|
||
|
}(), Kn = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAMAAYAAD/2wBDABYPEBMQDhYTEhMYFxYaIDYjIB4eIEIvMic2TkVSUU1FTEpWYXxpVlx1XUpMbJNtdYCEi4yLVGiZo5eHonyIi4b/2wBDARcYGCAcID8jIz+GWUxZhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhob/wAARCAOABTgDASIAAhEBAxEB/8QAGwABAAIDAQEAAAAAAAAAAAAAAAECAwQFBgf/xABOEAABAwICBQcIBwYFAwQCAwEAAQIDBBEFEhMhMVFSFBUyQZGS0RYiU1RhcaLhNDVkcoGxwQYjM0JzoSSCg8LwQ2KTJWN0siY2RFXxlP/EABkBAQADAQEAAAAAAAAAAAAAAAABAwQCBf/EACsRAQABAwQBAwQDAQEBAQAAAAABAgNRERMUUhIEMUEhMlNxM0JhIjSBof/aAAwDAQACEQMRAD8A4OHYfPiVSkMKe1zl2NTeexoP2eoKNqZoknk63ypf+2xCf2coko8Ljdb95Mmkevv2f2OodTLqZVaxjOgxrfc2xe67yAcoTdd4uu8gATdd4uu8gATdd4uu8gATdd4uu8gATdRdSABN13i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm6i6kACbqLqQAJuoupAAm67xdd5AAm67xdd5AAm67xdSABN1F1IAE3UXUgATdRdSABV0bHpZ7Gu97bnOrsAoaxq5Ykgk6nxpb+2w6YA+e4hQTYdUrDMnta5NjkB679oaJKvDJFt+8hTOxfdt/sAh0YmZImMTY1qIXACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhVsgEgjLfaMqbgJBGVNwypuAkEZU3DKm4CQRlTcMqbgJBGVNwypuAkEZU3DKm4CQRlTcMqbgJBGVNwypuAkEZU3DKm4CQRlTcMqbgJBGVNwypuAkEZU3DKm4CQRlTcMqbgJBGVNwypuAkEZU3DKm4CQRlTcMqbgJBGVNwypuAkEZU3DKm4CQRlTcMqbgJBGVBsXXsAkAAUlZpInsX+ZqoC4AAAAAAABya6te6R0cTsrG6lVNqqRM6O7dubk6Q6wPOW15uvf1m7Q1r2yJHK7Mx2pFXainMXIlfX6aaY1idXWAB2ygNWaZXOVrVs1NSqnWYLJe9te8zV+pimdIjVbTamY1dEGrBMrXI1y3aupFXqNout3IrjWHFVM0zpIAYJHq5VRFs1NWrrO3LODUyt3IZI3q1URVu1dWvqAzgAAAAAAAAAAa01fDDUsgW7pHrazf5feYMQxBYncnpkz1DtWr+Uth+HpTJpZVzzu2qvUBvAAAAAAAAGOSdkciMddM3X1GQpLG2VmV3buAuDUjkdTu0cvR/lcbYAAAAAAAAGJ9VBHJo3zMa/cqkzTwwW0sjWZtl12mhVYStRWrUaZGoqotsu4y4lh61yxq2RGZL7UvcDbdNE2LSrI1I+K+oiOaKZivjka5qbVRTXkoFfhzaTSWVqJ51hQ0C0lPJE6TMr12omzUBniqYJnK2KVj1TXZFMpzsPwtaOdZHSo+7bWRtjogAABCqiJdVRE9pXSx8be01MajfLhsrI2Oe5VSyIl12ocxMHpY8PSpqXzMcjLubdE17tgHUo8Up6x8jG5mKzjslza0sfpG948/hmE09dTrK/TR67J56Lm/sRieCpTRsWlSaVyusqWzW7ECHpDFUVEVNEssz0a1P7mriOJsw9jW6Nz5HJ5qdXacZszK+p0mJ1KRsYtkiRF/wCIEu3Q4rTVz1ZGrmvT+V+pV9xunncQ5tmRslLUMhmZ0bNVEX+xlw/HHq5kVUxXK7U2RqbfwCHXq6llHTumkRytba+XaTHUxPp2Tq5GMeiKivWxxsdrJFdNSIjdGjGuVeu90OdJWTyUbaJ6X1syWTqt80A9LPiEMFRDC7MrprZVamrWtjaPKVTa9lVSMmRqStskSJbfqO1QLienXliMSPL1W2/gEtqsqo6OBZpEcrUVEs3aZIZEmhZK1FRr2o5L+05f7SPy0DG8UifkphjwibRttibmplTUl9X9wO6NhxOaJv8A+1f/AH8Tp0kD6akSN8qyql/PXrAwc94f6f4HeBeoxSmp6eOdyucyTo5U1r2nmokY7D9G2Nrp5ZsrVtrtZP1sZnwTQ1bWVkEk8cSWa1nRVAh6KLEKSVGZZ47vtZquS+vqNh72sY571RrWpdVXqPJZmQ1ralaKSOFioqM17eq6qelfURvw1ah7FWN0WZzeuypsCWJ+MUDNtQi/dRVMtHXQ1sb3xKtmrZcyWPMVE1Es8LqencyNq3e1y3za/edd2JU78Kqn00OiypktZE1rq6gh0qWrgrGOdA/OjVsupUM5z8Ch0OGxqqa5FV6/p/Y6ASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABC7UJIXpIBIAAA06qSWWoSkgdkXLmkfwp7COaqe1/3mfjz6wN0GlTSSwVPJZ36RFbeN67V9im6AAMVRJo41sqI7qAygwumVXo1issqXupRZpEjV3mrZV27QNkFXuVrbtTMu69jDJNIjegjde3MigbAMKSyeiTvoZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDthJDuioEgAAAAAAAAAAecS9vO29fvPRnJrqJ7ZHSRNzMdrVE2opxcjWGr01cUzMT8tILe3m7er3i+vL17us3aGie6RJJW5WN1oi7VUqppmZbK66aadZdYAGh5LnJ0Uvt6yTNNCrXK5qXautUTqMF0va+vceVXRVTU2U1RMC9Fbbeo6JqwQq5yOclmprRF6zaNnpqJpiZn5UXZiZ+gajeghtmCRitVVRLtXXq6jSqVKu6CjM3ehkjYrlRVSzU16+sDOAAAAAAAAVkRXRuRrsqqlkXcWAHDw9zaCsfFVstI/oyqdwwVlJHWRZHprTou60NCjqpaOdKKruqLqjeB1gAAAAAAAADDUT6OzWpd7tgFat7MmjtmeuxNxemY+OJEeuvduK08GTz365F/sZwAAAAAAAAOPXUtbJiCviR+jullR9rGbGIKqbRcmRyol81nW3GGuxGpgxBYY8uS7bJbaZsYrJqTRaFUTNe6ql9wFpYalcISJubT2S/na9u8YXDUxU0rZ7o9V827r9Qlq5m4QlQltIqJ1e0YXVzVNNK+Wyuavm2T2AYMKpqyGqc6oR6Myqmt99Z1zkYViFRVVTo5VarcqrqS1jrgAABr11I2tp1he5zUVUW6Hmayjghr20sU3WiPe9Us1T1NRPHTQullVUY3aqJc4eIYlh1S1ctKssi7HWy/32hCmIYVSUdJpkne5ztTE1ecXocBZPSslmkexz0vZN3UakOD1ssOlSNG2W7WPXWv4eJ0qXG3MkSCtgcyTZdqfoB1Vjijia57UdoW6lVLqmo4stZg0ivesLle663yrtOriFbFQxI6ZjnNeuWzURTlOxbDFaqJRLe3om+IGnhsuHRxPSsjV7
|
||
|
Fe.props = {
|
||
|
platform: {
|
||
|
key: "platform",
|
||
|
required: !0,
|
||
|
type: null
|
||
|
},
|
||
|
language: {
|
||
|
key: "language",
|
||
|
required: !0,
|
||
|
type: String
|
||
|
}
|
||
|
};
|
||
|
Fe.setup = (A, t) => {
|
||
|
const e = {
|
||
|
mac: {
|
||
|
"zh-cn": Kn,
|
||
|
en: ag
|
||
|
},
|
||
|
win: {
|
||
|
"zh-cn": ng,
|
||
|
en: og
|
||
|
}
|
||
|
}, a = A, n = p(() => a.platform === "mac" ? "mac-privacy" : "win-privacy"), l = p(() => a.platform === "mac" ? "mac-preferences" : "win-preferences"), i = I(Kn), u = I(!0), s = (M) => {
|
||
|
M && j.isPC && (u.value = !0);
|
||
|
}, r = () => {
|
||
|
u.value = !1;
|
||
|
};
|
||
|
return J(() => a.language, () => {
|
||
|
i.value = e[a.platform][a.language];
|
||
|
}, {
|
||
|
immediate: !0
|
||
|
}), aA(() => {
|
||
|
d.watch(c.CALL, {
|
||
|
[o.SHOW_PERMISSION_TIP]: s
|
||
|
}, {
|
||
|
notifyRangeWhenWatch: o.MYSELF
|
||
|
});
|
||
|
}), tA(() => {
|
||
|
d.unwatch(c.CALL, {
|
||
|
[o.SHOW_PERMISSION_TIP]: s
|
||
|
});
|
||
|
}), {
|
||
|
t: v,
|
||
|
privacy: n,
|
||
|
preferences: l,
|
||
|
permitPng: i,
|
||
|
showModal: u,
|
||
|
handleClose: r
|
||
|
};
|
||
|
};
|
||
|
Fe.components = Object.assign({
|
||
|
CloseIcon: tg
|
||
|
}, Fe.components);
|
||
|
var lg = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return A.showModal ? e("div", {
|
||
|
staticClass: "card"
|
||
|
}, [e("div", {
|
||
|
staticClass: "card-body"
|
||
|
}, [e("div", {
|
||
|
staticClass: "close",
|
||
|
on: {
|
||
|
click: A.handleClose
|
||
|
}
|
||
|
}, [e("CloseIcon")], 1), e("div", {
|
||
|
staticClass: "card-wrapper"
|
||
|
}, [e("div", {
|
||
|
staticClass: "title"
|
||
|
}, [A._v(A._s(A.t("browser-authorization")))]), e("div", {
|
||
|
staticClass: "button"
|
||
|
}, [A._v(A._s(A.t(A.preferences)))]), e("div", {
|
||
|
staticClass: "allow"
|
||
|
}, [A._v(A._s(A.t(A.privacy)))]), e("div", {
|
||
|
staticClass: "image-wrapper"
|
||
|
}, [e("img", {
|
||
|
staticClass: "image",
|
||
|
attrs: {
|
||
|
src: A.permitPng,
|
||
|
alt: "system permit"
|
||
|
}
|
||
|
})])])])]) : A._e();
|
||
|
}, ig = [];
|
||
|
const $n = {};
|
||
|
var sg = /* @__PURE__ */ S(
|
||
|
Fe,
|
||
|
lg,
|
||
|
ig,
|
||
|
!1,
|
||
|
ug,
|
||
|
"ee5a0fe8",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function ug(A) {
|
||
|
for (let t in $n)
|
||
|
this[t] = $n[t];
|
||
|
}
|
||
|
const cg = /* @__PURE__ */ function() {
|
||
|
return sg.exports;
|
||
|
}(), yt = {};
|
||
|
yt.setup = (A, t) => {
|
||
|
const e = p(() => j.isMAC ? Rt.MAC : Rt.WIN), a = I(d.getData(c.CALL, o.LANGUAGE)), n = (l) => a.value = l;
|
||
|
return aA(() => {
|
||
|
d.watch(c.CALL, {
|
||
|
[o.LANGUAGE]: n
|
||
|
}, {
|
||
|
notifyRangeWhenWatch: o.MYSELF
|
||
|
});
|
||
|
}), tA(() => {
|
||
|
d.unwatch(c.CALL, {
|
||
|
[o.LANGUAGE]: n
|
||
|
});
|
||
|
}), {
|
||
|
platform: e,
|
||
|
language: a
|
||
|
};
|
||
|
};
|
||
|
yt.components = Object.assign({
|
||
|
SystemPermitTip: cg
|
||
|
}, yt.components);
|
||
|
var rg = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "tip"
|
||
|
}, [e("div", {
|
||
|
staticClass: "card"
|
||
|
}, [e("SystemPermitTip", {
|
||
|
attrs: {
|
||
|
platform: A.platform,
|
||
|
language: A.language
|
||
|
}
|
||
|
})], 1)]);
|
||
|
}, Mg = [];
|
||
|
const Ao = {};
|
||
|
var dg = /* @__PURE__ */ S(
|
||
|
yt,
|
||
|
rg,
|
||
|
Mg,
|
||
|
!1,
|
||
|
Ig,
|
||
|
"ff1df20c",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Ig(A) {
|
||
|
for (let t in Ao)
|
||
|
this[t] = Ao[t];
|
||
|
}
|
||
|
const gg = /* @__PURE__ */ function() {
|
||
|
return dg.exports;
|
||
|
}(), pl = {};
|
||
|
let He = null, Ng = 1;
|
||
|
const pg = () => {
|
||
|
const A = document.body;
|
||
|
He && (A.removeChild(He.$el), He.$destroy());
|
||
|
const t = Xt.extend(gg), e = new t({
|
||
|
propsData: {
|
||
|
index: `toast-item-${Ng++}`,
|
||
|
destroy() {
|
||
|
A.removeChild(e.$el), e.$destroy();
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
e.$mount(), A.appendChild(e.$el), He = e;
|
||
|
};
|
||
|
pl.show = () => pg();
|
||
|
const Sa = {};
|
||
|
Sa.props = {
|
||
|
type: {
|
||
|
key: "type",
|
||
|
required: !0,
|
||
|
type: null
|
||
|
},
|
||
|
duration: {
|
||
|
key: "duration",
|
||
|
required: !1,
|
||
|
type: Number
|
||
|
},
|
||
|
message: {
|
||
|
key: "message",
|
||
|
required: !0,
|
||
|
type: String
|
||
|
},
|
||
|
index: {
|
||
|
key: "index",
|
||
|
required: !0,
|
||
|
type: String
|
||
|
},
|
||
|
showClose: {
|
||
|
key: "showClose",
|
||
|
required: !1,
|
||
|
type: Boolean
|
||
|
},
|
||
|
destroy: {
|
||
|
key: "destroy",
|
||
|
required: !0,
|
||
|
type: Function
|
||
|
},
|
||
|
close: {
|
||
|
key: "close",
|
||
|
required: !0,
|
||
|
type: Function
|
||
|
}
|
||
|
};
|
||
|
Sa.setup = (A, t) => {
|
||
|
const e = A, a = I(!1), n = I(null), l = p(() => `toast-container ${e.type}`), i = () => {
|
||
|
e.destroy();
|
||
|
}, u = () => {
|
||
|
e.close(), a.value = !1;
|
||
|
}, s = () => {
|
||
|
n.value && clearTimeout(n.value), e.duration && (n.value = setTimeout(() => {
|
||
|
u();
|
||
|
}, e.duration));
|
||
|
};
|
||
|
return aA(() => {
|
||
|
a.value = !0, s();
|
||
|
}), tA(() => {
|
||
|
n.value && clearTimeout(n.value);
|
||
|
}), {
|
||
|
isShow: a,
|
||
|
toastClass: l,
|
||
|
handleAfterLeave: i,
|
||
|
handleClose: u
|
||
|
};
|
||
|
};
|
||
|
var Dg = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("Transition", {
|
||
|
attrs: {
|
||
|
name: "slide-up"
|
||
|
},
|
||
|
on: {
|
||
|
"after-leave": A.handleAfterLeave
|
||
|
}
|
||
|
}, [e("div", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: A.isShow,
|
||
|
expression: "isShow"
|
||
|
}],
|
||
|
key: A.index,
|
||
|
class: A.toastClass
|
||
|
}, [e("div", {
|
||
|
staticClass: "toast-content"
|
||
|
}, [A._v(A._s(A.message))]), e("i", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: A.showClose,
|
||
|
expression: "showClose"
|
||
|
}],
|
||
|
staticClass: "toast-close-icon",
|
||
|
on: {
|
||
|
click: A.handleClose
|
||
|
}
|
||
|
})])]);
|
||
|
}, Tg = [];
|
||
|
const eo = {};
|
||
|
var Cg = /* @__PURE__ */ S(
|
||
|
Sa,
|
||
|
Dg,
|
||
|
Tg,
|
||
|
!1,
|
||
|
yg,
|
||
|
"1a36ce82",
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function yg(A) {
|
||
|
for (let t in eo)
|
||
|
this[t] = eo[t];
|
||
|
}
|
||
|
const Sg = /* @__PURE__ */ function() {
|
||
|
return Cg.exports;
|
||
|
}(), LA = {}, IA = [];
|
||
|
let Eg = 1;
|
||
|
function hg() {
|
||
|
var t, e, a;
|
||
|
const A = IA.length;
|
||
|
return A > 0 ? (a = (e = (t = IA[A - 1]) == null ? void 0 : t.$el) == null ? void 0 : e.style) == null ? void 0 : a.top : "30px";
|
||
|
}
|
||
|
function mg() {
|
||
|
var t, e;
|
||
|
const A = IA.length;
|
||
|
return A > 0 ? (e = (t = IA[A - 1]) == null ? void 0 : t.$el) == null ? void 0 : e.offsetHeight : 0;
|
||
|
}
|
||
|
const Dl = (A) => {
|
||
|
const t = document.body, { type: e, duration: a = 3e3, message: n, showClose: l = !1, onClose: i } = A, u = Xt.extend(Sg), s = new u({
|
||
|
propsData: {
|
||
|
type: e,
|
||
|
duration: a,
|
||
|
message: n,
|
||
|
showClose: l,
|
||
|
index: `toast-item-${Eg++}`,
|
||
|
close() {
|
||
|
var N, y, T, C;
|
||
|
const D = IA.findIndex((E) => E === s);
|
||
|
console.log((y = (N = IA[D]) == null ? void 0 : N.$el) == null ? void 0 : y.offsetHeight);
|
||
|
const g = parseInt((C = (T = IA[D]) == null ? void 0 : T.$el) == null ? void 0 : C.offsetHeight) + 20;
|
||
|
for (let E = 0; E < IA.length; E++)
|
||
|
E < D || (IA[E].$el.style.top = parseInt(IA[E].$el.style.top) - g + "px");
|
||
|
IA.splice(D, 1);
|
||
|
},
|
||
|
destroy() {
|
||
|
t.removeChild(s.$el), s.$destroy();
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
s.$mount(), t.appendChild(s.$el);
|
||
|
const r = hg(), M = mg();
|
||
|
s.$el.style.top = parseInt(r) + parseInt(M) + 20 + "px", IA.push(s);
|
||
|
};
|
||
|
["info", "waring", "error", "success"].forEach((A) => {
|
||
|
let t = {};
|
||
|
LA[A] = (e) => {
|
||
|
typeof e == "string" ? t.message = e : t = e, Dl({ type: A, ...t });
|
||
|
};
|
||
|
});
|
||
|
LA.show = (A) => {
|
||
|
let t = {};
|
||
|
return typeof A == "string" ? (t.message = A, t.type = "info") : t = A, Dl({ type: "info", ...t });
|
||
|
};
|
||
|
const Re = {};
|
||
|
Re.props = {
|
||
|
beforeCalling: {
|
||
|
key: "beforeCalling",
|
||
|
required: !1,
|
||
|
type: Function
|
||
|
},
|
||
|
afterCalling: {
|
||
|
key: "afterCalling",
|
||
|
required: !1,
|
||
|
type: Function
|
||
|
},
|
||
|
onMinimized: {
|
||
|
key: "onMinimized",
|
||
|
required: !1,
|
||
|
type: Function
|
||
|
},
|
||
|
onMessageSentByMe: {
|
||
|
key: "onMessageSentByMe",
|
||
|
required: !1,
|
||
|
type: Function
|
||
|
},
|
||
|
kickedOut: {
|
||
|
key: "kickedOut",
|
||
|
required: !1,
|
||
|
type: Function
|
||
|
},
|
||
|
statusChanged: {
|
||
|
key: "statusChanged",
|
||
|
required: !1,
|
||
|
type: Function
|
||
|
},
|
||
|
allowedMinimized: {
|
||
|
key: "allowedMinimized",
|
||
|
required: !1,
|
||
|
type: Boolean,
|
||
|
default: !1
|
||
|
},
|
||
|
allowedFullScreen: {
|
||
|
key: "allowedFullScreen",
|
||
|
required: !1,
|
||
|
type: Boolean,
|
||
|
default: !0
|
||
|
},
|
||
|
videoDisplayMode: {
|
||
|
key: "videoDisplayMode",
|
||
|
required: !1,
|
||
|
type: String,
|
||
|
default: "cover"
|
||
|
},
|
||
|
videoResolution: {
|
||
|
key: "videoResolution",
|
||
|
required: !1,
|
||
|
type: String,
|
||
|
default: "480p"
|
||
|
}
|
||
|
};
|
||
|
Re.setup = (A, t) => {
|
||
|
const e = !j.isPC, a = e ? "TUICallKit-mobile transition-animation" : "TUICallKit-desktop", n = I(""), l = I(""), i = I(""), u = I(!1), s = A, r = I(d.getData(c.CALL, o.CALL_STATUS)), M = I(d.getData(c.CALL, o.CALL_ROLE)), D = I(d.getData(c.CALL, o.CALL_MEDIA_TYPE)), g = I(d.getData(c.CALL, o.IS_GROUP)), N = I(d.getData(c.CALL, o.IS_EAR_PHONE)), y = I(null), T = I(d.getData(c.CALL, o.LOCAL_USER_INFO_EXCLUDE_VOLUMN)), C = I(d.getData(c.CALL, o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST)), E = I(d.getData(c.CALL, o.CALLER_USER_INFO)), w = I(d.getData(c.CALL, o.IS_MINIMIZED)), L = I(d.getData(c.CALL, o.ENABLE_VIRTUAL_BACKGROUND)), m = I(d.getData(c.CALL, o.IS_SHOW_ENABLE_VIRTUAL_BACKGROUND)), k = I(d.getData(c.CALL, o.CUSTOM_UI_CONFIG)), _ = I(d.getData(c.CALL, o.IS_MUTE_SPEAKER)), Z = Ye({
|
||
|
callStatus: r,
|
||
|
callRole: M,
|
||
|
callType: D,
|
||
|
isGroupCall: g,
|
||
|
isEarPhone: N,
|
||
|
focusElement: y,
|
||
|
allowedFullScreen: s.allowedFullScreen,
|
||
|
enableVirtualBackground: L,
|
||
|
isShowEnableVirtualBackground: m,
|
||
|
isMuteSpeaker: _
|
||
|
}), b = Ye({
|
||
|
callerUserInfo: E
|
||
|
}), P = Ye({
|
||
|
localUserInfoExcludeVolume: T,
|
||
|
remoteUserListExcludeVolume: C
|
||
|
}), AA = Ye({
|
||
|
isFloatWindow: w
|
||
|
}), {
|
||
|
beforeCalling: ZA,
|
||
|
afterCalling: xA,
|
||
|
onMinimized: VA,
|
||
|
onMessageSentByMe: bA,
|
||
|
videoDisplayMode: YA,
|
||
|
videoResolution: Ut,
|
||
|
kickedOut: Qe,
|
||
|
statusChanged: Ze,
|
||
|
allowedMinimized: Y
|
||
|
} = z(s), iA = (B) => {
|
||
|
Z.callStatus = B;
|
||
|
}, dA = (B) => {
|
||
|
Z.isGroupCall = B;
|
||
|
}, BA = (B) => {
|
||
|
B.text && zl(B.text, B.type || "info");
|
||
|
}, Cl = (B) => {
|
||
|
Z.callType = B, e && u.value && (i.value = "miniMized-mobile-audio", l.value = ""), e && !u.value && (l.value = "mobile-audio");
|
||
|
}, Ea = (B) => {
|
||
|
AA.isFloatWindow = B, B ? e ? Z.callType === F.AUDIO ? l.value = "miniMized-mobile-audio" : i.value = "miniMized-mobile-video" : n.value = "miniMized" : (l.value = "mobile-audio", n.value = "", i.value = "");
|
||
|
}, yl = (B) => {
|
||
|
if (B && j.isPC)
|
||
|
try {
|
||
|
pl.show();
|
||
|
} catch (zt) {
|
||
|
console.debug(zt);
|
||
|
}
|
||
|
}, Sl = (B) => {
|
||
|
Z.callRole = B;
|
||
|
}, El = (B) => {
|
||
|
P.localUserInfoExcludeVolume = B;
|
||
|
}, hl = (B) => {
|
||
|
P.remoteUserListExcludeVolume = B;
|
||
|
}, ml = (B) => {
|
||
|
b.callerUserInfo = B;
|
||
|
}, jl = (B) => {
|
||
|
Z.isEarPhone = B;
|
||
|
}, vl = (B) => {
|
||
|
Z.enableVirtualBackground = B;
|
||
|
}, fl = (B) => {
|
||
|
Z.isShowEnableVirtualBackground = B;
|
||
|
}, Ll = (B) => {
|
||
|
k.value = B;
|
||
|
}, Ul = (B) => {
|
||
|
Z.isMuteSpeaker = B;
|
||
|
};
|
||
|
QA(() => {
|
||
|
O.setCallback({
|
||
|
beforeCalling: ZA && ZA.value,
|
||
|
afterCalling: xA && xA.value,
|
||
|
onMinimized: VA && VA.value,
|
||
|
onMessageSentByMe: bA && bA.value,
|
||
|
kickedOut: Qe && Qe.value,
|
||
|
statusChanged: Ze && Ze.value
|
||
|
});
|
||
|
});
|
||
|
const ha = {
|
||
|
[o.CALL_STATUS]: iA,
|
||
|
[o.IS_GROUP]: dA,
|
||
|
[o.TOAST_INFO]: BA,
|
||
|
[o.CALL_MEDIA_TYPE]: Cl,
|
||
|
[o.SHOW_PERMISSION_TIP]: yl,
|
||
|
[o.CALL_ROLE]: Sl,
|
||
|
[o.LOCAL_USER_INFO_EXCLUDE_VOLUMN]: El,
|
||
|
[o.REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST]: hl,
|
||
|
[o.CALLER_USER_INFO]: ml,
|
||
|
[o.IS_EAR_PHONE]: jl,
|
||
|
[o.ENABLE_VIRTUAL_BACKGROUND]: vl,
|
||
|
[o.IS_SHOW_ENABLE_VIRTUAL_BACKGROUND]: fl,
|
||
|
[o.CUSTOM_UI_CONFIG]: Ll,
|
||
|
[o.IS_MUTE_SPEAKER]: Ul
|
||
|
};
|
||
|
aA(() => {
|
||
|
Y.value && O.enableFloatWindow(Y.value), O.setVideoDisplayMode(YA.value), O.setVideoResolution(Ut.value), d.watch(c.CALL, ha, {
|
||
|
notifyRangeWhenWatch: o.MYSELF
|
||
|
}), d.watch(c.CALL, {
|
||
|
[o.IS_MINIMIZED]: Ea
|
||
|
});
|
||
|
});
|
||
|
function zl(B, zt) {
|
||
|
switch (zt) {
|
||
|
case "info":
|
||
|
LA == null || LA.info(B);
|
||
|
break;
|
||
|
case "error":
|
||
|
LA == null || LA.error(B);
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
return tA(async () => {
|
||
|
d.unwatch(c.CALL, {
|
||
|
...ha,
|
||
|
[o.IS_MINIMIZED]: Ea
|
||
|
});
|
||
|
}), gA(To, Z), gA(Co, b), gA(yo, P), gA(ho, AA), gA(vo, k), {
|
||
|
CallStatus: U,
|
||
|
bodyStyle: a,
|
||
|
miniMizedDeskStyle: n,
|
||
|
mobileAudioStyle: l,
|
||
|
mobileVideoStyle: i,
|
||
|
callInfoContextValue: Z,
|
||
|
floatWindowContextValue: AA
|
||
|
};
|
||
|
};
|
||
|
Re.components = Object.assign({
|
||
|
SingleCall: iI,
|
||
|
GroupCall: JI
|
||
|
}, Re.components);
|
||
|
var jg = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return A.callInfoContextValue.callStatus !== A.CallStatus.IDLE ? e("div", {
|
||
|
class: [A.bodyStyle, A.miniMizedDeskStyle, A.mobileVideoStyle, A.mobileAudioStyle],
|
||
|
style: [{
|
||
|
visibility: A.floatWindowContextValue.isFloatWindow ? "hidden" : ""
|
||
|
}],
|
||
|
attrs: {
|
||
|
id: "tuicallkit-id"
|
||
|
}
|
||
|
}, [A.callInfoContextValue.isGroupCall ? e("GroupCall", {
|
||
|
staticClass: "singCall"
|
||
|
}) : e("SingleCall", {
|
||
|
staticClass: "singCall"
|
||
|
})], 1) : A._e();
|
||
|
}, vg = [];
|
||
|
const to = {};
|
||
|
var fg = /* @__PURE__ */ S(
|
||
|
Re,
|
||
|
jg,
|
||
|
vg,
|
||
|
!1,
|
||
|
Lg,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Lg(A) {
|
||
|
for (let t in to)
|
||
|
this[t] = to[t];
|
||
|
}
|
||
|
const Lt = /* @__PURE__ */ function() {
|
||
|
return fg.exports;
|
||
|
}(), Tl = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEuNTM1NzcgNi42ODIzOEMxLjIwNTYyIDUuNzI3MjggMS42MjM1NSA0LjcwMTQ5IDIuNDM2NDEgNC4xMDA4QzMuMDUyNjUgMy42NDU0MSAzLjY3MTcgMy4xODU0OSA0LjAyNDk0IDIuOTIyNzZDNC4xOTI4IDIuNzk3OTEgNC40MjgxIDIuODI1MjIgNC41NjM2IDIuOTg0NTlMNi40ODg1NSA1LjI0ODU3QzYuNjE0NDEgNS4zOTY1OSA2LjYxNDQ3IDUuNjEzOTYgNi40ODg3IDUuNzYyMDVMNS4zMDgzNiA3LjE1MTlDNS4yMDA5MSA3LjI3ODQxIDUuMTgzMDIgNy40NTg4NyA1LjI2Nzk2IDcuNjAxNDZDNS42NTA0MSA4LjI0MzQ1IDYuMDcwMDggOC43OTMzNCA2LjYzNzE5IDkuMzYwMjlDNy4yMDc2MyA5LjkzMDU2IDcuNzU3NDIgMTAuMzQyMSA4LjQwMzA2IDEwLjcyMzVDOC41NDU3NiAxMC44MDc5IDguNzI1OTQgMTAuNzg5OSA4Ljg1MjM0IDEwLjY4MjdMMTAuMjM2NSA5LjUwODYxQzEwLjM4NDcgOS4zODI5NSAxMC42MDIgOS4zODMwNCAxMC43NTAxIDkuNTA4ODNMMTMuMDE1OSAxMS40MzQyQzEzLjE3NDkgMTEuNTY5MyAxMy4yMDIgMTEuODA0NCAxMy4wNzggMTEuOTcyMUwxMS44OTI3IDEzLjU3NTVDMTEuMjk2OCAxNC4zODE3IDEwLjI3OSAxNC43OTE2IDkuMzMwOTIgMTQuNDY1NEM3LjU3ODM1IDEzLjg2MjQgNS45MzIzNSAxMi44NjE3IDQuNTMzNTMgMTEuNDYzM0MzLjEzODcyIDEwLjA2ODkgMi4xMzk0NiA4LjQyODgzIDEuNTM1NzcgNi42ODIzOFoiIGZpbGw9IiMxQzY2RTUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04Ljg4ODc2IDIuMTMzM0M4LjY5MjM5IDIuMTMzMyA4LjUzMzIgMi4yOTI0OSA4LjUzMzIgMi40ODg4NlY2LjE3MzdDOC41MzMyIDYuMzcwMDYgOC42OTIzOSA2LjUyOTI1IDguODg4NzYgNi41MjkyNUgxMi41NzM2QzEyLjc3IDYuNTI5MjUgMTIuOTI5MiA2LjM3MDA2IDEyLjkyOTIgNi4xNzM3VjUuOTg3ODJDMTIuOTI5MiA1Ljc1MzcgMTMuMTcyMyA1LjU5ODgzIDEzLjM4NDUgNS42OTc4NEwxNC4wNzE0IDYuMDE4NDFDMTQuMzA3MSA2LjEyODQxIDE0LjU3NzMgNS45NTYzNCAxNC41NzczIDUuNjk2MjFWMi45NjYzM0MxNC41NzczIDIuNzA2MiAxNC4zMDcxIDIuNTM0MTMgMTQuMDcxNCAyLjY0NDE0TDEzLjM4NDUgMi45NjQ3QzEzLjE3MjMgMy4wNjM3MSAxMi45MjkyIDIuOTA4ODQgMTIuOTI5MiAyLjY3NDcyVjIuNDg4ODZDMTIuOTI5MiAyLjI5MjQ5IDEyLjc3IDIuMTMzMyAxMi41NzM2IDIuMTMzM0g4Ljg4ODc2WiIgZmlsbD0iIzFDNjZFNSIvPgo8L3N2Zz4K", ke = {};
|
||
|
ke.props = {
|
||
|
userListInfo: {
|
||
|
type: Array,
|
||
|
default: []
|
||
|
}
|
||
|
};
|
||
|
ke.setup = (A, t) => {
|
||
|
const e = t.emit, a = I(!1);
|
||
|
return {
|
||
|
t: v,
|
||
|
CallIcon: Tl,
|
||
|
defaultAvatarSrc: GA,
|
||
|
isShowContent: a,
|
||
|
handleJoinGroup: () => {
|
||
|
e("joinGroupCall"), a.value = !1;
|
||
|
},
|
||
|
handleClick: () => {
|
||
|
a.value = !a.value;
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
ke.components = Object.assign({
|
||
|
TKImage: SA
|
||
|
}, ke.components);
|
||
|
var Ug = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "banner-pc"
|
||
|
}, [e("div", {
|
||
|
staticClass: "top",
|
||
|
on: {
|
||
|
click: A.handleClick
|
||
|
}
|
||
|
}, [e("TKImage", {
|
||
|
staticClass: "call-icon",
|
||
|
attrs: {
|
||
|
src: A.CallIcon,
|
||
|
width: "16px",
|
||
|
height: "16px"
|
||
|
}
|
||
|
}), e("span", {
|
||
|
staticClass: "text"
|
||
|
}, [A._v(" " + A._s(A.userListInfo.length) + " " + A._s(A.t("people on the call")) + " ")])], 1), e("div", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: A.isShowContent,
|
||
|
expression: "isShowContent"
|
||
|
}],
|
||
|
staticClass: "content"
|
||
|
}, [e("div", {
|
||
|
staticClass: "content-arrows"
|
||
|
}), e("div", {
|
||
|
staticClass: "avatar-box"
|
||
|
}, A._l(A.userListInfo, function(a) {
|
||
|
return e("TKImage", {
|
||
|
staticClass: "avatar",
|
||
|
attrs: {
|
||
|
src: a == null ? void 0 : a.avatar,
|
||
|
defaultSrc: A.defaultAvatarSrc,
|
||
|
fit: "cover",
|
||
|
width: "32px",
|
||
|
height: "32px"
|
||
|
}
|
||
|
});
|
||
|
}), 1), e("div", {
|
||
|
staticClass: "btn",
|
||
|
on: {
|
||
|
click: A.handleJoinGroup
|
||
|
}
|
||
|
}, [A._v(A._s(A.t("join")))])])]);
|
||
|
}, zg = [];
|
||
|
const ao = {};
|
||
|
var wg = /* @__PURE__ */ S(
|
||
|
ke,
|
||
|
Ug,
|
||
|
zg,
|
||
|
!1,
|
||
|
Og,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Og(A) {
|
||
|
for (let t in ao)
|
||
|
this[t] = ao[t];
|
||
|
}
|
||
|
const xg = /* @__PURE__ */ function() {
|
||
|
return wg.exports;
|
||
|
}(), Vg = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNiIgdmlld0JveD0iMCAwIDEwIDYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOS41IDMuOTM0MDNlLTA3TDUgMy43NUwwLjUgMS41OTIwNGUtMDdMMC41IDEuNTYyMDVMNC42MTU4OSA0Ljk5MTk2TDUgNS4zMTIwNUw1LjM4NDExIDQuOTkxOTZMOS41IDEuNTYyMDVMOS41IDMuOTM0MDNlLTA3WiIgZmlsbD0iIzY2NjY2NiIvPgo8L3N2Zz4K", Pe = {};
|
||
|
Pe.props = {
|
||
|
userListInfo: {
|
||
|
type: Array,
|
||
|
default: []
|
||
|
}
|
||
|
};
|
||
|
Pe.setup = (A, t) => {
|
||
|
const e = I({
|
||
|
margin: "8px 10px 8px 0px"
|
||
|
}), a = I({
|
||
|
margin: "6px",
|
||
|
borderRadius: "4px"
|
||
|
}), n = I(!1), l = t.emit;
|
||
|
return {
|
||
|
t: v,
|
||
|
CallIcon: Tl,
|
||
|
ArrowsIcon: Vg,
|
||
|
defaultAvatarSrc: GA,
|
||
|
CallIconStyle: e,
|
||
|
avatarImgStyle: a,
|
||
|
isShowContent: n,
|
||
|
handleJoinGroup: () => {
|
||
|
l("joinGroupCall"), n.value = !1;
|
||
|
},
|
||
|
handleClick: () => {
|
||
|
n.value = !n.value;
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
Pe.components = Object.assign({
|
||
|
TKImage: SA
|
||
|
}, Pe.components);
|
||
|
var bg = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
staticClass: "banner-h5"
|
||
|
}, [e("div", {
|
||
|
staticClass: "top",
|
||
|
on: {
|
||
|
click: A.handleClick
|
||
|
}
|
||
|
}, [e("div", {
|
||
|
staticClass: "left"
|
||
|
}, [e("TKImage", {
|
||
|
staticClass: "call-icon",
|
||
|
attrs: {
|
||
|
src: A.CallIcon,
|
||
|
width: "16px",
|
||
|
height: "16px",
|
||
|
customStyle: A.CallIconStyle
|
||
|
}
|
||
|
}), e("span", {
|
||
|
staticClass: "text"
|
||
|
}, [A._v(" " + A._s(A.userListInfo.length) + " " + A._s(A.t("people on the call")) + " ")])], 1), e("TKImage", {
|
||
|
attrs: {
|
||
|
src: A.ArrowsIcon,
|
||
|
width: "9px",
|
||
|
height: "9px"
|
||
|
}
|
||
|
})], 1), e("div", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: A.isShowContent,
|
||
|
expression: "isShowContent"
|
||
|
}],
|
||
|
staticClass: "content-box"
|
||
|
}, [e("div", {
|
||
|
staticClass: "content"
|
||
|
}, [e("div", {
|
||
|
staticClass: "avatar-box"
|
||
|
}, A._l(A.userListInfo, function(a) {
|
||
|
return e("TKImage", {
|
||
|
attrs: {
|
||
|
src: a == null ? void 0 : a.avatar,
|
||
|
customStyle: A.avatarImgStyle,
|
||
|
defaultSrc: A.defaultAvatarSrc,
|
||
|
fit: "cover",
|
||
|
width: "50px",
|
||
|
height: "50px"
|
||
|
}
|
||
|
});
|
||
|
}), 1), e("div", {
|
||
|
staticClass: "btn",
|
||
|
on: {
|
||
|
click: function(a) {
|
||
|
return a.stopPropagation(), A.handleJoinGroup.apply(null, arguments);
|
||
|
}
|
||
|
}
|
||
|
}, [A._v(A._s(A.t("join")))])])])]);
|
||
|
}, Bg = [];
|
||
|
const no = {};
|
||
|
var Fg = /* @__PURE__ */ S(
|
||
|
Pe,
|
||
|
bg,
|
||
|
Bg,
|
||
|
!1,
|
||
|
Rg,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Rg(A) {
|
||
|
for (let t in no)
|
||
|
this[t] = no[t];
|
||
|
}
|
||
|
const kg = /* @__PURE__ */ function() {
|
||
|
return Fg.exports;
|
||
|
}(), St = {};
|
||
|
St.setup = (A, t) => {
|
||
|
const e = I(j.isPC), a = I(null), {
|
||
|
groupId: n,
|
||
|
roomId: l,
|
||
|
roomIdType: i,
|
||
|
callMediaType: u,
|
||
|
groupCallMembers: s,
|
||
|
callStatus: r
|
||
|
} = z(Zi()), M = p(() => n && (r == null ? void 0 : r.value) === U.IDLE && s.value.length);
|
||
|
return {
|
||
|
isPC: e,
|
||
|
message: a,
|
||
|
groupCallMembers: s,
|
||
|
isShow: M,
|
||
|
handleClick: async () => {
|
||
|
if (s.value.length > 9) {
|
||
|
a.value.show({
|
||
|
message: "Supports a maximum of 9 people for simultaneous calls",
|
||
|
type: "success"
|
||
|
});
|
||
|
return;
|
||
|
}
|
||
|
const g = {
|
||
|
type: u.value,
|
||
|
groupID: n.value,
|
||
|
roomID: i.value === 1 ? Number(l.value) : 0,
|
||
|
strRoomID: String(l.value)
|
||
|
};
|
||
|
try {
|
||
|
await O.joinInGroupCall(g);
|
||
|
} catch (N) {
|
||
|
console.error(`${o.PREFIX}joinInGroupCall fail: ${N}`);
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
};
|
||
|
St.components = Object.assign({
|
||
|
JoinGroupCardPC: xg,
|
||
|
JoinGroupCardMobile: kg,
|
||
|
Message: cl
|
||
|
}, St.components);
|
||
|
var Pg = function() {
|
||
|
var A = this, t = A.$createElement, e = A._self._c || t;
|
||
|
return e("div", {
|
||
|
directives: [{
|
||
|
name: "show",
|
||
|
rawName: "v-show",
|
||
|
value: A.isShow,
|
||
|
expression: "isShow"
|
||
|
}]
|
||
|
}, [A.isPC ? e("JoinGroupCardPC", {
|
||
|
attrs: {
|
||
|
userListInfo: A.groupCallMembers
|
||
|
},
|
||
|
on: {
|
||
|
joinGroupCall: A.handleClick
|
||
|
}
|
||
|
}) : e("JoinGroupCardMobile", {
|
||
|
attrs: {
|
||
|
userListInfo: A.groupCallMembers
|
||
|
},
|
||
|
on: {
|
||
|
joinGroupCall: A.handleClick
|
||
|
}
|
||
|
}), e("Message", {
|
||
|
ref: "message"
|
||
|
})], 1);
|
||
|
}, Wg = [];
|
||
|
const oo = {};
|
||
|
var Gg = /* @__PURE__ */ S(
|
||
|
St,
|
||
|
Pg,
|
||
|
Wg,
|
||
|
!1,
|
||
|
Qg,
|
||
|
null,
|
||
|
null,
|
||
|
null
|
||
|
);
|
||
|
function Qg(A) {
|
||
|
for (let t in oo)
|
||
|
this[t] = oo[t];
|
||
|
}
|
||
|
const Zg = /* @__PURE__ */ function() {
|
||
|
return Gg.exports;
|
||
|
}(), Yg = (A) => (A.component("TUICallKit", { server: O }), O.bindTUICore(A), Lt), Xg = (A) => {
|
||
|
A.component("TUICallKit", Lt).component("JoinGroupCard", Zg), console.log("TUICallKit&mini installed", A);
|
||
|
};
|
||
|
Lt.plugin = Yg;
|
||
|
Lt.install = Xg;
|
||
|
const $g = {
|
||
|
AUDIO_CALL: 1,
|
||
|
VIDEO_CALL: 2
|
||
|
}, AN = "3.3.7";
|
||
|
export {
|
||
|
F as CallMediaType,
|
||
|
K as CallRole,
|
||
|
zA as FeatureButton,
|
||
|
Zg as JoinGroupCard,
|
||
|
et as LayoutMode,
|
||
|
o as NAME,
|
||
|
nA as STATUS,
|
||
|
c as StoreName,
|
||
|
Lt as TUICallKit,
|
||
|
O as TUICallKitServer,
|
||
|
$g as TUICallType,
|
||
|
j as TUIGlobal,
|
||
|
d as TUIStore,
|
||
|
AN as Version,
|
||
|
ne as VideoDisplayMode,
|
||
|
oe as VideoResolution,
|
||
|
Xg as install,
|
||
|
Yg as plugin,
|
||
|
v as t,
|
||
|
mA as uiDesign
|
||
|
};
|