UNPKG

rg-callkit-vue3

Version:

An Open-source Voice & Video Calling UI Component Based on Tencent Cloud Service.

540 lines 176 kB
(function(){"use strict";try{if(typeof document!="undefined"){var e=document.createElement("style");e.appendChild(document.createTextNode(".singleInvite-message[data-v-763f93b1]{display:flex;flex-direction:column;padding:0 16px;justify-content:center}.singleInvite-message .singleInvite-nick[data-v-763f93b1]{line-height:40px;text-align:center;font-size:20px;color:#333;letter-spacing:0;font-weight:500}.singleInvite-message .singleInvite-tips[data-v-763f93b1]{height:20px;font-size:14px;color:#97989c;letter-spacing:0;font-weight:400;text-align:center}.singleInvite-avatar[data-v-763f93b1]{width:100px;height:100px;border-radius:12px;margin:0 auto}.singleInvite-message[data-v-31053437]{color:#fff;display:flex;flex-direction:column;padding:0 16px;justify-content:center}.singleInvite-message .singleInvite-nick[data-v-31053437]{font-size:20px;letter-spacing:0;margin:0 auto;font-weight:600;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.singleInvite-message .singleInvite-tips[data-v-31053437]{font-size:14px;letter-spacing:0;text-align:center;font-weight:400}.singleInvite-avatar[data-v-31053437]{width:100px;height:100px;border-radius:12px}.singleInvite-header-mobile{display:flex;justify-content:flex-end;padding:0 26px}.singleInvite-header-mobile .singleAudio{margin:0 auto}.singleInvite-header-mobile .singleVideo{display:flex}.singleInvite-header-desktop{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;position:relative;top:30%}.singleInvite-header-desktop .singleInvite-message .singleInvite-nick{font-style:normal;font-weight:600;font-size:40px;width:100%;line-height:56px;display:flex;align-items:center;justify-content:center;color:#fff}.singleInvite-header-desktop .singleInvite-message .singleInvite-nick .microphone-icon-container{width:24px;height:24px;background:rgba(0,0,0,.4);border-radius:12px;line-height:24px;margin-left:8px}.singleInvite-header-desktop .singleInvite-tips{font-style:normal;font-weight:400;font-size:14px;line-height:20px;color:#fff}.btn-operate-mobile[data-v-5bf037a3]{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.btn-operate-mobile .call-operate[data-v-5bf037a3]{width:50px;height:50px;border-radius:8vh;margin:0 5vw;box-sizing:border-box;display:flex;justify-content:center;align-items:center}.btn-operate-mobile .call-operate .invite-calling-item-loading[data-v-5bf037a3]{width:40px;height:40px;animation:rotation-5bf037a3 2s linear infinite}.btn-operate-mobile .call-operate .invite-calling-item-loading img[data-v-5bf037a3]{width:100%;height:100%}.btn-operate-mobile .call-operate img[data-v-5bf037a3]{width:100%;height:100%;background:none}.btn-operate-mobile .call-operate .switchAudioCall[data-v-5bf037a3]{width:6vw;height:3vh}.btn-operate-mobile .call-switch .call-operate[data-v-5bf037a3]{width:4vh;height:3vh}.btn-operate-mobile span[data-v-5bf037a3]{margin-top:10px}.btn-operate-desktop .call-operate[data-v-5bf037a3]{display:flex;flex-direction:column;width:40px;height:40px;margin:0 40px;cursor:pointer}.btn-operate-desktop .invite-calling-item-loading[data-v-5bf037a3]{width:40px;height:40px;animation:rotation-5bf037a3 2s linear infinite}@keyframes rotation-5bf037a3{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-operate-desktop .invite-calling-item-loading img[data-v-5bf037a3]{width:100%;height:100%}.btn-operate-desktop img[data-v-5bf037a3]{width:100%;display:flex;flex-direction:row;justify-content:center;align-items:center;position:relative}.btn-operate-desktop span[data-v-5bf037a3]{display:block;margin-top:5px;white-space:nowrap;font-weight:400;font-size:14px;line-height:20px;text-align:center}.btn-operate-mobile[data-v-d3595e0b]{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.btn-operate-mobile .call-operate[data-v-d3595e0b]{width:50px;height:50px;border-radius:8vh;margin:0 5vw;box-sizing:border-box;display:flex;justify-content:center;align-items:center}.btn-operate-mobile .call-operate .invite-calling-item-loading[data-v-d3595e0b]{width:40px;height:40px;animation:rotation-d3595e0b 2s linear infinite}.btn-operate-mobile .call-operate .invite-calling-item-loading img[data-v-d3595e0b]{width:100%;height:100%}.btn-operate-mobile .call-operate img[data-v-d3595e0b]{width:100%;height:100%;background:none}.btn-operate-mobile .call-operate .switchAudioCall[data-v-d3595e0b]{width:6vw;height:3vh}.btn-operate-mobile .call-switch .call-operate[data-v-d3595e0b]{width:4vh;height:3vh}.btn-operate-mobile span[data-v-d3595e0b]{margin-top:10px}.btn-operate-desktop .call-operate[data-v-d3595e0b]{display:flex;flex-direction:column;width:40px;height:40px;margin:0 40px;cursor:pointer}.btn-operate-desktop .invite-calling-item-loading[data-v-d3595e0b]{width:40px;height:40px;animation:rotation-d3595e0b 2s linear infinite}@keyframes rotation-d3595e0b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-operate-desktop .invite-calling-item-loading img[data-v-d3595e0b]{width:100%;height:100%}.btn-operate-desktop img[data-v-d3595e0b]{width:100%;display:flex;flex-direction:row;justify-content:center;align-items:center;position:relative}.btn-operate-desktop span[data-v-d3595e0b]{display:block;margin-top:5px;white-space:nowrap;font-weight:400;font-size:14px;line-height:20px;text-align:center}.btn-operate-mobile[data-v-d28bf8d1]{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.btn-operate-mobile .call-operate[data-v-d28bf8d1]{width:50px;height:50px;border-radius:8vh;margin:0 5vw;box-sizing:border-box;display:flex;justify-content:center;align-items:center}.btn-operate-mobile .call-operate .invite-calling-item-loading[data-v-d28bf8d1]{width:40px;height:40px;animation:rotation-d28bf8d1 2s linear infinite}.btn-operate-mobile .call-operate .invite-calling-item-loading img[data-v-d28bf8d1]{width:100%;height:100%}.btn-operate-mobile .call-operate img[data-v-d28bf8d1]{width:100%;height:100%;background:none}.btn-operate-mobile .call-operate .switchAudioCall[data-v-d28bf8d1]{width:6vw;height:3vh}.btn-operate-mobile .call-switch .call-operate[data-v-d28bf8d1]{width:4vh;height:3vh}.btn-operate-mobile span[data-v-d28bf8d1]{margin-top:10px}.btn-operate-desktop .call-operate[data-v-d28bf8d1]{display:flex;flex-direction:column;width:40px;height:40px;margin:0 40px;cursor:pointer}.btn-operate-desktop .invite-calling-item-loading[data-v-d28bf8d1]{width:40px;height:40px;animation:rotation-d28bf8d1 2s linear infinite}@keyframes rotation-d28bf8d1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-operate-desktop .invite-calling-item-loading img[data-v-d28bf8d1]{width:100%;height:100%}.btn-operate-desktop img[data-v-d28bf8d1]{width:100%;display:flex;flex-direction:row;justify-content:center;align-items:center;position:relative}.btn-operate-desktop span[data-v-d28bf8d1]{display:block;margin-top:5px;white-space:nowrap;font-weight:400;font-size:14px;line-height:20px;text-align:center}.btn-operate-desktop .call-operate[data-v-96c9cbf4]{display:flex;flex-direction:column;width:40px;height:40px;margin:0 40px;cursor:pointer}.btn-operate-desktop img[data-v-96c9cbf4]{width:100%;display:flex;flex-direction:row;justify-content:center;align-items:center;position:relative}.btn-operate-desktop span[data-v-96c9cbf4]{display:block;margin-top:5px;white-space:nowrap;font-weight:400;font-size:14px;line-height:20px;text-align:center}.btn-operate-mobile[data-v-96c9cbf4]{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.btn-operate-mobile .call-operate[data-v-96c9cbf4]{width:28px;height:26px;border-radius:8vh;margin:0 5vw;box-sizing:border-box;display:flex;justify-content:center;align-items:center}.btn-operate-mobile .call-operate img[data-v-96c9cbf4]{width:100%;height:100%;background:none}.btn-operate-mobile span[data-v-96c9cbf4]{margin-top:10px}.btn-operate-item[data-v-07a98f5a]{display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.btn-operate-item .invite-calling-header-left[data-v-07a98f5a]{position:absolute;right:-15vw}.btn-operate-item .invite-calling-header-left img[data-v-07a98f5a]{width:32px;height:32px}.btn-operate-mobile[data-v-d14af11d]{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.btn-operate-mobile .call-operate[data-v-d14af11d]{width:50px;height:50px;border-radius:8vh;margin:0 5vw;box-sizing:border-box;display:flex;justify-content:center;align-items:center}.btn-operate-mobile .call-operate .invite-calling-item-loading[data-v-d14af11d]{width:40px;height:40px;animation:rotation-d14af11d 2s linear infinite}.btn-operate-mobile .call-operate .invite-calling-item-loading img[data-v-d14af11d]{width:100%;height:100%}.btn-operate-mobile .call-operate img[data-v-d14af11d]{width:100%;height:100%;background:none}.btn-operate-mobile .call-operate .switchAudioCall[data-v-d14af11d]{width:6vw;height:3vh}.btn-operate-mobile .call-switch .call-operate[data-v-d14af11d]{width:4vh;height:3vh}.btn-operate-mobile span[data-v-d14af11d]{margin-top:10px}.btn-operate-desktop .call-operate[data-v-d14af11d]{display:flex;flex-direction:column;width:40px;height:40px;margin:0 40px;cursor:pointer}.btn-operate-desktop .invite-calling-item-loading[data-v-d14af11d]{width:40px;height:40px;animation:rotation-d14af11d 2s linear infinite}@keyframes rotation-d14af11d{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-operate-desktop .invite-calling-item-loading img[data-v-d14af11d]{width:100%;height:100%}.btn-operate-desktop img[data-v-d14af11d]{width:100%;display:flex;flex-direction:row;justify-content:center;align-items:center;position:relative}.btn-operate-desktop span[data-v-d14af11d]{display:block;margin-top:5px;white-space:nowrap;font-weight:400;font-size:14px;line-height:20px;text-align:center}.btn-operate-mobile[data-v-c20ae8b3]{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.btn-operate-mobile .call-operate[data-v-c20ae8b3]{width:50px;height:50px;border-radius:8vh;margin:0 5vw;box-sizing:border-box;display:flex;justify-content:center;align-items:center}.btn-operate-mobile .call-operate .invite-calling-item-loading[data-v-c20ae8b3]{width:40px;height:40px;animation:rotation-c20ae8b3 2s linear infinite}.btn-operate-mobile .call-operate .invite-calling-item-loading img[data-v-c20ae8b3]{width:100%;height:100%}.btn-operate-mobile .call-operate img[data-v-c20ae8b3]{width:100%;height:100%;background:none}.btn-operate-mobile .call-operate .switchAudioCall[data-v-c20ae8b3]{width:6vw;height:3vh}.btn-operate-mobile .call-switch .call-operate[data-v-c20ae8b3]{width:4vh;height:3vh}.btn-operate-mobile span[data-v-c20ae8b3]{margin-top:10px}.btn-operate-desktop .call-operate[data-v-c20ae8b3]{display:flex;flex-direction:column;width:40px;height:40px;margin:0 40px;cursor:pointer}.btn-operate-desktop .invite-calling-item-loading[data-v-c20ae8b3]{width:40px;height:40px;animation:rotation-c20ae8b3 2s linear infinite}@keyframes rotation-c20ae8b3{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-operate-desktop .invite-calling-item-loading img[data-v-c20ae8b3]{width:100%;height:100%}.btn-operate-desktop img[data-v-c20ae8b3]{width:100%;display:flex;flex-direction:row;justify-content:center;align-items:center;position:relative}.btn-operate-desktop span[data-v-c20ae8b3]{display:block;margin-top:5px;white-space:nowrap;font-weight:400;font-size:14px;line-height:20px;text-align:center}.btn-operate-mobile[data-v-9e11a5bd]{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.btn-operate-mobile .call-operate[data-v-9e11a5bd]{width:50px;height:50px;border-radius:8vh;margin:0 5vw;box-sizing:border-box;display:flex;justify-content:center;align-items:center}.btn-operate-mobile .call-operate .invite-calling-item-loading[data-v-9e11a5bd]{width:40px;height:40px;animation:rotation-9e11a5bd 2s linear infinite}.btn-operate-mobile .call-operate .invite-calling-item-loading img[data-v-9e11a5bd]{width:100%;height:100%}.btn-operate-mobile .call-operate img[data-v-9e11a5bd]{width:100%;height:100%;background:none}.btn-operate-mobile .call-operate .switchAudioCall[data-v-9e11a5bd]{width:6vw;height:3vh}.btn-operate-mobile .call-switch .call-operate[data-v-9e11a5bd]{width:4vh;height:3vh}.btn-operate-mobile span[data-v-9e11a5bd]{margin-top:10px}.btn-operate-desktop .call-operate[data-v-9e11a5bd]{display:flex;flex-direction:column;width:40px;height:40px;margin:0 40px;cursor:pointer}.btn-operate-desktop .invite-calling-item-loading[data-v-9e11a5bd]{width:40px;height:40px;animation:rotation-9e11a5bd 2s linear infinite}@keyframes rotation-9e11a5bd{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-operate-desktop .invite-calling-item-loading img[data-v-9e11a5bd]{width:100%;height:100%}.btn-operate-desktop img[data-v-9e11a5bd]{width:100%;display:flex;flex-direction:row;justify-content:center;align-items:center;position:relative}.btn-operate-desktop span[data-v-9e11a5bd]{display:block;margin-top:5px;white-space:nowrap;font-weight:400;font-size:14px;line-height:20px;text-align:center}.text[data-v-da96c01e]{margin-bottom:20px}.control-wrapper-desktop[data-v-3e20fe82]{transform:translate(-50%);position:absolute;bottom:0;padding-bottom:40px;left:50%;width:100%;color:#fff;border-radius:inherit;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.4) 100%);display:flex;flex-direction:column;flex-wrap:wrap;align-items:center;user-select:none}.control-wrapper-desktop .panel-button-area[data-v-3e20fe82]{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-evenly;margin:30px 0;min-width:40%}.control-wrapper-desktop .panel-button-area .btn-operate-desktop .call-operate[data-v-3e20fe82]{display:flex;flex-direction:column;width:40px;height:40px;margin:0 40px;cursor:pointer}.control-wrapper-desktop .panel-button-area .btn-operate-desktop img[data-v-3e20fe82]{width:100%;display:flex;flex-direction:row;justify-content:center;align-items:center;position:relative}.control-wrapper-desktop .panel-button-area .btn-operate-desktop span[data-v-3e20fe82]{display:block;margin-top:5px;white-space:nowrap;font-weight:400;font-size:14px;line-height:20px;text-align:center}.control-wrapper-mobile[data-v-3e20fe82]{position:absolute;bottom:20px;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.control-wrapper-mobile .btn-operate[data-v-3e20fe82]{display:flex;justify-content:center;align-items:center;position:relative;font-size:16px;letter-spacing:0;font-weight:400}.control-wrapper-mobile .btn-operate .mobile-reject[data-v-3e20fe82],.control-wrapper-mobile .btn-operate .mobile-accept[data-v-3e20fe82]{margin:0 40px 40px}.control-wrapper-mobile .btn-operate .mobile-switchAudioCall[data-v-3e20fe82]{font-size:14px}.black[data-v-3e20fe82]{color:#000}.white[data-v-3e20fe82]{color:#fff}.streamBox[data-v-ea64a17c]{width:100%;height:100%}.streamBox-mobile[data-v-ea64a17c]{position:relative}.streamBox-mobile .remoteList[data-v-ea64a17c]{position:fixed;top:60px;right:40px;z-index:999;width:140px;height:200px}.streamBox-mobile .remoteList .remoteListBox[data-v-ea64a17c]{width:140px;height:200px}.streamBox-mobile .localVideo[data-v-ea64a17c]{width:100vw;height:100vh}.streamBox-mobile .localVideo .remoteList[data-v-ea64a17c]{top:0;right:0}.streamBox-mobile .localVideo .remoteListBox[data-v-ea64a17c]{width:100vw;height:100vh}.streamBox-deskTop[data-v-ea64a17c]{position:relative;width:100%;height:100%}.streamBox-deskTop .switchScreen[data-v-ea64a17c]{cursor:pointer;position:absolute;top:20px;left:260px;z-index:999}.streamBox-deskTop .switchScreen .screenImg[data-v-ea64a17c]{width:16px}.streamBox-deskTop .remoteList-desk[data-v-ea64a17c]{position:absolute;top:20px;left:20px;width:260px;height:180px;z-index:999;background-color:#000}.streamBox-deskTop .remoteList-desk .remoteListBox[data-v-ea64a17c],.streamBox-deskTop .localVideo[data-v-ea64a17c]{width:100%;height:100%}.streamBox-deskTop .localVideo .remoteList[data-v-ea64a17c]{top:0;right:0}.streamBox-deskTop .localVideo .remoteListBox[data-v-ea64a17c]{width:100%;height:100%}.streamBox-deskTop .tag[data-v-ea64a17c]{color:#fff;z-index:inherit;background:rgba(0,0,0,.6);padding:2px 10px;border-top-right-radius:inherit;border-bottom-left-radius:inherit;font-size:14px;position:absolute;left:0;bottom:0;z-index:11;display:flex;align-items:center}.streamBox-deskTop .tag .microphone-icon-container[data-v-ea64a17c]{margin-left:0;margin-right:2px;width:20px;background-color:transparent}.float-control-panel[data-v-b8fb8f6e]{width:168px;height:56px;background:white;z-index:13;display:flex;flex-wrap:nowrap;justify-content:center;border-radius:40px;box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}.float-control-item-icon[data-v-b8fb8f6e]{display:flex;flex-direction:row;justify-content:center;align-items:center;width:56px;height:56px;position:relative}.float-control-item-icon-container[data-v-b8fb8f6e]{border-radius:40px;width:40px;height:40px;margin:.5rem;cursor:pointer;display:flex;flex-direction:row;justify-content:center;align-items:center}.float-control-item-icon-container[data-v-b8fb8f6e]:hover{background:rgba(218,218,218,.3)}.minimize[data-v-7f0167b6]{margin-left:10px}.videoStyle{background:#00183c}.singleCall-mobile{width:100vw;height:100vh;display:flex;flex-direction:column;z-index:0}.singleCall-mobile .inviteHeader{width:100%;position:fixed;top:107px;z-index:99}.singleCall-mobile .live-pusher{width:100%;height:100%}.singleCall-desktop{width:100%;height:100%;text-align:center;z-index:0;background:#00183c;position:relative}.singleCall-desktop .toggleSize{position:absolute;right:12px;top:12px;z-index:13;cursor:pointer;display:flex;flex-direction:row;justify-content:flex-start}.singleCall-desktop .inviteHeader{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);z-index:99}.avatar[data-v-bab70197]{width:120px;height:120px;border-radius:12px;display:block;margin:40px auto 15px}.tips[data-v-bab70197]{width:126px;height:auto;font-family:PingFangSC-Regular;font-weight:400;font-size:14px;color:#333;letter-spacing:0;margin:16px auto 40px;text-align:center}.nick[data-v-bab70197]{font-size:20px;letter-spacing:0;margin:0 auto;font-weight:600;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.list-tips[data-v-bab70197]{width:112px;height:auto;font-family:PingFangSC-Regular;font-weight:400;font-size:14px;color:#333;letter-spacing:0;margin:0 auto 24px;text-align:center}.list[data-v-bab70197]{position:absolute;left:14vw;margin-top:0 auto;display:flex;width:272px;justify-content:center;flex-wrap:wrap}.list-item[data-v-bab70197]{flex:.25;text-align:center;width:64px;margin:2px}.list-item .list-avatar[data-v-bab70197]{border-radius:10%;width:64px;height:64px}.list-item .list-name[data-v-bab70197]{font-family:PingFangSC-Regular;font-weight:400;font-size:12px;color:#666;letter-spacing:0;line-height:18px}.groupInvite-header-desktop[data-v-7e67e4cf]{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;position:absolute;top:32%;left:40%}.groupInvite-header-desktop .singleInvite-message .singleInvite-nick[data-v-7e67e4cf]{font-style:normal;font-weight:600;font-size:40px;width:100%;line-height:56px;display:flex;align-items:center;justify-content:center;color:#fff}.groupInvite-header-desktop .singleInvite-tips[data-v-7e67e4cf]{font-style:normal;font-weight:400;font-size:14px;line-height:20px;color:#fff}.control-wrapper-desktop[data-v-f3ff4c3f]{transform:translate(-50%);position:absolute;bottom:0;padding-bottom:40px;left:50%;width:100%;color:#fff;border-radius:inherit;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.4) 100%);display:flex;flex-direction:column;flex-wrap:wrap;align-items:center;user-select:none}.control-wrapper-desktop .panel-button-area[data-v-f3ff4c3f]{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-evenly;margin:30px 0;min-width:40%}.control-wrapper-desktop .panel-button-area .btn-operate-desktop .call-operate[data-v-f3ff4c3f]{display:flex;flex-direction:column;width:40px;height:40px;margin:0 40px;cursor:pointer}.control-wrapper-desktop .panel-button-area .btn-operate-desktop img[data-v-f3ff4c3f]{width:100%;display:flex;flex-direction:row;justify-content:center;align-items:center;position:relative}.control-wrapper-desktop .panel-button-area .btn-operate-desktop span[data-v-f3ff4c3f]{display:block;margin-top:5px;white-space:nowrap;font-weight:400;font-size:14px;line-height:20px;text-align:center}.control-wrapper-mobile[data-v-f3ff4c3f]{position:absolute;bottom:20px;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.control-wrapper-mobile .btn-operate[data-v-f3ff4c3f]{display:flex;justify-content:center;align-items:center;position:relative;font-size:16px;letter-spacing:0;font-weight:400}.control-wrapper-mobile .btn-operate .mobile-reject[data-v-f3ff4c3f],.control-wrapper-mobile .btn-operate .mobile-accept[data-v-f3ff4c3f]{margin:0 40px 40px}.control-wrapper-mobile .btn-operate .mobile-switchAudioCall[data-v-f3ff4c3f]{font-size:14px}.black[data-v-f3ff4c3f]{color:#000}.white[data-v-f3ff4c3f]{color:#fff}.swipe{width:100%;height:100%;position:absolute;flex-wrap:wrap;display:flex;align-items:flex-start;align-content:flex-start}.swipe .swiper-sliders-container{position:relative;display:flex;flex-wrap:wrap;align-content:flex-start;width:100%;overflow-x:hidden}.swipe .swiper-sliders-container.swiper-sliders-container-column{flex-direction:column}.swipe .swiper-sliders-container.swiper-sliders-container-row{flex-direction:row}.swipe .swipe-dots-container{position:absolute;width:100%;display:flex;justify-content:center;top:400px}.swipe .swipe-dots-container .swipe-dots{width:8px;height:8px;background:#000;opacity:.15;border-radius:20px;margin:5px}.swipe .swipe-dots-container .swipe-current-dots{width:8px;height:8px;background:#000;opacity:1;border-radius:20px;margin:5px}.swiper-item[data-v-61c01897]{position:absolute;display:flex;flex-direction:row;flex-wrap:wrap}.slide-left-enter-active[data-v-61c01897]{transition:all .3s}.slide-left-leave-active[data-v-61c01897]{transform:all .3s}.slide-left-enter-from[data-v-61c01897]{transform:translate(100%)}.slide-left-leave-to[data-v-61c01897]{opacity:0;transform:translate(0)}.slide-right-enter-active[data-v-61c01897],.slide-right-leave-active[data-v-61c01897]{transition:all .3s}.slide-right-enter-from[data-v-61c01897]{opacity:0;transform:translate(-100%)}.slide-right-leave-to[data-v-61c01897]{opacity:0;transform:translate(100%)}#localVideo[data-v-96348cbc]{width:100%;height:100%}.invite-calling-list[data-v-96348cbc]{display:flex;flex-wrap:wrap;width:100%;justify-content:flex-start}.invite-calling-item[data-v-96348cbc]{height:187px;background-color:#000}.invite-calling-item image[data-v-96348cbc]{width:100%;height:100%}.invite-calling-item-message[data-v-96348cbc]{position:absolute;top:0;left:0;float:left;width:100%;height:100%;z-index:2}.invite-calling-item-message .tag[data-v-96348cbc]{color:#fff;z-index:inherit;background:rgba(0,0,0,.6);padding:2px 10px;border-top-right-radius:inherit;border-bottom-left-radius:inherit;font-size:14px;position:absolute;left:0;bottom:0;z-index:11;display:flex;align-items:center}.invite-calling-item-message .tag .microphone-icon-container[data-v-96348cbc]{margin-top:4px;margin-right:2px;width:16px;background-color:transparent}.invite-calling-item-loading[data-v-96348cbc]{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);width:40px;height:40px;animation:rotation-96348cbc 2s linear infinite}@keyframes rotation-96348cbc{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.invite-calling-item-loading img[data-v-96348cbc]{width:100%;height:100%}.invite-calling-item-id[data-v-96348cbc]{position:absolute;left:2%;bottom:2%;font-family:PingFangSC-Regular;font-weight:400;font-size:12px;color:#fff}.avatar[data-v-96348cbc]{background-color:#000;width:100%;height:100%}.calling-wrapper[data-v-ecba3372]{position:relative;width:100%;height:100%;border-radius:inherit;background:rgba(0,24,60,.7);backdrop-filter:blur(34px);display:flex;flex-direction:column;justify-content:center;overflow:hidden;z-index:-1}.calling-wrapper[data-v-ecba3372]:hover{z-index:inherit;transition:all .5s ease-in-out}#local-dialing[data-v-ecba3372],#localVideo[data-v-ecba3372]{background:rgba(32,32,32,.45);background-repeat:no-repeat;background-size:auto;background-position-x:center;background-position-y:calc(50% + 10px)}.panel-button-area[data-v-ecba3372]{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;margin:30px 0}.panel-dialing-info[data-v-ecba3372]{text-align:center}.control-wrapper[data-v-ecba3372]:hover{z-index:13}.control-item[data-v-ecba3372]{display:flex;flex-direction:column;width:100px;margin:0 20px}.invite-calling-item-loading[data-v-ecba3372]{position:absolute;left:calc(50% - 20px);top:calc(50% - 40px);width:40px;height:40px;animation:rotation-ecba3372 2s linear infinite}@keyframes rotation-ecba3372{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.invite-calling-item-loading img[data-v-ecba3372]{width:100%;height:100%}.tag[data-v-ecba3372]{color:#fff;z-index:inherit;background:rgba(0,0,0,.6);padding:2px 10px;border-top-right-radius:inherit;border-bottom-left-radius:inherit;font-size:14px;position:absolute;left:0;bottom:0;z-index:11;display:flex;align-items:center}.tag .microphone-icon-container[data-v-ecba3372]{margin-left:0;margin-right:2px;width:20px;background-color:transparent}.switch-large-small[data-v-ecba3372]{position:absolute;right:12px;top:12px;width:16px;height:16px;z-index:inherit;cursor:pointer}.small-h5[data-v-ecba3372]{position:absolute;width:94px;height:160px;min-height:100px;max-height:60%;top:30px;right:10px;z-index:2;overflow:hidden;background:#000;border-radius:4px}.small[data-v-ecba3372]{position:absolute;width:260px;height:170px;min-height:100px;max-height:60%;top:30px;left:30px;z-index:2;overflow:hidden;resize:both;background:#000;border-radius:4px}.large[data-v-ecba3372]{min-height:100px;width:100%;height:100%;z-index:1;border-radius:inherit;overflow:hidden}.large .switch-large-small[data-v-ecba3372]{display:none}.group-calling-container[data-v-ecba3372]{width:100%;height:100%;display:flex;flex-wrap:wrap;justify-content:center}.group-user-view[data-v-ecba3372]{width:33.333%;height:33.333%;position:relative;background:rgba(32,32,32,.45);backdrop-filter:blur(34px);color:#fff;overflow:hidden}.user-view-text-container[data-v-ecba3372]{position:absolute;left:0;top:0;width:100%;height:100%;z-index:11;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:translateY(-20px)}.user-view-user-id[data-v-ecba3372]{font-family:PingFang SC;font-style:normal;font-weight:600;font-size:24px;line-height:34px}.user-view-info[data-v-ecba3372]{font-family:PingFang SC;font-style:normal;font-weight:400;font-size:12px;line-height:17px}.page-turn[data-v-ecba3372]{width:40px;height:86px;border-radius:4.21px;background:rgba(0,0,0,.2);position:absolute;top:50%;transform:translateY(-50%);z-index:11;display:flex;justify-content:center;align-items:center;cursor:pointer}.turn-icon-container[data-v-ecba3372]{width:14px;height:23px}.right[data-v-ecba3372]{right:0}.microphone-icon-container[data-v-ecba3372]{width:24px;height:24px;background:rgba(0,0,0,.4);border-radius:12px;display:flex;justify-content:center;align-items:center;margin-left:8px}.group-user-view-1[data-v-ecba3372]{width:100%;height:100%}.group-calling-container-1[data-v-ecba3372]{height:100%}.group-user-view-2[data-v-ecba3372]{width:50%;height:100%}.group-calling-container-2[data-v-ecba3372]{height:50%}.group-user-view-3[data-v-ecba3372],.group-user-view-4[data-v-ecba3372]{width:50%;height:50%}.group-calling-container-3[data-v-ecba3372],.group-calling-container-4[data-v-ecba3372]{height:100%}.group-user-view-5[data-v-ecba3372],.group-user-view-6[data-v-ecba3372]{width:33.333%;height:50%}.group-calling-container-5[data-v-ecba3372],.group-calling-container-6[data-v-ecba3372]{height:66%}.user-view-user-id-1[data-v-ecba3372]{font-size:24px}.user-view-user-id-2[data-v-ecba3372],.user-view-user-id-3[data-v-ecba3372],.user-view-user-id-4[data-v-ecba3372]{font-size:22px}.user-view-user-id-5[data-v-ecba3372],.user-view-user-id-6[data-v-ecba3372],.user-view-user-id-7[data-v-ecba3372],.user-view-user-id-8[data-v-ecba3372],.user-view-user-id-9[data-v-ecba3372]{font-size:18px}.float-control-panel[data-v-ecba3372]{width:168px;height:56px;background:white;z-index:13;position:fixed;top:20px;right:20px;display:flex;flex-wrap:nowrap;justify-content:center;border-radius:40px;box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}.function-buttons[data-v-ecba3372]{position:absolute;right:12px;top:12px;z-index:13;cursor:pointer;display:flex;flex-direction:row;justify-content:flex-start}.minimize[data-v-ecba3372]{margin-left:10px}.float-control-item-icon[data-v-ecba3372]{display:flex;flex-direction:row;justify-content:center;align-items:center;width:56px;height:56px;position:relative}.float-control-item-icon-container[data-v-ecba3372]{border-radius:40px;width:40px;height:40px;margin:.5rem;cursor:pointer;display:flex;flex-direction:row;justify-content:center;align-items:center}.float-control-item-icon-container[data-v-ecba3372]:hover{background:rgba(218,218,218,.3)}.streamBox[data-v-522c44be]{width:100%;height:100%}.group-deskTop[data-v-bb1549c9]{background:#00183c;z-index:0}.toast-container[data-v-d9be0202]{position:fixed;display:flex;align-items:center;z-index:1002;justify-content:space-between;left:50%;transform:translate(-50%);padding:15px 15px 15px 20px;background-color:#000;color:#fff;box-sizing:border-box;border-radius:4px;border-width:1px;border-style:solid}.toast-container .toast-content[data-v-d9be0202]{margin-right:16px}.toast-container .toast-close-icon[data-v-d9be0202]{width:16px;line-height:16px;cursor:pointer}.toast-container .toast-close-icon[data-v-d9be0202]:before{font-style:normal;content:url(data:image/svg+xml;base64,PHN2ZyB0PSIxNjg4OTk4OTI4NDQ1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE2MDkiIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PHBhdGggZD0iTTUxMiA0NjYuNzUyTDg2LjY1NiA0MS4zNDRhMzIgMzIgMCAwIDAtNDUuMzEyIDQ1LjMxMkw0NjYuNzUyIDUxMiA0MS4zNDQgOTM3LjM0NGEzMiAzMiAwIDAgMCA0NS4zMTIgNDUuMzEyTDUxMiA1NTcuMjQ4bDQyNS4zNDQgNDI1LjQwOGEzMiAzMiAwIDAgMCA0NS4zMTItNDUuMzEyTDU1Ny4yNDggNTEybDQyNS40MDgtNDI1LjM0NGEzMiAzMiAwIDAgMC00NS4zMTItNDUuMzEyTDUxMiA0NjYuNzUyeiIgZmlsbD0iIzcwNzA3MCIgcC1pZD0iMTYxMCI+PC9wYXRoPjwvc3ZnPg==)}.info[data-v-d9be0202]{border-color:#ebeef5;color:#909399;background-color:#edf2fc}.success[data-v-d9be0202]{color:#67c23a;background-color:#f0f9eb;border-color:#e1f3d8}.waring[data-v-d9be0202]{color:#e6a23c;background-color:#fdf6ec;border-color:#faecd8}.error[data-v-d9be0202]{color:#f56c6c;background-color:#fef0f0;border-color:#fde2e2}.slide-up-enter-active[data-v-d9be0202],.slide-up-leave-active[data-v-d9be0202]{transition:all .5s ease-out}.slide-up-enter-from[data-v-d9be0202]{opacity:0;transform:translate(-50%,20px)}.slide-up-leave-to[data-v-d9be0202]{opacity:0;transform:translate(-50%,-20px)}.fade-enter-from[data-v-d9be0202],.fade-leave-to[data-v-d9be0202]{opacity:0;transform:translate(-50%,-100%)}.TUICallKit-mobile{width:100vw;height:100vh;overflow:hidden;background-color:#fff}.TUICallKit-mobile .singCall{width:100vw;height:100vh}.transition-animation{transform:translateY(-100%);animation:slideInDown 1s ease forwards}@keyframes slideInDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.TUICallKit-desktop{margin:0 auto;position:relative;border-radius:inherit;width:100%;height:100%;color:#fff;display:flex;flex-direction:column;justify-content:center;overflow:hidden;z-index:12;border-radius:16px}.TUICallKit-desktop .singCall{width:100%;height:100%}.miniMized{width:168px!important;height:56px!important;overflow:visible!important}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})(); import { TUICallEngine as tt, TUICallEvent as T } from "tuicall-engine-webrtc"; import { TUICallType as cs } from "tuicall-engine-webrtc"; import { defineComponent as p, openBlock as n, createElementBlock as g, createElementVNode as A, unref as c, toDisplayString as O, createCommentVNode as d, toRefs as Pe, ref as L, onMounted as Q, onUnmounted as G, createBlock as j, createTextVNode as se, normalizeClass as m, watch as Ie, createVNode as x, nextTick as it, withDirectives as ne, vShow as oe, computed as ue, Fragment as Ee, renderList as je, resolveComponent as at, onUpdated as lt, provide as st, renderSlot as Ve, withCtx as he, watchEffect as Ge, Transition as nt, render as ze } from "vue"; const de = typeof wx < "u" && typeof wx.getSystemInfoSync == "function" && Boolean(wx.getSystemInfoSync().fontSizeSetting), Be = typeof uni < "u" && typeof uni > "u", Oe = de || Be, Ze = typeof uni < "u", Fe = function() { return (typeof uni < "u" || typeof window < "u") && !Oe; }(), ot = function() { return de ? wx : Ze ? uni : window; }(), ae = Fe && window && window.navigator && window.navigator.userAgent || "", ct = /Android/i.test(ae), Mt = /(?:Windows Phone)/.test(ae), rt = /(?:SymbianOS)/.test(ae), ut = /iPad/i.test(ae) || /iPhone/i.test(ae) || /iPod/i.test(ae), We = ct || Mt || rt || ut, It = Fe && !We; class te { constructor() { this.global = ot, this.isPC = !1, this.isH5 = !1, this.isWeChat = !1, this.isApp = !1, this.isUniPlatform = !1, this.isOfficial = !1, this.initEnv(); } /** * 获取 TUIGlobal 实例 */ static getInstance() { return te.instance || (te.instance = new te()), te.instance; } initEnv() { this.isPC = It, this.isH5 = We, this.isWeChat = de, this.isApp = Be && !de, this.isUniPlatform = Ze; } initOfficial(e) { this.isOfficial = e === 1400187352 || e === 1400188366; } } var y = /* @__PURE__ */ ((t) => (t[t.UNKNOWN = 0] = "UNKNOWN", t[t.AUDIO = 1] = "AUDIO", t[t.VIDEO = 2] = "VIDEO", t))(y || {}), z = /* @__PURE__ */ ((t) => (t.IDLE = "idle", t.CALLING = "calling", t.CONNECTED = "connected", t))(z || {}), M = /* @__PURE__ */ ((t) => (t.CALL = "call", t.CUSTOM = "custom", t))(M || {}), V = /* @__PURE__ */ ((t) => (t.UNKNOWN = "unknown", t.INVITER = "inviter", t.INVITEE = "invitee", t.CALLEE = "callee", t.CALLER = "caller", t))(V || {}), He = /* @__PURE__ */ ((t) => (t.CONTAIN = "contain", t.COVER = "cover", t.FILL = "fill", t))(He || {}), Je = /* @__PURE__ */ ((t) => (t.RESOLUTION_480P = "480p", t.RESOLUTION_720P = "720p", t.RESOLUTION_1080P = "1080p", t))(Je || {}); const F = { 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" }, Ae = { CALL_STATUS: "callStatus", CALL_ROLE: "callRole", CALL_MEDIA_TYPE: "callMediaType", LOCAL_USER_INFO: "localUserInfo", REMOTE_USER_INFO_LIST: "remoteUserInfoList", CALLER_USER_INFO: "callerUserInfo", IS_GROUP: "isGroup", CALL_DURATION: "callDuration", CALL_TIPS: "callTips", TOAST_INFO: "toastInfo", IS_MINIMIZED: "isMinimized", LANGUAGE: "language", IS_CLICKABLE: "isClickable", DISPLAY_MODE: "displayMode", VIDEO_RESOLUTION: "videoResolution" }, a = { PREFIX: "【CallService】", 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", ...Ae }; class At { constructor() { this.defaultStore = { callStatus: z.IDLE, callRole: V.UNKNOWN, callMediaType: y.UNKNOWN, localUserInfo: { userId: "" }, remoteUserInfoList: [], callerUserInfo: { userId: "" }, isGroup: !1, callDuration: "00:00:00", // 通话时长 callTips: "", // 通话提示的信息. 例如: '等待谁接听', 'xxx 拒绝通话', 'xxx 挂断通话' toastInfo: { text: "" }, // 远端用户挂断、拒绝、超时、忙线等的 toast 提示信息 isMinimized: !1, language: "zh-cn", // en, zh-cn isClickable: !1, // 是否可点击, ref: https://tapd.woa.com/TerWebG/prong/stories/view/1020396022885692719 // TUICallKit 组件上的属性 displayMode: He.COVER, // 设置预览远端的画面显示模式 videoResolution: Je.RESOLUTION_480P }, this.store = Object.assign({}, this.defaultStore); } update(e, i) { switch (e) { default: this.store[e] = i; } } getData(e) { return e ? this.store[e] : this.store; } // reset call store reset(e = []) { e.length === 0 && (e = Object.keys(this.store)); const i = e.reduce((l, s) => ({ ...l, [s]: this.defaultStore[s] }), {}); this.store = { ...this.defaultStore, ...this.store, ...i }; } } class ie { constructor() { this.timerId = -1, this.storeMap = { [M.CALL]: new At() }, this.task = {}; } /** * 获取 TUIStore 实例 */ static getInstance() { return ie.instance || (ie.instance = new ie()), ie.instance; } /** * UI 组件注册监听回调 * @param {StoreName} storeName store 名称 * @param {IOptions} options 监听信息 */ watch(e, i) { this.task[e] || (this.task[e] = {}); const l = this.task[e]; Object.keys(i).forEach((s) => { const I = i[s]; l[s] || (l[s] = /* @__PURE__ */ new Map()), l[s].set(I, 1), this.notify(e, s); }); } /** * UI 取消组件监听回调 * @param {StoreName} storeName store 名称 * @param {IOptions} options 监听信息,包含需要取消的回掉等 */ unwatch(e, i) { if (!this.task[e]) return; const l = this.task[e]; Object.keys(i).forEach((s) => { l[s].delete(i[s]); }); } /** * 通用 store 数据更新,messageList 的变更需要单独处理 * @param {StoreName} storeName store 名称 * @param {string} key 变更的 key * @param {unknown} data 变更的数据 */ update(e, i, l) { var s; (s = this.storeMap[e]) == null || s.update(i, l), this.notify(e, i); } /** * 获取 Store 数据 * @param {StoreName} storeName store 名称 * @param {string} key 待获取的 key */ getData(e, i) { var l; return (l = this.storeMap[e]) == null ? void 0 : l.getData(i); } /** * UI 组件注册监听回调 * @param {StoreName} storeName store 名称 * @param {string} key 变更的 key */ notify(e, i) { if (!this.task[e]) return; const l = this.task[e]; if (l[i]) { const s = l[i], I = this.getData(e, i); for (const [o] of s.entries()) o.call(this, I); } } reset(e, i = [], l = !1) { if (e in this.storeMap) { const s = this.storeMap[e]; i.length === 0 && (i = Object.keys(s == null ? void 0 : s.store)), s.reset(i), l && i.forEach((I) => { this.notify(e, I); }); } } // 批量修改多个 key-value updateStore(e, i) { let l = i || M.CALL; Object.keys(e).forEach((s) => { this.update(l, s, e[s]); }); } } const gt = { hangup: "Hang up", reject: "Decline", "other side reject call": "other side reject call", "reject call": "Reject Call", accept: "Accept", 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", timeout: "timeout", "kick out": "kick out", "caller calling message": "Waiting for the callee to accept the invitation...", "callee calling video message": "You are invited to a video call...", "callee calling audio message": "You are invited to a audio call...", "no microphone access": "no microphone access", "no camera access": "no camera access", speaker: "speaker", "Invited group call": "Invited you to a group call", "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", waiting: "Calling...", "camera-opened": "Camera on", "camera-closed": "Camera off", "microphone-opened": "Mic on", "microphone-closed": "Mic off", camera: "Camera", microphone: "Microphone", "image-resolution": "Resolution", "default-image-resolution": "Default", "invited-person": "Invite", "video-to-audio": "Switch to audio", me: "(me)", "start-voice-call": "Audio call from ", "start-video-call": "Video call from ", "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", "call-failed": "call method failed", "microphone-unavailable": "No mic found", "ban-device": "Device access denied", "not-supported-webrtc": "Your current environment does not support WebRTC", "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", try: "try", "Scan the QR code above": "Scan the QR code above", "Make video calls yourself": "Make video calls yourself", "accept-error": "Accept failed", "accept-device-error": "Accept failed, unable to auth calling device", "call-error": "Start call failed" }, dt = { hangup: "挂断", reject: "拒绝", "other side reject call": "对方已拒绝", "reject call": "拒绝通话", accept: "接受", cancel: "取消通话", "other side line busy": "对方忙线", "in busy": "正在忙", "call timeout": "呼叫超时", "end call": "结束通话", timeout: "超时", "kick out": "被踢", "caller calling message": "正在等待对方接受邀请…", "callee calling video message": "邀请您进行视频通话…", "callee calling audio message": "邀请您进行语音通话…", "no microphone access": "没有麦克风权限", "no camera access": "没有摄像头权限", speaker: "扬声器", "Invited group call": "邀请你参加多人通话", "Those involved": "参与通话的有:", call: "通话", "video-call": "视频通话", "audio-call": "音频通话", search: "搜索", "search-result": "搜索结果", "Wechat scan right QR code": "微信扫右二维码", "Use-phone-and-computer": "用手机与电脑互打体验视频通话", try: "试试", "Scan the QR code above": "扫描上方二维码", "Make video calls yourself": "自己玩转视频通话", "no-user": "未搜索到用户", "member-not-added": "未添加成员", "not-login": "未登录", "login-status-expire": "登录状态已失效,请刷新网页重试", "experience-multi-call": "体验多人通话请下载全功能demo:", "not-support-multi-call": "多人通话接口未开放", "input-phone-userID": "请输入手机号/用户ID", userID: "用户ID", "already-enter": "已经进入当前通话", waiting: "等待接听...", "camera-opened": "摄像头已开", "camera-closed": "摄像头已关", "microphone-opened": "麦克风已开", "microphone-closed": "麦克风已关", camera: "摄像头", microphone: "麦克风", "image-resolution": "分辨率", "default-image-resolution": "默认分辨率", "invited-person": "添加成员", "video-to-audio": "切到语音通话", me: "(我)", "start-voice-call": "发起的语音通话", "start-video-call": "发起的视频通话", "be-rejected": "对方已拒绝,", "be-no-response": "对方无应答,", "be-line-busy": "对方忙线中,", "be-canceled": "对方已取消", "voice-call-end": "语音通话结束", "video-call-end": "视频通话结束", "method-call-failed": "同步操作失败", "failed-to-obtain-permission": "权限获取失败", "environment-detection-failed": "环境检测失败", "call-failed": "调用失败", "microphone-unavailable": "没有可用的麦克风设备", "ban-device": "用户禁止使用设备", "not-supported-webrtc": "当前环境不支持 WebRTC", "is-already-calling": "TUICallKit 已在通话状态", "need-init": "TUICallKit 发起通话前需保证 TUICallKitServer.init() 方法执行成功", "can't call yourself": "不能呼叫自己", "accept-error": "接通失败", "accept-device-error": "接通失败,通话设备获取失败", "call-error": "发起通话失败" }, P = { 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", 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" }, pe = { en: gt, "zh-cn": dt }; function Y(t) { var l; const e = r.getData(M.CALL, a.LANGUAGE); for (const s in pe) if (s === e) { const I = pe[s]; for (const o in I) if (o === t) return I[o]; } const i = (l = t.en) == null ? void 0 : l.key; return console.error(`${a.PREFIX}translation is not found: ${t}.`), i; } function J() { return function(t, e, i) { const l = i.value, s = /* @__PURE__ */ new Set(); return i.value = async function(...I) { if (s.has(this)) { console.warn(`${a.PREFIX}previous ${e}() is ongoing, please avoid repeated calls`); return; } try { s.add(this); const o = await l.apply(this, I); return s.delete(this), o; } catch (o) { throw s.delete(this), o; } }, i; }; } const Nt = function(t) { if (typeof t !== a.OBJECT || t === null) return !1; const e = Object.getPrototypeOf(t); if (e === null) return !0; let i = e; for (; Object.getPrototypeOf(i) !== null; ) i = Object.getPrototypeOf(i); return e === i; }; function Lt(t) { const e = Math.floor(t / 3600), i = Math.floor(t % 3600 / 60), l = Math.floor(t % 60); let s = e > 9 ? `${e}` : `0${e}`; return s += i > 9 ? `:${i}` : `:0${i}`, s += l > 9 ? `:${l}` : `:0${l}`, s; } function Dt(t) { const e = t.split(":"); return parseInt(e[0]) * 3600 + parseInt(e[1]) * 60 + parseInt(e[2]); } function _e(t) { return (t == null ? void 0 : t.message.indexOf("is ongoing, please avoid repeated calls")) !== -1; } function Ct(t) { const { message: e } = t; return e.indexOf("NotAllowedError: Permission denied") !== -1; } function Te(t, e) { let i = { userId: t, nick: "", avatar: "", isAudioAvailable: !1, isVideoAvailable: !1, isEnter: !1, domId: e || t }; return e ? i : { ...i, isEnter: !1 }; } const Et = function(t) { return typeof t === a.FUNCTION; }; let Ne = class { static generateTaskID() { return this.currentTaskID++; } /** * * @param {string} taskName 'interval' 'timeout' * @param {function} callback * @param {object} options include: * @param {number} options.delay millisecond * @param {number} options.count 定时器回调执行次数,0 无限次 or n次 * @param {boolean} options.backgroundTask 在页面静默后是否继续执行定时器 */ static run(e = a.TIMEOUT, i, l) { e === a.INTERVAL ? l = { delay: 2e3, count: 0, backgroundTask: !0, ...l } : l = { delay: 2e3, count: 0, backgroundTask: !0, ...l }, Nt(i) && (l = { ...l, ...i }), Et(e) && (i = e, e = a.TIMEOUT); const s = { taskID: this.generateTaskID(), loopCount: 0, intervalID: null, timeoutID: null, taskName: e, callback: i, ...l }; return this.taskMap.set(s.taskID, s), e === a.INTERNAL ? this.interval(s) : this.timeout(s), s.taskID; } /** * 定时循环执行回调函数 * 可以指定循环的时间间隔 * 可以指定循环次数 * @param {object} taskItem * @param {function} callback * @param {*} delay * @param {*} count * @returns ID */ static interval(e) { const i = () => { e.callback(), e.loopCount += 1, this.isBreakLoop(e); }; return e.intervalID = setInterval(i, e.delay); } /** * 延迟执行回调 * count = 0,循环 * count = n, 执行n次 * @param {object} taskItem * */ static timeout(e) { const i = () => { if (e.callback(), e.loopCount += 1, !this.isBreakLoop(e)) return e.timeoutID = setTimeout(i, e.delay); }; return e.timeoutID = setTimeout(i, e.delay); } static hasTask(e) { return this.taskMap.has(e); } static clearTask(e) { if (!this.taskMap.has(e)) return !0; const { intervalID: i, timeoutID: l, onVisibilitychange: s } = this.taskMap.get(e); return i && clearInterval(i), l && clearTimeout(l), s && document.removeEventListener("visibilitychange", s), this.taskMap.delete(e), !0; } /** * 1. 如果已移除出定时队列,退出当前任务 * 2. 如果当前任务已满足次数限制,则退出当前任务 * @param {object} taskItem * @returns */ static isBreakLoop(e) { return this.taskMap.has(e.taskID) ? e.count !== 0 && e.loopCount >= e.count ? (this.clearTask(e.taskID), !0) : !1 : !0; } }; Ne.taskMap = /* @__PURE__ */ new Map(); Ne.currentTaskID = 1; var jt = Object.defineProperty, yt = Object.getOwnPropertyDescriptor, K = (t, e, i, l) => { for (var s = l > 1 ? void 0 : l ? yt(e, i) : e, I = t.length - 1, o; I >= 0; I--) (o = t[I]) && (s = (l ? o(e, i, s) : o(s)) || s); return l && s && jt(e, i, s), s; }; const _t = "2.4.8"; let Tt = "../static/phone_dialing.mp3", St = "../static/phone_ringing.mp3"; const re = class { constructor() { this._tim = null, this._TUICore = null, this._timerId = -1, this._callingBell = null, console.log(`${a.PREFIX}version: ${_t}`), this._watchTUIStore(); } static getInstance() { return re.instance || (re.instance = new re()), re.instance; } async init(t = {}) { try { let { sdkAppID: e, tim: i, userID: l, userSig: s, SDKAppID: I } = t; this._TUICore && (e = this._TUICore.SDKAppID, i = this._TUICore.tim), this._tim = i, console.war