@hysc/external
Advanced tools
+1
-1
| "use strict";var Me=Object.create;var v=Object.defineProperty,Ce=Object.defineProperties,Ee=Object.getOwnPropertyDescriptor,Se=Object.getOwnPropertyDescriptors,Te=Object.getOwnPropertyNames,F=Object.getOwnPropertySymbols,xe=Object.getPrototypeOf,G=Object.prototype.hasOwnProperty,Oe=Object.prototype.propertyIsEnumerable;var j=(m,e,t)=>e in m?v(m,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):m[e]=t,H=(m,e)=>{for(var t in e||(e={}))G.call(e,t)&&j(m,t,e[t]);if(F)for(var t of F(e))Oe.call(e,t)&&j(m,t,e[t]);return m},z=(m,e)=>Ce(m,Se(e));var Ue=(m,e)=>{for(var t in e)v(m,t,{get:e[t],enumerable:!0})},V=(m,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Te(e))!G.call(m,s)&&s!==t&&v(m,s,{get:()=>e[s],enumerable:!(n=Ee(e,s))||n.enumerable});return m};var Be=(m,e,t)=>(t=m!=null?Me(xe(m)):{},V(e||!m||!m.__esModule?v(t,"default",{value:m,enumerable:!0}):t,m)),Le=m=>V(v({},"__esModule",{value:!0}),m);var S=(m,e,t)=>new Promise((n,s)=>{var i=l=>{try{o(t.next(l))}catch(d){s(d)}},r=l=>{try{o(t.throw(l))}catch(d){s(d)}},o=l=>l.done?n(l.value):Promise.resolve(l.value).then(i,r);o((t=t.apply(m,e)).next())});var ze={};Ue(ze,{default:()=>He});module.exports=Le(ze);var Je={create:function(){return function(){this.init.apply(this,arguments)}}},Ne=function(m,e){for(var t in e)m[t]=e[t]},D="postMessage"in window,W=function(m,e){var t="";if(arguments.length<2?t="target error - target and name are both required":typeof m!="object"?t="target error - target itself must be window object":typeof e!="string"&&(t="target error - target name must be string type"),t)throw new Error(t);this.target=m,this.name=e};W.prototype.send=function(m){if(D)this.target.postMessage(m,"*");else{var e=window.navigator[this.name];if(typeof e=="function")e(m,window);else throw new Error("target callback function is not defined")}};var Q=Je.create();Q.prototype={init:function(m){this.setOption(m),this.name=this.options.name,this.targets=this.options.targets,this.listenFunc=this.options.listenFunc,this.initListen()},setOption:function(m){this.options={name:"message",targets:{},listenFunc:[]},Ne(this.options,m||{})},initListen:function(){var m=this,e=function(t){typeof t=="object"&&t.data&&(t=t.data);for(var n=0;n<m.listenFunc.length;n++)m.listenFunc[n](t)};D?window.addEventListener?window.addEventListener("message",e,!1):window.attachEvent("onmessage",e):window.navigator[this.name]=e},addTarget:function(m,e){var t=new W(m,this.name);this.targets[e]=t},listen:function(m){this.listenFunc.push(m)},clear:function(){this.listenFunc=[]},send:function(m){for(var e in this.targets)this.targets.hasOwnProperty(e)&&this.targets[e].send(m)}};var $=Q;var g=class{static error(e,t){return{code:e,message:t}}static succ(e="succ"){return{code:200,message:e}}static notInitIframe(){return{code:201,message:"iframe not init"}}};var I,k=new Map,R=1,w,O,c=class{static createMeassage(e,t){w=e,O=t,I||(I=new $,I.addTarget(e.contentWindow,"iframe"))}static addListener(){I.clear(),I.listen(e=>{if(typeof e=="string"){let t;try{t=JSON.parse(e),t&&t.type==="request"?this.getRequest(t):t&&t.type==="response"&&this.getResponse(t)}catch(n){console.log("addListener error",n)}}})}static request(e,t=null){let n={};n.id=R,n.type="request",n.name=e,t&&(n.data=t);let s=JSON.stringify(n);if(!I){console.log("request: message is destroy");return}I.targets.iframe&&I.targets.iframe.send(s),R++}static getRequest(e){this.assembleResponse(e)}static assembleResponse(e){let t={},n=e.id,s=e.type;if(s==="request"&&e.name){t.id=n,t.name=e.name,t.type="response";let i=new CustomEvent(e.name,{detail:e.data}),r=I.targets.iframe;if(!r){document.dispatchEvent(i);return}switch(e.name){case"participant-joined":r.send(JSON.stringify(t));break;case"room-events":r.send(JSON.stringify(t));break;case"participant-left":r.send(JSON.stringify(t));break;case"room-connected":r.send(JSON.stringify(t));break;case"user-status-change":r.send(JSON.stringify(t));break;case"room-error":r.send(JSON.stringify(t));break;case"change-room-config":r.send(JSON.stringify(t));break;case"change-video-config":r.send(JSON.stringify(t));break;case"room-end":r.send(JSON.stringify(t)),this.clear();break;case"full-screen":r.send(JSON.stringify(t));break;case"need-secret":r.send(JSON.stringify(t)),this.clear();break;case"change-master":r.send(JSON.stringify(t));break;case"snapshot":r.send(JSON.stringify(t));break;case"shareEvent":r.send(JSON.stringify(t));break;case"inviteEvent":r.send(JSON.stringify(t));break;case"callUserEvent":r.send(JSON.stringify(t));break;case"callNoJoin":r.send(JSON.stringify(t));break;case"fullScreen":r.send(JSON.stringify(t));break;case"exitFullScreen":r.send(JSON.stringify(t));break;case"minApp":r.send(JSON.stringify(t));break;case"doubleClick":r.send(JSON.stringify(t));break;case"changeClientSize":r.send(JSON.stringify(t));break;case"get-participants":r.send(JSON.stringify(t));break;case"maxWindow":r.send(JSON.stringify(t));break;case"exitMax":r.send(JSON.stringify(t));break;case"signalChanged":r.send(JSON.stringify(t));break;default:t.data="not support name",r.send(JSON.stringify(t)),i=new CustomEvent(s,{detail:"not support name"})}document.dispatchEvent(i)}}static getResponse(e){let t=e.id,n={};n.code="200",e.data&&(n.data=e.data);let s=k.get(t);s&&s.resolve(n),k.delete(t)}static clear(){I.clear(),I=void 0,console.log("clear _iframe"),w&&w.remove(),w=void 0,typeof O=="function"&&O()}static refreshIframe(e){return new Promise((t,n)=>{w?(k.set(R,{resolve:t,reject:n}),this.request("refreshIframe",{url:e})):n(g.notInitIframe())})}static setPromiseMap(e,t){k.set(R,{resolve:e,reject:t})}static getPromiseMap(){return k.get(R)}};var M=class{static organizeUrl(e,t,n){let s=this.organizeParameters(t,n);return e+"#/out/joinRoom?"+s}static organizeParameters(e,t){let n=this.obtainBusinessParametersObject(e,t),s="";for(let i in n){let r="";typeof n[i]=="object"?r=JSON.stringify(n[i]):r=n[i]+"",r.length>0&&r!="undefined"&&(s+=`&${i}=${encodeURIComponent(r)}`)}return s?s.substring(1):""}static obtainBusinessParametersObject(e,t){let n={};if(n=e,t)for(let s in t)t[s]!==void 0&&t[s]!==null&&(n[s]=t[s]);return n}};var te=Be(require("@hysc/encrypt"));var Y,T,X,U,Z,B,ee=30*1e3,qe={code:311,message:"\u7F51\u7EDC\u8BF7\u6C42\u8D85\u65F6"},a=class{static setBaseBusinessURL(e){Z=e}static getBaseBusinessURL(){return Z}static setBusinessToken(e){e&&e.indexOf("Bearer")==-1?B="Bearer "+e:B=e}static getBusinessToken(){return B}static setBaseURL(e){T=e}static getBaseURL(){return T}static setEncryptKey(e){this.encryptKey=e,this.encrypt.setSm2KeyPair(e)}static setServerAPI(e){X=e}static getServerAPI(){return X}static setToken(e){Y=e}static getToken(){return Y}static setCustomToken(e){U=e}static getCustomToken(){return U}static setupEncrypt(){this.encrypt=new te.default}static generateClientId(){return S(this,null,function*(){let e=this.encrypt.getClientId(!0);return this.clientId=e,yield this.trans()})}static trans(){return S(this,null,function*(){let e=this.encrypt.getPairKey(!0);this.pairKey=e,console.log("pairkey",e);let t=this.encrypt.encryptSm2(`${e.enKey}:${e.deKey}`);return console.log("trans sm2 encrypt data",t),fetch(T+"/api/store",{headers:{"Access-Control-Allow-Origin":"*",imei:this.clientId,"Content-Type":"application/json"},method:"POST",body:JSON.stringify({p:t})})})}static get(e,t,n){return this.request("GET",e,t,n)}static post(e,t,n,s=ee){return this.request("POST",e,t,n,s)}static request(e="GET",t,n,s,i=ee){let r=new Promise((l,d)=>{setTimeout(()=>{d(qe)},i)}),o=new Promise((l,d)=>S(this,null,function*(){t.startsWith("http")||(t=T+t);let u;s?u=s:u=U;let f={"Content-Type":"application/json",Authorization:u};this.encryptKey&&(this.clientId||(yield this.generateClientId()),this.clientId&&(f.imei=this.clientId));let E=this.encryptKey?JSON.stringify({data:this.encrypt.encryptSm4(JSON.stringify(n),this.pairKey.enKey)}):JSON.stringify(n);fetch(t,{body:e==="GET"?null:E,headers:f,method:e}).then(h=>this.handleServerData(h,t,n)).then(h=>{console.log(` | ||
| ############# data= | ||
| `,h,t),h&&h.msg&&(h.message=h.msg),l(h)}).catch(h=>{console.log(` | ||
| ############# json err`,h),d(h)})}));return Promise.race([o,r])}static handleServerData(e,t,n){return e.ok?this.encryptKey?e.json().then(s=>{if(s.data.noCipher)return s;let i=this.encrypt.decryptSm4(s.data.ciphertext,this.pairKey.deKey);return console.log("descrypt sm4",i),JSON.parse(i)}):e.json():e.status===500?Promise.reject({code:500,message:"\u8FDE\u63A5\u670D\u52A1\u5668\u5931\u8D25, \u8BF7\u68C0\u67E5\u7F51\u7EDC\u91CD\u8BD5!",url:t,param:n}):e.status===404?Promise.reject({code:404,message:"404",url:t,param:n}):e.status===502?Promise.reject({code:502,message:"\u8FDE\u63A5\u670D\u52A1\u5668\u5931\u8D25, \u8BF7\u68C0\u67E5\u7F51\u7EDC\u91CD\u8BD5!",url:t,param:n}):Promise.reject({code:e.status,message:e.status+"",url:t,param:n})}};var Ke={default:"#216bff",hover:"#6497ff",disabled:"#90b5ff"},Ae={master:"#ff742e",manager:"#216bff",signal:"#44d97b"},Fe="#dbe7ff",je={primaryColor:Ke,identityColor:Ae,listHoverStyle:Fe},L=je;var ne="meeting-setting",C=class{static setMeetingSetting(e){let t=JSON.stringify(e);localStorage==null||localStorage.setItem(ne,t)}static getMeetingSetting(){let e=localStorage==null?void 0:localStorage.getItem(ne);if(e)try{return JSON.parse(e)}catch(t){return null}return null}};var b=class{static loginExternalAccount(e,t){let n=a.getBaseBusinessURL()+"/api/v3/tenant/user/login",s=e.extUserId,i=e.nonce?e.nonce:"EycLQsHwxhzK9OW8UEKWNfH2I3CGR2nINuU1EBpQ",r=e.nickname,o=e.avatar,l=e.expireTime,d=e.signature,u={app_id:t,uuid:s,nickname:r,avatar:o,expire_time:l,nonce:i,signature:d};return a.post(n,u).then(f=>f.code==200?Promise.resolve(f.data):Promise.reject(g.error(f.code,f.message))).catch(f=>Promise.reject(f))}static getUserJoinMeetingMsg(e){let t=a.getBaseBusinessURL()+"/api/v3/tenant/meeting/get-user-join-meeting-msg",n=e.nonce||"EycLQsHwxhzK9OW8UEKWNfH2I3CGR2nINuU1EBpQ",s=e.expireTime||new Date().getTime()+24*60*60+"",r={room_id:e.roomId,expire_time:s,nonce:n};return a.post(t,r,a.getBusinessToken()).then(o=>o.code==200?Promise.resolve(o.data):Promise.reject(g.error(o.code,o.message))).catch(o=>Promise.reject(o))}static getCompanyMeetingControl(){let e=C.getMeetingSetting();if(e)return Promise.resolve(e);let t=a.getBaseBusinessURL()+"/api/conference/v3/meeting/get-meeting-config";return a.get(t,void 0,a.getBusinessToken()).then(n=>n.code==200?(C.setMeetingSetting(n.data),Promise.resolve(n.data)):Promise.reject(g.error(n.code,n.message))).catch(n=>Promise.reject(n))}static getSignature(){let e=(Math.floor(Date.now()/1e3)+864e3).toString(),t="KaYlJIadhasudqwhnasdj";return new Promise((n,s)=>{let i=a.getBaseBusinessURL()+"/api/v3/user/get-saasapi-signature";a.post(i,{expire_time:e,nonce:t},a.getBusinessToken()).then(r=>{r.code==200?n({signature:r.data.signature,expireTime:e,nonce:t}):s(g.error(r.code,r.message))}).catch(r=>{s(g.error(r.code,r.message))})})}static getBoomShare(e){return new Promise((t,n)=>{let s=a.getBaseBusinessURL()+`/api/conference/v1/meetingInfo?room_id=${e}`;a.get(s).then(i=>{i.code==200?t({code:200,message:"success",data:i.data}):n(g.error(i.code,i.message))}).catch(i=>{n(g.error(i.code,i.message))})})}static _getRoomToken(e){let t="/v2/web/get-room-token";return a.post(t,e,void 0,4*1e3).then(n=>n.code===200?n.data:Promise.reject(g.error(n.code,"\u767B\u5F55\u5931\u8D25:"+n.message))).catch(n=>(console.warn(n.message),n.message=="Failed to fetch"?Promise.reject(g.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):Promise.reject(n)))}static getRoomToken(e){let t=0;return new Promise((n,s)=>{let i=()=>{this._getRoomToken(e).then(r=>{n(r)}).catch(r=>{if(t>=5){s(r);return}t++,console.warn("_getRoomToken",r.message),i()})};i()})}static extCreate(e){let t=a.getBaseBusinessURL()+"/api/v4/private/meeting/create";e.start_time||(e.start_time=new Date().getTime()/1e3+60,e.end_time=e.start_time+1*60*60);let n={title:e.room_name,start_time:e.start_time,end_time:e.end_time,password:e.secret,mustmaster:e.is_must_host,room:e.room,is_earily:0,qdtls:0,master:e.creator,admin_list:e.admins,userlist:e.guests,auto_call_device:0,meeting_type:e.mode,template_name:e.template_name,meeting_record:e.meeting_record,only_invite:!(e.room_type==1||e.room_type==null),watermark:e.watermark?e.watermark:0,quiz_domain:e.quiz_domain?e.quiz_domain:""},s=a.getBusinessToken();return new Promise((i,r)=>a.post(t,n,s).then(o=>{o.code===200?i({code:200,message:"succ",data:o.data}):r(g.error(o.code,o.msg))}).catch(o=>{r(g.error(o.code,o.msg))}))}static create(e){let t="/v2/web/create-room",n={room:e.room,mode:e.mode,room_type:e.room_type,room_name:e.room_name,start_time:e.start_time,end_time:e.end_time,creator:e.creator,creator_nickname:e.creator_nickname,user_num:e.user_num||0,template_name:e.template_name?e.template_name:"triple",secret:e.secret||"",is_must_host:e.is_must_host||!1,is_record:e.is_record,record:e.record,is_mini_app:e.is_mini_app||!1};return new Promise((s,i)=>{a.post(t,n).then(r=>{r.code===200?s({code:200,message:"succ",data:e.room}):i(g.error(r.code,r.msg))}).catch(r=>{i(g.error(r.code,r.msg))})})}static checkRoomJoin(e){let t="/v2/web/check-room-join";return new Promise((n,s)=>{a.post(t,e).then(i=>{i.code===200?n({code:200,message:"succ",data:i.data}):s(g.error(i.code,i.msg))}).catch(i=>{s(g.error(i.code,i.msg))})})}static extJoinMeetingInfo(e){let t=a.getBaseBusinessURL()+"/api/v3/tenant/meeting/get-user-join-meeting-msg";return new Promise((n,s)=>{let i=new Date().getTime()+86400,r="EycLQsHwxhzK9OW8UEKWNfH2I3CGR2nINuU1EBpQ";a.post(t,{room_id:e,expire_time:i,nonce:r}).then(o=>{if(o.code===200){let l=o.data;l.expireTime=i,l.nonce=r,n({code:200,message:"succ",data:l})}else s(g.error(o.code,o.msg))}).catch(o=>{s(g.error(o.code,o.msg))})})}static padTo2Digits(e){return e<10?"0"+e:e+""}static formatDate(e){return[e.getFullYear(),this.padTo2Digits(e.getMonth()+1),this.padTo2Digits(e.getDate())].join("-")+" "+[this.padTo2Digits(e.getHours()),this.padTo2Digits(e.getMinutes())].join(":")}};function J(m){let e=Number(m);return isNaN(e)?0:e}function N(m){return typeof m=="number"&&!isNaN(m)}var _,y,se,q,p={},re,x,K,ie="360p",ae=1,oe={},ce=!1,me=!1,ge=1,A,Ge,le,P=class{static setup(e){return e.appId?e.baseURL?e.domain?(this.setupParam=e,this.style={position:"absolute",width:"100%",height:"100%",top:"0px",margin:"0px",right:"0px"},a.setBaseURL(e.baseURL),e.enableEncrypt&&e.publicKey&&(a.setupEncrypt(),a.setEncryptKey(e.publicKey)),!0):(console.error("\u8BF7\u4F20\u5165 domain, \u521D\u59CB\u5316\u5931\u8D25"),!1):(console.error("\u8BF7\u4F20\u5165 baseURL, \u521D\u59CB\u5316\u5931\u8D25"),!1):(console.error("\u8BF7\u4F20\u5165 appId, \u521D\u59CB\u5316\u5931\u8D25"),!1)}static getVersion(){return"2.4.5"}static isExternalUser(){return!!a.getBaseBusinessURL()||this.isExtUser}static login(e){return new Promise((t,n)=>{var r;if(a.getBaseURL()||n(g.error(501,"sassURL\u4E3A\u7A7A")),!((r=this.setupParam)!=null&&r.appId)){n(g.error(501,"appId\u4E3A\u7A7A"));return}if(!e.expireTime){n(g.error(501,"\u7B7E\u540D\u7684\u8FC7\u671F\u65F6\u95F4\u6233\u4E3A\u7A7A"));return}if(!e.nonce){n(g.error(501,"\u751F\u6210\u7B7E\u540D\u7684\u968F\u673A\u5B57\u7B26\u4E32\u4E3A\u7A7A"));return}if(!e.userId){n(g.error(501,"\u7528\u6237Id\u4E3A\u7A7A"));return}if(!e.signature){n(g.error(501,"\u7B7E\u540D\u4E3A\u7A7A"));return}e.extUserId&&(this.extUserId=e.extUserId);let i;this.setupParam.enableEncrypt?i={app_id:this.setupParam.appId,expire_time:e.expireTime,nonce:e.nonce,user_id:e.userId,signature:e.signature,nickname:e.nickname,enable_encrypt:1,avatar:e.avatar}:i={app_id:this.setupParam.appId,expire_time:e.expireTime,nonce:e.nonce,user_id:e.userId,signature:e.signature,nickname:e.nickname,avatar:e.avatar},b.getRoomToken(i).then(o=>{let{api:l,token:d,jwt_token:u,brtc_appid:f}=o;x=e.userId,this.loginParam=z(H({},e),{userId:x}),l&&d&&u?(a.setServerAPI(l),a.setToken(d),a.setCustomToken(u),re=f,this.brtc_host=o.brtc_host,this.brtm_host=o.brtm_host,t({code:200,message:"succ",data:o})):(console.warn("\u670D\u52A1\u5668\u53C2\u6570\u6821\u9A8C\u5931\u8D25"),n(g.error(300,"\u670D\u52A1\u5668\u53C2\u6570\u6821\u9A8C\u5931\u8D25")))}).catch(o=>{n(o)})})}static loginExternalAccount(e){return new Promise((t,n)=>{this.isExtUser=!0,this.extUserId=e.extUserId,a.setBaseBusinessURL(this.setupParam.baseURL),b.loginExternalAccount(e,this.setupParam.appId).then(s=>{console.log("business-login \u83B7\u53D6\u6388\u6743\u6210\u529F===>",s),a.setBusinessToken(s.authorization);let i=s.user_id;this.setupParam.appId=s.saas_app_id,this.setupParam.domain=s.saas_domain,this.setupParam.baseURL=s.saas_server_host,a.setBaseURL(s.saas_server_host);let r={userId:i,nickname:e.nickname,avatar:e.avatar,expireTime:s.expire_time,nonce:s.nonce,signature:s.saas_signature};return b.getCompanyMeetingControl().catch(o=>{console.error("get company info error",o)}),this.login(r)}).then(s=>{console.log("saas-login succ",s),t(s)}).catch(s=>{console.warn("loginExternalAccount error",s),n(g.error(s.code,s.message))})})}static logout(){let e="/v2/web/log-out";return new Promise((t,n)=>{a.post(e).then(s=>{s.code===200?(a.setServerAPI(""),a.setToken(""),a.setCustomToken(""),t({code:200,message:"\u9000\u51FA\u6210\u529F"})):n(g.error(s.code,"\u9000\u51FA\u5931\u8D25"))}).catch(s=>{n(s)})})}static create(e){return this.isExternalUser()?b.extCreate(e):b.create(e)}static join(e){var t;return this.isExternalUser()?((t=e==null?void 0:e.user)!=null&&t.includes("robot_")?e.user=`robot_${x}`:e.user=x,this.private_join(e,void 0).then(n=>(this.getBoomShare(e.roomId).then(s=>(A=s.data,console.log("boomShare===========>",s),Promise.resolve(s))).catch(s=>(console.log("boomShare===========>error",s),(s==null?void 0:s.message)=="Failed to fetch"?Promise.reject(g.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):Promise.reject(s))),_&&c.request("set-boom-share",{boomShare:A}),Promise.resolve(n))).catch(n=>(console.error("check room join failed",n),(n==null?void 0:n.message)=="Failed to fetch"?Promise.reject(g.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):Promise.reject(n)))):this.private_join(e)}static private_join(e,t,n){let s=a.getBaseURL(),i=a.getServerAPI();return e.avatar=e.avatar?e.avatar:this.loginParam.avatar,this.companyMeetingConfigInfo=n,this.meetingInfo=t,new Promise((r,o)=>{let l;e.screen?l=new Promise(d=>{d({code:200,data:{token:a.getToken(),room:e.roomId,user_id:e.user?e.user:this.loginParam.userId,nickname:e.nickname?e.nickname:this.loginParam.nickname,secret:e.secret,brtc_host:this.brtc_host,mode:e.mode==="live"?2:1}})}):l=b.checkRoomJoin({token:a.getToken(),room:e.roomId,user_id:e.user?e.user:this.loginParam.userId,nickname:e.nickname?e.nickname:this.loginParam.nickname,secret:e.secret,mode:e.mode==="live"?2:1,qdtls:e.qdtls,qdtls_group_id:e.qdtls_group_id}),l.then(d=>{if(d.code===200)if(this.isJoining)console.log("join().this.isJoining:",this.isJoining);else{let u=d.data,{room:f,room_name:E,secret:h,nickname:de,mode:ue,create:pe,joined:fe,creator_nickname:he,call_phone_num:Ie,is_t_livefast:ye,is_big:be,voiceEncourage:_e,noWaiting:Pe,qdtls:ve,qdtls_group_id:ke}=u,Re={action:"join",parentNode:e.parentNode,roomId:f,title:E,secret:h,user:e.user,nickname:de,joined:fe,screen:e.screen,isControl:e.isControl,subVenue:e.subVenue,avatar:e.avatar?encodeURIComponent(e.avatar):"",identity:e.identity,userType:e.userType,videoEnable:e.videoEnable,audioEnable:e.audioEnable,mode:ue==2?"live":"meeting",token:a.getToken(),customToken:a.getCustomToken(),server:s,api:i,role:se,create:pe,room_name:E,creator_nickname:he,call_phone_num:Ie,is_t_livefast:ye,meetingControlOptions:encodeURIComponent(JSON.stringify(e.meetingControlOptions)),electron:e.electron,visitorDocument:e.visitorDocument||!1,brtcAppId:re,brtcSig:u.brtc_sig,brtc_host:this.brtc_host,videoProfile:ie,is_big:be,noWaiting:Pe,voiceEncourage:_e,userListColumns:ae,streamConfig:oe,showMeetingTopic:ce,sortType:ge,singleTalk:me,extUserId:this.extUserId,qdtls:ve?1:0,qdtls_group_id:ke,enableEncrypt:this.setupParam.enableEncrypt,publicKey:this.setupParam.publicKey,clientId:a.clientId,encryptKey:a.encryptKey,pairKey:JSON.stringify(a.pairKey),customInfo:e.customInfo?JSON.stringify(e.customInfo):"{}",template_name:u.template_name?u.template_name:e.template_name};this.isJoining=!0,this.__create(Re).then(()=>{this.isJoining=!1,r(g.succ("success"))}).catch(we=>{this.isJoining=!1,o(we)});return}else o(g.error(d.code,d.message))}).catch(d=>{o(g.error(d.code,d.message))})})}static setRole(e){return new Promise(t=>{se=e,t({code:200,message:"",data:"\u8BBE\u7F6E\u89D2\u8272\u6210\u529F\uFF01"})})}static setWindowNumber(e){return new Promise((t,n)=>{le=e,this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("set-window-number",e))})}static robotJoin(e){e.user&&e.user.indexOf("robot_")==-1&&(e.user="robot_"+e.user);let t=e.meetingControlOptions||{};return t.hideChat=!0,e.meetingControlOptions=t,this.join(e)}static setInvitationInfo(e){return new Promise((t,n)=>{typeof e=="string"?q={inviteInfo:e}:q=e,_?(c.setPromiseMap(t,n),c.request("set-invitation-info",{info:e})):t(g.succ("\u8BBE\u7F6E\u6210\u529F"))})}static setRoomConfig(e){return e?typeof e!="object"?Promise.reject(g.error(101,"parameters not correct")):new Promise((t,n)=>{_?(c.setPromiseMap(t,n),!e.businessInfo&&this.isExternalUser()&&(e.businessInfo={host:a.getBaseBusinessURL(),token:a.getBusinessToken()}),c.request("set-room-config",e)):(p=e,!p.businessInfo&&this.isExternalUser()&&(p.businessInfo={host:a.getBaseBusinessURL(),token:a.getBusinessToken()}),t(g.succ("\u8BBE\u7F6E\u6210\u529F")))}):Promise.reject(g.error(101,"parameters not correct"))}static leave(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("leaveRoom"))})}static release(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("releaseRoom"))})}static getParticipants(){return new Promise((e,t)=>{this._getParticipants().then(n=>{e({code:200,message:"\u83B7\u53D6\u53C2\u4F1A\u4EBA\u5458\u6210\u529F",data:n.data})}).catch(n=>{console.log("getParticipants.err",n),t({code:201,message:"\u83B7\u53D6\u53C2\u4F1A\u4EBA\u5458\u5931\u8D25"})})})}static setTheme(e){return new Promise((t,n)=>{L.identityColor.manager=e,this._setTheme(L).then(s=>{s.data.code===200?t({code:200,message:"\u4E3B\u9898\u989C\u8272\u914D\u7F6E\u6210\u529F"}):n({code:201,message:"\u4E3B\u9898\u989C\u8272\u914D\u7F6E\u5931\u8D25"})}).catch(s=>{n({code:201,message:"\u4E3B\u9898\u989C\u8272\u914D\u7F6E\u5931\u8D25"})})})}static startCloudRecord(e){return new Promise((t,n)=>{this._statCloud(e).then(s=>{s.code===200?t({code:200,message:"\u4E91\u5F55\u5F00\u542F\u6210\u529F"}):t({code:s.code,message:s.message})}).catch(s=>{(s==null?void 0:s.message)=="Failed to fetch"?n(g.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):n(s)})})}static endCloudRecord(e){return new Promise((t,n)=>{this._endCloud(e).then(s=>{s.code===200?t({code:200,message:"\u4E91\u5F55\u7ED3\u675F\u6210\u529F"}):t({code:s.code,message:s.message})}).catch(s=>{n({code:201,message:"\u4E91\u5F55\u7ED3\u675F\u5931\u8D25"})})})}static setLanguage(e){return new Promise((t,n)=>{this._setLanguage(e).then(s=>{console.log("resres",s),s.data.code===200?t({code:200,message:"\u56FD\u9645\u5316\u914D\u7F6E\u6210\u529F"}):n({code:201,message:"\u56FD\u9645\u5316\u914D\u7F6E\u5931\u8D25"})}).catch(s=>{n({code:201,message:"\u56FD\u9645\u5316\u914D\u7F6E\u5931\u8D25"})})})}static getMaster(){return new Promise((e,t)=>{this._getMaster().then(n=>{e({code:200,message:"\u83B7\u53D6\u4E3B\u6301\u4EBA\u6210\u529F",data:n})}).catch(n=>{t({code:201,message:"\u83B7\u53D6\u4E3B\u6301\u4EBA\u5931\u8D25"})})})}static meetingCtrlConfig(e){return new Promise((t,n)=>{Ge=e,this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("meetingCtrlConfig",e))})}static setupMeetingControlOptions(e){this.meetingControlOptions=e}static snapshot(e){return new Promise((t,n)=>{this._snapshot(e).then(s=>{let i={};for(let r=0;r<e.length;r++)i[e[r]]=s.data[r];t({code:200,message:"\u622A\u56FE\u6210\u529F",data:i})}).catch(s=>{n({code:201,message:"\u622A\u56FE\u5931\u8D25"})})})}static syncFullStatus(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("sync-full-status",{full:e}))})}static syncMaxStatus(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("sync-max-status",{max:e}))})}static rename(e,t){return new Promise((n,s)=>{this.checkIframe(s)&&(c.setPromiseMap(n,s),c.request("rename",{id:e,nickname:t}))})}static evictUser(e){return new Promise((t,n)=>{this._evictUser(e).then(s=>{s.data.code===200?t({code:200,message:"\u8E22\u51FA\u7528\u6237\u6210\u529F"}):n({code:201,message:"\u8E22\u51FA\u7528\u6237\u5931\u8D25"})}).catch(s=>{n({code:201,message:"\u8E22\u51FA\u7528\u6237\u5931\u8D25"})})})}static setLocalVideoEnable(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("set-local-camera",e))})}static setLocalAudioEnable(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("set-local-microphone",e))})}static muteRemoteVideoStream(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("mute-remote-video-stream",{uid:e}))})}static muteRemoteAudioStream(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("mute-remote-audio-stream",{uid:e}))})}static setLocalSpeaker(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("set-local-speaker"))})}static setAllMuted(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("toggle-muted",{muted:!0,canOpenBySelf:e}))})}static setAllUnMuted(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("toggle-muted",{muted:!1,canOpenBySelf:!0}))})}static on(e,t){if(this.eventMap?this.eventMap.set(e,t):(this.eventMap=new Map,this.eventMap.set(e,t)),e=="room-end"){let n=s=>{console.log("room-end:depend in code"),this.eventMap&&this.eventMap.forEach((i,r)=>{document.removeEventListener(r,i)}),t&&t(s)};this.eventMap.set("room-end",n)}document.addEventListener(e,n=>{let s=this.eventMap.get(e);s&&s.call(this,n)})}static off(e){try{let t=this.eventMap.get(e);document.removeEventListener(e,t)}catch(t){console.log("off:",t)}}static __create(e,t){return new Promise((n,s)=>{y=e,t&&(this.style=t),!e||!e.action||!e.token?s(g.error(101,"parameters not correct")):(e.action==="create"?this.createIframe(e.electron):e.action==="join"&&this.createIframe(e.electron),n(g.succ()))})}static createIframe(e){var i;let t=this.setupParam.domain;if(_){console.log("createIframe has createIframe",_);try{document.body.removeChild(_)}catch(r){}c.clear()}let n=y.parentNode?y.parentNode:document.body;y.appId=this.setupParam.appId,delete y.parentNode;let s=M.organizeUrl(t,y,{brtm_host:this.brtm_host});if(e&&e.isElectron)if(e.callback)e.callback(s);else{let r=(i=window==null?void 0:window.electron)==null?void 0:i.ipcRenderer;r&&r.invoke("joinBoomRoom",{url:s})}else if(window.BMQTBridge){let r={method:y.action,params:y};window.BMQTBridge.joinRoom&&(console.log("window.qtObject.joinRoom:",JSON.stringify(r)),window.BMQTBridge.joinRoom(JSON.stringify(r))),window.BMQTBridge.joinRoomObj&&(console.log("window.qtObject.joinRoomObj:",r),window.BMQTBridge.joinRoomObj(r));let o=this.eventMap.get("room-end");o&&o.call(this,{})}else{let r=document.createElement("iframe"),o=document.createElement("div");o.style.width="100%",o.style.height="100%",o.style.backGroundColor="black",o.style.zIndex="999999",o.id="fuck",console.log("\u521B\u5EFAiframe"),r.allow="autoplay;geolocation;display-capture;microphone;camera; midi; encrypted-media;fullscreen;cross-origin-isolated;";for(let d in this.style)r.style[d]=this.style[d];r.src=s,console.log("boom_url:"+r.src),r.id="targetIframe",r.style.border="0",!p&&this.isExternalUser()&&(p={businessInfo:{host:a.getBaseBusinessURL(),token:a.getBusinessToken()}}),p.meetingInfo=this.meetingInfo,p.companyMeetingConfigInfo=this.companyMeetingConfigInfo,p.meetingControlOptions=this.meetingControlOptions,p.invitationInfo=q,p.language=K,p.boomShare=A,p.windowNumber=le,p.meetingURL=s;let l=()=>{console.log("iframe\u52A0\u8F7D\u6210\u529F"),c.request("set-room-config",p)};r.attachEvent?r.attachEvent("onload",l):r.onload=l,_=n.appendChild(r),c.createMeassage(r,()=>{_=void 0}),c.addListener()}}static checkIframe(e){return _?!0:(e(g.notInitIframe()),!1)}static idConvert(e,t){let n="/op/v2/users/convert";Array.isArray(e)||(e=[e]);let s=e.join(",");return new Promise((i,r)=>{a.post(n,{users:s,type:t}).then(o=>{if(o.code==200){let l=o.data.link,d=[];for(let u in l)d.push(l[u]);i(d)}else r(o)}).catch(o=>{(o==null?void 0:o.message)=="Failed to fetch"?r(g.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):r(o)})})}static _snapshot(e){return new Promise((t,n)=>{this.checkIframe(n)&&this.idConvert(e,"third").then(s=>{c.setPromiseMap(t,n),c.request("snapshot",{uid:s})}).catch(s=>{n({code:300,message:"id\u8F6C\u6362\u5931\u8D25"})})})}static _snapshotAll(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("snapshot-all"))})}static _startRecord(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("start-record"))})}static _stopRecord(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("stop-record"))})}static _notifyRecord(e,t){let n="/op/v2/meeting/record";return new Promise((s,i)=>{a.post(n,{stream:e,room:t}).then(r=>{r.code==200?s(r.data):i(r)}).catch(r=>{(r==null?void 0:r.message)=="Failed to fetch"?i(g.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):i(r)})})}static _notifyStopRecord(e,t){let n="/op/v2/meeting/record-end";return new Promise((s,i)=>{a.post(n,{stream:e,room:t}).then(r=>{r.code==200?s(r):i(r)}).catch(r=>{(r==null?void 0:r.message)=="Failed to fetch"?i(g.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):i(r)})})}static getBoomShare(e){let t=a.getBaseBusinessURL()+`/api/conference/v1/meetingInfo?room_id=${e}`;return new Promise((n,s)=>{a.get(t,null,a.getBusinessToken()).then(i=>{i.code==200?n(i):s(i)}).catch(i=>{console.log("getBoomShare-Error",i),(i==null?void 0:i.message)=="Failed to fetch"?s(g.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):s(i)})})}static _getParticipants(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("get-participants"))})}static _getMaster(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("get-master"))})}static _evictUser(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("evict-user",{id:e}))})}static _setTheme(e){return new Promise((t,n)=>{c.setPromiseMap(t,n),c.request("theme-config",{theme:e})})}static _statCloud(e){let t="/v1/web/record-start";return new Promise((n,s)=>{a.post(t,{room:e}).then(i=>{i.code===200?n({code:200,message:"\u5F00\u542F\u4E91\u5F55\u6210\u529F"}):(n({code:i.code,message:i.message}),console.log("_startCloud=============>error",i)),c.setPromiseMap(n,s)}).catch(i=>{(i==null?void 0:i.message)=="Failed to fetch"?s(g.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):s(i)})})}static _endCloud(e){let t="/v2/record/stop";return new Promise((n,s)=>{a.post(t,{room:e}).then(i=>{i.code===200?n({code:200,message:"\u4E91\u5F55\u7ED3\u675F\u6210\u529F"}):(n({code:i.code,message:i.message}),console.log("_endCloud=============>error",i)),c.setPromiseMap(n,s)}).catch(i=>{(i==null?void 0:i.message)=="Failed to fetch"?s(g.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):s(i)})})}static _setLanguage(e){return new Promise((t,n)=>{c.setPromiseMap(t,n),K=e,c.request("set-language",{languageMod:K})})}static setVideoProfile(e){ie=e}static setUserListColumns(e){let t=J(e);if(!N(t))throw new Error("\u53C2\u6570\u5FC5\u987B\u662F\u6570\u5B57");if(t<1)throw new Error("\u53C2\u6570\u5FC5\u987B>=1");ae=e}static setStreamConfig(e){let t=J(e);if(!N(t))throw new Error("\u53C2\u6570\u5FC5\u987B\u662F\u6570\u5B57");if(t<1)throw new Error("\u53C2\u6570\u5FC5\u987B>=1");oe=e}static setSortType(e){let t=J(e);if(!N(t))throw new Error("\u6392\u5E8F\u6A21\u5F0F\u5FC5\u987B\u662F\u6570\u5B57");if(t>2||t<1)throw new Error("\u6392\u5E8F\u65B9\u5F0F\u53EA\u652F\u63011 \u6216\u8005 2");ge=t}static setMeetingTopic(e){ce=e}static setSingleTalk(e){me=e}static staticsPage(e){let{roomId:t,parentNode:n,domain:s}=e;return s&&(this.setupParam.domain=s),y={action:"create",appId:this.setupParam.appId,token:a.getToken(),customToken:a.getBusinessToken(),server:a.getBaseBusinessURL(),api:a.getBaseURL(),roomId:t,parentNode:n,nickname:"",joined:!1,videoEnable:!1,audioEnable:!1,title:"",identity:0,userType:0,screen:!1,brtcSig:"",brtc_host:"",create:!1,room_name:"",creator_nickname:"",call_phone_num:"",mode:"meeting",is_big:0,noWaiting:!1,showMeetingTopic:!1,singleTalk:!1,voiceEncourage:0,userListColumns:1,streamConfig:{},sortType:1,extUserId:this.extUserId,qdtls:0,qdtls_group_id:"",template_name:"",isControl:7,customInfo:{}},this.createIframe(),console.log("BoomMeetingExternal staticsPage, \u6253\u5F00\u7EDF\u8BA1\u9875\u9762"),!0}static clipPage(e){let{roomId:t,videoId:n,parentNode:s,domain:i,preview:r}=e;return i&&(this.setupParam.domain=i),y={action:"create",appId:this.setupParam.appId,token:a.getToken(),customToken:a.getBusinessToken(),server:a.getBaseBusinessURL(),api:a.getBaseURL(),roomId:t,parentNode:s,nickname:"",joined:!1,videoEnable:!1,audioEnable:!1,title:"",identity:0,userType:0,screen:!1,brtcSig:"",brtc_host:"",create:!1,room_name:"",creator_nickname:"",call_phone_num:"",mode:"meeting",is_big:0,noWaiting:!1,showMeetingTopic:!1,singleTalk:!1,voiceEncourage:0,userListColumns:1,streamConfig:{},sortType:1,extUserId:this.extUserId,qdtls:0,qdtls_group_id:"",template_name:"",isControl:r?9:8,customInfo:{videoId:n}},this.createIframe(),console.log("BoomMeetingExternal.clipPage(), \u6253\u5F00\u89C6\u9891\u526A\u8F91\u9875\u9762"),!0}static evaluationView(e){let{parentNode:t,domain:n}=e;return n&&(this.setupParam.domain=n),y={action:"create",appId:this.setupParam.appId,token:a.getToken(),customToken:a.getBusinessToken(),server:a.getBaseBusinessURL(),api:a.getBaseURL(),roomId:"",parentNode:t,nickname:"",joined:!1,videoEnable:!1,audioEnable:!1,title:"",identity:0,userType:0,screen:!1,brtcSig:"",brtc_host:"",create:!1,room_name:"",creator_nickname:"",call_phone_num:"",mode:"meeting",is_big:0,noWaiting:!1,showMeetingTopic:!1,singleTalk:!1,voiceEncourage:0,userListColumns:1,streamConfig:{},sortType:1,extUserId:this.extUserId,qdtls:0,qdtls_group_id:"",template_name:"",isControl:11,customInfo:{}},this.createIframe(),console.log("BoomMeetingExternal.clipPage(), \u6253\u5F00\u89C6\u9891\u526A\u8F91\u9875\u9762"),!0}};window.BoomMeetingExternal=P;console.log("BoomMeetingExternal.getVersion:"+P.getVersion());window.BoomMeetingExternal=P||{};var He=P; | ||
| ############# json err`,h),d(h)})}));return Promise.race([o,r])}static handleServerData(e,t,n){return e.ok?this.encryptKey?e.json().then(s=>{if(s.data.noCipher)return s;let i=this.encrypt.decryptSm4(s.data.ciphertext,this.pairKey.deKey);return console.log("descrypt sm4",i),JSON.parse(i)}):e.json():e.status===500?Promise.reject({code:500,message:"\u8FDE\u63A5\u670D\u52A1\u5668\u5931\u8D25, \u8BF7\u68C0\u67E5\u7F51\u7EDC\u91CD\u8BD5!",url:t,param:n}):e.status===404?Promise.reject({code:404,message:"404",url:t,param:n}):e.status===502?Promise.reject({code:502,message:"\u8FDE\u63A5\u670D\u52A1\u5668\u5931\u8D25, \u8BF7\u68C0\u67E5\u7F51\u7EDC\u91CD\u8BD5!",url:t,param:n}):Promise.reject({code:e.status,message:e.status+"",url:t,param:n})}};var Ke={default:"#216bff",hover:"#6497ff",disabled:"#90b5ff"},Ae={master:"#ff742e",manager:"#216bff",signal:"#44d97b"},Fe="#dbe7ff",je={primaryColor:Ke,identityColor:Ae,listHoverStyle:Fe},L=je;var ne="meeting-setting",C=class{static setMeetingSetting(e){let t=JSON.stringify(e);localStorage==null||localStorage.setItem(ne,t)}static getMeetingSetting(){let e=localStorage==null?void 0:localStorage.getItem(ne);if(e)try{return JSON.parse(e)}catch(t){return null}return null}};var b=class{static loginExternalAccount(e,t){let n=a.getBaseBusinessURL()+"/api/v3/tenant/user/login",s=e.extUserId,i=e.nonce?e.nonce:"EycLQsHwxhzK9OW8UEKWNfH2I3CGR2nINuU1EBpQ",r=e.nickname,o=e.avatar,l=e.expireTime,d=e.signature,u={app_id:t,uuid:s,nickname:r,avatar:o,expire_time:l,nonce:i,signature:d};return a.post(n,u).then(f=>f.code==200?Promise.resolve(f.data):Promise.reject(g.error(f.code,f.message))).catch(f=>Promise.reject(f))}static getUserJoinMeetingMsg(e){let t=a.getBaseBusinessURL()+"/api/v3/tenant/meeting/get-user-join-meeting-msg",n=e.nonce||"EycLQsHwxhzK9OW8UEKWNfH2I3CGR2nINuU1EBpQ",s=e.expireTime||new Date().getTime()+24*60*60+"",r={room_id:e.roomId,expire_time:s,nonce:n};return a.post(t,r,a.getBusinessToken()).then(o=>o.code==200?Promise.resolve(o.data):Promise.reject(g.error(o.code,o.message))).catch(o=>Promise.reject(o))}static getCompanyMeetingControl(){let e=C.getMeetingSetting();if(e)return Promise.resolve(e);let t=a.getBaseBusinessURL()+"/api/conference/v3/meeting/get-meeting-config";return a.get(t,void 0,a.getBusinessToken()).then(n=>n.code==200?(C.setMeetingSetting(n.data),Promise.resolve(n.data)):Promise.reject(g.error(n.code,n.message))).catch(n=>Promise.reject(n))}static getSignature(){let e=(Math.floor(Date.now()/1e3)+864e3).toString(),t="KaYlJIadhasudqwhnasdj";return new Promise((n,s)=>{let i=a.getBaseBusinessURL()+"/api/v3/user/get-saasapi-signature";a.post(i,{expire_time:e,nonce:t},a.getBusinessToken()).then(r=>{r.code==200?n({signature:r.data.signature,expireTime:e,nonce:t}):s(g.error(r.code,r.message))}).catch(r=>{s(g.error(r.code,r.message))})})}static getBoomShare(e){return new Promise((t,n)=>{let s=a.getBaseBusinessURL()+`/api/conference/v1/meetingInfo?room_id=${e}`;a.get(s).then(i=>{i.code==200?t({code:200,message:"success",data:i.data}):n(g.error(i.code,i.message))}).catch(i=>{n(g.error(i.code,i.message))})})}static _getRoomToken(e){let t="/v2/web/get-room-token";return a.post(t,e,void 0,4*1e3).then(n=>n.code===200?n.data:Promise.reject(g.error(n.code,"\u767B\u5F55\u5931\u8D25:"+n.message))).catch(n=>(console.warn(n.message),n.message=="Failed to fetch"?Promise.reject(g.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):Promise.reject(n)))}static getRoomToken(e){let t=0;return new Promise((n,s)=>{let i=()=>{this._getRoomToken(e).then(r=>{n(r)}).catch(r=>{if(t>=5){s(r);return}t++,console.warn("_getRoomToken",r.message),i()})};i()})}static extCreate(e){let t=a.getBaseBusinessURL()+"/api/v4/private/meeting/create";e.start_time||(e.start_time=new Date().getTime()/1e3+60,e.end_time=e.start_time+1*60*60);let n={title:e.room_name,start_time:e.start_time,end_time:e.end_time,password:e.secret,mustmaster:e.is_must_host,room:e.room,is_earily:0,qdtls:0,master:e.creator,admin_list:e.admins,userlist:e.guests,auto_call_device:0,meeting_type:e.mode,template_name:e.template_name,meeting_record:e.meeting_record,only_invite:!(e.room_type==1||e.room_type==null),watermark:e.watermark?e.watermark:0,quiz_domain:e.quiz_domain?e.quiz_domain:""},s=a.getBusinessToken();return new Promise((i,r)=>a.post(t,n,s).then(o=>{o.code===200?i({code:200,message:"succ",data:o.data}):r(g.error(o.code,o.msg))}).catch(o=>{r(g.error(o.code,o.msg))}))}static create(e){let t="/v2/web/create-room",n={room:e.room,mode:e.mode,room_type:e.room_type,room_name:e.room_name,start_time:e.start_time,end_time:e.end_time,creator:e.creator,creator_nickname:e.creator_nickname,user_num:e.user_num||0,template_name:e.template_name?e.template_name:"triple",secret:e.secret||"",is_must_host:e.is_must_host||!1,is_record:e.is_record,record:e.record,is_mini_app:e.is_mini_app||!1};return new Promise((s,i)=>{a.post(t,n).then(r=>{r.code===200?s({code:200,message:"succ",data:e.room}):i(g.error(r.code,r.msg))}).catch(r=>{i(g.error(r.code,r.msg))})})}static checkRoomJoin(e){let t="/v2/web/check-room-join";return new Promise((n,s)=>{a.post(t,e).then(i=>{i.code===200?n({code:200,message:"succ",data:i.data}):s(g.error(i.code,i.msg))}).catch(i=>{s(g.error(i.code,i.msg))})})}static extJoinMeetingInfo(e){let t=a.getBaseBusinessURL()+"/api/v3/tenant/meeting/get-user-join-meeting-msg";return new Promise((n,s)=>{let i=new Date().getTime()+86400,r="EycLQsHwxhzK9OW8UEKWNfH2I3CGR2nINuU1EBpQ";a.post(t,{room_id:e,expire_time:i,nonce:r}).then(o=>{if(o.code===200){let l=o.data;l.expireTime=i,l.nonce=r,n({code:200,message:"succ",data:l})}else s(g.error(o.code,o.msg))}).catch(o=>{s(g.error(o.code,o.msg))})})}static padTo2Digits(e){return e<10?"0"+e:e+""}static formatDate(e){return[e.getFullYear(),this.padTo2Digits(e.getMonth()+1),this.padTo2Digits(e.getDate())].join("-")+" "+[this.padTo2Digits(e.getHours()),this.padTo2Digits(e.getMinutes())].join(":")}};function J(m){let e=Number(m);return isNaN(e)?0:e}function N(m){return typeof m=="number"&&!isNaN(m)}var _,y,se,q,p={},re,x,K,ie="360p",ae=1,oe={},ce=!1,me=!1,ge=1,A,Ge,le,P=class{static setup(e){return e.appId?e.baseURL?e.domain?(this.setupParam=e,this.style={position:"absolute",width:"100%",height:"100%",top:"0px",margin:"0px",right:"0px"},a.setBaseURL(e.baseURL),e.enableEncrypt&&e.publicKey&&(a.setupEncrypt(),a.setEncryptKey(e.publicKey)),!0):(console.error("\u8BF7\u4F20\u5165 domain, \u521D\u59CB\u5316\u5931\u8D25"),!1):(console.error("\u8BF7\u4F20\u5165 baseURL, \u521D\u59CB\u5316\u5931\u8D25"),!1):(console.error("\u8BF7\u4F20\u5165 appId, \u521D\u59CB\u5316\u5931\u8D25"),!1)}static getVersion(){return"2.4.6"}static isExternalUser(){return!!a.getBaseBusinessURL()||this.isExtUser}static login(e){return new Promise((t,n)=>{var r;if(a.getBaseURL()||n(g.error(501,"sassURL\u4E3A\u7A7A")),!((r=this.setupParam)!=null&&r.appId)){n(g.error(501,"appId\u4E3A\u7A7A"));return}if(!e.expireTime){n(g.error(501,"\u7B7E\u540D\u7684\u8FC7\u671F\u65F6\u95F4\u6233\u4E3A\u7A7A"));return}if(!e.nonce){n(g.error(501,"\u751F\u6210\u7B7E\u540D\u7684\u968F\u673A\u5B57\u7B26\u4E32\u4E3A\u7A7A"));return}if(!e.userId){n(g.error(501,"\u7528\u6237Id\u4E3A\u7A7A"));return}if(!e.signature){n(g.error(501,"\u7B7E\u540D\u4E3A\u7A7A"));return}e.extUserId&&(this.extUserId=e.extUserId);let i;this.setupParam.enableEncrypt?i={app_id:this.setupParam.appId,expire_time:e.expireTime,nonce:e.nonce,user_id:e.userId,signature:e.signature,nickname:e.nickname,enable_encrypt:1,avatar:e.avatar}:i={app_id:this.setupParam.appId,expire_time:e.expireTime,nonce:e.nonce,user_id:e.userId,signature:e.signature,nickname:e.nickname,avatar:e.avatar},b.getRoomToken(i).then(o=>{let{api:l,token:d,jwt_token:u,brtc_appid:f}=o;x=e.userId,this.loginParam=z(H({},e),{userId:x}),l&&d&&u?(a.setServerAPI(l),a.setToken(d),a.setCustomToken(u),re=f,this.brtc_host=o.brtc_host,this.brtm_host=o.brtm_host,t({code:200,message:"succ",data:o})):(console.warn("\u670D\u52A1\u5668\u53C2\u6570\u6821\u9A8C\u5931\u8D25"),n(g.error(300,"\u670D\u52A1\u5668\u53C2\u6570\u6821\u9A8C\u5931\u8D25")))}).catch(o=>{n(o)})})}static loginExternalAccount(e){return new Promise((t,n)=>{this.isExtUser=!0,this.extUserId=e.extUserId,a.setBaseBusinessURL(this.setupParam.baseURL),b.loginExternalAccount(e,this.setupParam.appId).then(s=>{console.log("business-login \u83B7\u53D6\u6388\u6743\u6210\u529F===>",s),a.setBusinessToken(s.authorization);let i=s.user_id;this.setupParam.appId=s.saas_app_id,this.setupParam.domain=s.saas_domain,this.setupParam.baseURL=s.saas_server_host,a.setBaseURL(s.saas_server_host);let r={userId:i,nickname:e.nickname,avatar:e.avatar,expireTime:s.expire_time,nonce:s.nonce,signature:s.saas_signature};return b.getCompanyMeetingControl().catch(o=>{console.error("get company info error",o)}),this.login(r)}).then(s=>{console.log("saas-login succ",s),t(s)}).catch(s=>{console.warn("loginExternalAccount error",s),n(g.error(s.code,s.message))})})}static logout(){let e="/v2/web/log-out";return new Promise((t,n)=>{a.post(e).then(s=>{s.code===200?(a.setServerAPI(""),a.setToken(""),a.setCustomToken(""),t({code:200,message:"\u9000\u51FA\u6210\u529F"})):n(g.error(s.code,"\u9000\u51FA\u5931\u8D25"))}).catch(s=>{n(s)})})}static create(e){return this.isExternalUser()?b.extCreate(e):b.create(e)}static join(e){var t;return this.isExternalUser()?((t=e==null?void 0:e.user)!=null&&t.includes("robot_")?e.user=`robot_${x}`:e.user=x,this.private_join(e,void 0).then(n=>(this.getBoomShare(e.roomId).then(s=>(A=s.data,console.log("boomShare===========>",s),Promise.resolve(s))).catch(s=>(console.log("boomShare===========>error",s),(s==null?void 0:s.message)=="Failed to fetch"?Promise.reject(g.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):Promise.reject(s))),_&&c.request("set-boom-share",{boomShare:A}),Promise.resolve(n))).catch(n=>(console.error("check room join failed",n),(n==null?void 0:n.message)=="Failed to fetch"?Promise.reject(g.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):Promise.reject(n)))):this.private_join(e)}static private_join(e,t,n){let s=a.getBaseURL(),i=a.getServerAPI();return e.avatar=e.avatar?e.avatar:this.loginParam.avatar,this.companyMeetingConfigInfo=n,this.meetingInfo=t,new Promise((r,o)=>{let l;e.screen?l=new Promise(d=>{d({code:200,data:{token:a.getToken(),room:e.roomId,user_id:e.user?e.user:this.loginParam.userId,nickname:e.nickname?e.nickname:this.loginParam.nickname,secret:e.secret,brtc_host:this.brtc_host,mode:e.mode==="live"?2:1}})}):l=b.checkRoomJoin({token:a.getToken(),room:e.roomId,user_id:e.user?e.user:this.loginParam.userId,nickname:e.nickname?e.nickname:this.loginParam.nickname,secret:e.secret,mode:e.mode==="live"?2:1,qdtls:e.qdtls,qdtls_group_id:e.qdtls_group_id}),l.then(d=>{if(d.code===200)if(this.isJoining)console.log("join().this.isJoining:",this.isJoining);else{let u=d.data,{room:f,room_name:E,secret:h,nickname:de,mode:ue,create:pe,joined:fe,creator_nickname:he,call_phone_num:Ie,is_t_livefast:ye,is_big:be,voiceEncourage:_e,noWaiting:Pe,qdtls:ve,qdtls_group_id:ke}=u,Re={action:"join",parentNode:e.parentNode,roomId:f,title:E,secret:h,user:e.user,nickname:de,joined:fe,screen:e.screen,isControl:e.isControl,subVenue:e.subVenue,avatar:e.avatar?encodeURIComponent(e.avatar):"",identity:e.identity,userType:e.userType,videoEnable:e.videoEnable,audioEnable:e.audioEnable,mode:ue==2?"live":"meeting",token:a.getToken(),customToken:a.getCustomToken(),server:s,api:i,role:se,create:pe,room_name:E,creator_nickname:he,call_phone_num:Ie,is_t_livefast:ye,meetingControlOptions:encodeURIComponent(JSON.stringify(e.meetingControlOptions)),electron:e.electron,visitorDocument:e.visitorDocument||!1,brtcAppId:re,brtcSig:u.brtc_sig,brtc_host:this.brtc_host,videoProfile:ie,is_big:be,noWaiting:Pe,voiceEncourage:_e,userListColumns:ae,streamConfig:oe,showMeetingTopic:ce,sortType:ge,singleTalk:me,extUserId:this.extUserId,qdtls:ve?1:0,qdtls_group_id:ke,enableEncrypt:this.setupParam.enableEncrypt,publicKey:this.setupParam.publicKey,clientId:a.clientId,encryptKey:a.encryptKey,pairKey:JSON.stringify(a.pairKey),customInfo:e.customInfo?JSON.stringify(e.customInfo):"{}",template_name:u.template_name?u.template_name:e.template_name};this.isJoining=!0,this.__create(Re).then(()=>{this.isJoining=!1,r(g.succ("success"))}).catch(we=>{this.isJoining=!1,o(we)});return}else o(g.error(d.code,d.message))}).catch(d=>{o(g.error(d.code,d.message))})})}static setRole(e){return new Promise(t=>{se=e,t({code:200,message:"",data:"\u8BBE\u7F6E\u89D2\u8272\u6210\u529F\uFF01"})})}static setWindowNumber(e){return new Promise((t,n)=>{le=e,this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("set-window-number",e))})}static robotJoin(e){e.user&&e.user.indexOf("robot_")==-1&&(e.user="robot_"+e.user);let t=e.meetingControlOptions||{};return t.hideChat=!0,e.meetingControlOptions=t,this.join(e)}static setInvitationInfo(e){return new Promise((t,n)=>{typeof e=="string"?q={inviteInfo:e}:q=e,_?(c.setPromiseMap(t,n),c.request("set-invitation-info",{info:e})):t(g.succ("\u8BBE\u7F6E\u6210\u529F"))})}static setRoomConfig(e){return e?typeof e!="object"?Promise.reject(g.error(101,"parameters not correct")):new Promise((t,n)=>{_?(c.setPromiseMap(t,n),!e.businessInfo&&this.isExternalUser()&&(e.businessInfo={host:a.getBaseBusinessURL(),token:a.getBusinessToken()}),c.request("set-room-config",e)):(p=e,!p.businessInfo&&this.isExternalUser()&&(p.businessInfo={host:a.getBaseBusinessURL(),token:a.getBusinessToken()}),t(g.succ("\u8BBE\u7F6E\u6210\u529F")))}):Promise.reject(g.error(101,"parameters not correct"))}static leave(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("leaveRoom"))})}static release(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("releaseRoom"))})}static getParticipants(){return new Promise((e,t)=>{this._getParticipants().then(n=>{e({code:200,message:"\u83B7\u53D6\u53C2\u4F1A\u4EBA\u5458\u6210\u529F",data:n.data})}).catch(n=>{console.log("getParticipants.err",n),t({code:201,message:"\u83B7\u53D6\u53C2\u4F1A\u4EBA\u5458\u5931\u8D25"})})})}static setTheme(e){return new Promise((t,n)=>{L.identityColor.manager=e,this._setTheme(L).then(s=>{s.data.code===200?t({code:200,message:"\u4E3B\u9898\u989C\u8272\u914D\u7F6E\u6210\u529F"}):n({code:201,message:"\u4E3B\u9898\u989C\u8272\u914D\u7F6E\u5931\u8D25"})}).catch(s=>{n({code:201,message:"\u4E3B\u9898\u989C\u8272\u914D\u7F6E\u5931\u8D25"})})})}static startCloudRecord(e){return new Promise((t,n)=>{this._statCloud(e).then(s=>{s.code===200?t({code:200,message:"\u4E91\u5F55\u5F00\u542F\u6210\u529F"}):t({code:s.code,message:s.message})}).catch(s=>{(s==null?void 0:s.message)=="Failed to fetch"?n(g.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):n(s)})})}static endCloudRecord(e){return new Promise((t,n)=>{this._endCloud(e).then(s=>{s.code===200?t({code:200,message:"\u4E91\u5F55\u7ED3\u675F\u6210\u529F"}):t({code:s.code,message:s.message})}).catch(s=>{n({code:201,message:"\u4E91\u5F55\u7ED3\u675F\u5931\u8D25"})})})}static setLanguage(e){return new Promise((t,n)=>{this._setLanguage(e).then(s=>{console.log("resres",s),s.data.code===200?t({code:200,message:"\u56FD\u9645\u5316\u914D\u7F6E\u6210\u529F"}):n({code:201,message:"\u56FD\u9645\u5316\u914D\u7F6E\u5931\u8D25"})}).catch(s=>{n({code:201,message:"\u56FD\u9645\u5316\u914D\u7F6E\u5931\u8D25"})})})}static getMaster(){return new Promise((e,t)=>{this._getMaster().then(n=>{e({code:200,message:"\u83B7\u53D6\u4E3B\u6301\u4EBA\u6210\u529F",data:n})}).catch(n=>{t({code:201,message:"\u83B7\u53D6\u4E3B\u6301\u4EBA\u5931\u8D25"})})})}static meetingCtrlConfig(e){return new Promise((t,n)=>{Ge=e,this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("meetingCtrlConfig",e))})}static setupMeetingControlOptions(e){this.meetingControlOptions=e}static snapshot(e){return new Promise((t,n)=>{this._snapshot(e).then(s=>{let i={};for(let r=0;r<e.length;r++)i[e[r]]=s.data[r];t({code:200,message:"\u622A\u56FE\u6210\u529F",data:i})}).catch(s=>{n({code:201,message:"\u622A\u56FE\u5931\u8D25"})})})}static syncFullStatus(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("sync-full-status",{full:e}))})}static syncMaxStatus(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("sync-max-status",{max:e}))})}static rename(e,t){return new Promise((n,s)=>{this.checkIframe(s)&&(c.setPromiseMap(n,s),c.request("rename",{id:e,nickname:t}))})}static evictUser(e){return new Promise((t,n)=>{this._evictUser(e).then(s=>{s.data.code===200?t({code:200,message:"\u8E22\u51FA\u7528\u6237\u6210\u529F"}):n({code:201,message:"\u8E22\u51FA\u7528\u6237\u5931\u8D25"})}).catch(s=>{n({code:201,message:"\u8E22\u51FA\u7528\u6237\u5931\u8D25"})})})}static setLocalVideoEnable(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("set-local-camera",e))})}static setLocalAudioEnable(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("set-local-microphone",e))})}static muteRemoteVideoStream(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("mute-remote-video-stream",{uid:e}))})}static muteRemoteAudioStream(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("mute-remote-audio-stream",{uid:e}))})}static setLocalSpeaker(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("set-local-speaker"))})}static setAllMuted(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("toggle-muted",{muted:!0,canOpenBySelf:e}))})}static setAllUnMuted(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("toggle-muted",{muted:!1,canOpenBySelf:!0}))})}static on(e,t){if(this.eventMap?this.eventMap.set(e,t):(this.eventMap=new Map,this.eventMap.set(e,t)),e=="room-end"){let n=s=>{console.log("room-end:depend in code"),this.eventMap&&this.eventMap.forEach((i,r)=>{document.removeEventListener(r,i)}),t&&t(s)};this.eventMap.set("room-end",n)}document.addEventListener(e,n=>{let s=this.eventMap.get(e);s&&s.call(this,n)})}static off(e){try{let t=this.eventMap.get(e);document.removeEventListener(e,t)}catch(t){console.log("off:",t)}}static __create(e,t){return new Promise((n,s)=>{y=e,t&&(this.style=t),!e||!e.action||!e.token?s(g.error(101,"parameters not correct")):(e.action==="create"?this.createIframe(e.electron):e.action==="join"&&this.createIframe(e.electron),n(g.succ()))})}static createIframe(e){var i;let t=this.setupParam.domain;if(_){console.log("createIframe has createIframe",_);try{document.body.removeChild(_)}catch(r){}c.clear()}let n=y.parentNode?y.parentNode:document.body;y.appId=this.setupParam.appId,delete y.parentNode;let s=M.organizeUrl(t,y,{brtm_host:this.brtm_host});if(e&&e.isElectron)if(e.callback)e.callback(s);else{let r=(i=window==null?void 0:window.electron)==null?void 0:i.ipcRenderer;r&&r.invoke("joinBoomRoom",{url:s})}else if(window.BMQTBridge){let r={method:y.action,params:y};window.BMQTBridge.joinRoom&&(console.log("window.qtObject.joinRoom:",JSON.stringify(r)),window.BMQTBridge.joinRoom(JSON.stringify(r))),window.BMQTBridge.joinRoomObj&&(console.log("window.qtObject.joinRoomObj:",r),window.BMQTBridge.joinRoomObj(r));let o=this.eventMap.get("room-end");o&&o.call(this,{})}else{let r=document.createElement("iframe"),o=document.createElement("div");o.style.width="100%",o.style.height="100%",o.style.backGroundColor="black",o.style.zIndex="999999",o.id="fuck",console.log("\u521B\u5EFAiframe"),r.allow="autoplay;geolocation;display-capture;microphone;camera; midi; encrypted-media;fullscreen;cross-origin-isolated;";for(let d in this.style)r.style[d]=this.style[d];r.src=s,console.log("boom_url:"+r.src),r.id="targetIframe",r.style.border="0",p||(p={}),this.isExternalUser()&&(p.businessInfo={host:a.getBaseBusinessURL(),token:a.getBusinessToken()}),p.meetingInfo=this.meetingInfo,p.companyMeetingConfigInfo=this.companyMeetingConfigInfo,p.meetingControlOptions=this.meetingControlOptions,p.invitationInfo=q,p.language=K,p.boomShare=A,p.windowNumber=le,p.meetingURL=s;let l=()=>{console.log("iframe\u52A0\u8F7D\u6210\u529F"),c.request("set-room-config",p)};r.attachEvent?r.attachEvent("onload",l):r.onload=l,_=n.appendChild(r),c.createMeassage(r,()=>{_=void 0}),c.addListener()}}static checkIframe(e){return _?!0:(e(g.notInitIframe()),!1)}static idConvert(e,t){let n="/op/v2/users/convert";Array.isArray(e)||(e=[e]);let s=e.join(",");return new Promise((i,r)=>{a.post(n,{users:s,type:t}).then(o=>{if(o.code==200){let l=o.data.link,d=[];for(let u in l)d.push(l[u]);i(d)}else r(o)}).catch(o=>{(o==null?void 0:o.message)=="Failed to fetch"?r(g.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):r(o)})})}static _snapshot(e){return new Promise((t,n)=>{this.checkIframe(n)&&this.idConvert(e,"third").then(s=>{c.setPromiseMap(t,n),c.request("snapshot",{uid:s})}).catch(s=>{n({code:300,message:"id\u8F6C\u6362\u5931\u8D25"})})})}static _snapshotAll(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("snapshot-all"))})}static _startRecord(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("start-record"))})}static _stopRecord(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("stop-record"))})}static _notifyRecord(e,t){let n="/op/v2/meeting/record";return new Promise((s,i)=>{a.post(n,{stream:e,room:t}).then(r=>{r.code==200?s(r.data):i(r)}).catch(r=>{(r==null?void 0:r.message)=="Failed to fetch"?i(g.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):i(r)})})}static _notifyStopRecord(e,t){let n="/op/v2/meeting/record-end";return new Promise((s,i)=>{a.post(n,{stream:e,room:t}).then(r=>{r.code==200?s(r):i(r)}).catch(r=>{(r==null?void 0:r.message)=="Failed to fetch"?i(g.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):i(r)})})}static getBoomShare(e){let t=a.getBaseBusinessURL()+`/api/conference/v1/meetingInfo?room_id=${e}`;return new Promise((n,s)=>{a.get(t,null,a.getBusinessToken()).then(i=>{i.code==200?n(i):s(i)}).catch(i=>{console.log("getBoomShare-Error",i),(i==null?void 0:i.message)=="Failed to fetch"?s(g.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):s(i)})})}static _getParticipants(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("get-participants"))})}static _getMaster(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("get-master"))})}static _evictUser(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("evict-user",{id:e}))})}static _setTheme(e){return new Promise((t,n)=>{c.setPromiseMap(t,n),c.request("theme-config",{theme:e})})}static _statCloud(e){let t="/v1/web/record-start";return new Promise((n,s)=>{a.post(t,{room:e}).then(i=>{i.code===200?n({code:200,message:"\u5F00\u542F\u4E91\u5F55\u6210\u529F"}):(n({code:i.code,message:i.message}),console.log("_startCloud=============>error",i)),c.setPromiseMap(n,s)}).catch(i=>{(i==null?void 0:i.message)=="Failed to fetch"?s(g.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):s(i)})})}static _endCloud(e){let t="/v2/record/stop";return new Promise((n,s)=>{a.post(t,{room:e}).then(i=>{i.code===200?n({code:200,message:"\u4E91\u5F55\u7ED3\u675F\u6210\u529F"}):(n({code:i.code,message:i.message}),console.log("_endCloud=============>error",i)),c.setPromiseMap(n,s)}).catch(i=>{(i==null?void 0:i.message)=="Failed to fetch"?s(g.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):s(i)})})}static _setLanguage(e){return new Promise((t,n)=>{c.setPromiseMap(t,n),K=e,c.request("set-language",{languageMod:K})})}static setVideoProfile(e){ie=e}static setUserListColumns(e){let t=J(e);if(!N(t))throw new Error("\u53C2\u6570\u5FC5\u987B\u662F\u6570\u5B57");if(t<1)throw new Error("\u53C2\u6570\u5FC5\u987B>=1");ae=e}static setStreamConfig(e){let t=J(e);if(!N(t))throw new Error("\u53C2\u6570\u5FC5\u987B\u662F\u6570\u5B57");if(t<1)throw new Error("\u53C2\u6570\u5FC5\u987B>=1");oe=e}static setSortType(e){let t=J(e);if(!N(t))throw new Error("\u6392\u5E8F\u6A21\u5F0F\u5FC5\u987B\u662F\u6570\u5B57");if(t>2||t<1)throw new Error("\u6392\u5E8F\u65B9\u5F0F\u53EA\u652F\u63011 \u6216\u8005 2");ge=t}static setMeetingTopic(e){ce=e}static setSingleTalk(e){me=e}static staticsPage(e){let{roomId:t,parentNode:n,domain:s}=e;return s&&(this.setupParam.domain=s),y={action:"create",appId:this.setupParam.appId,token:a.getToken(),customToken:a.getBusinessToken(),server:a.getBaseBusinessURL(),api:a.getBaseURL(),roomId:t,parentNode:n,nickname:"",joined:!1,videoEnable:!1,audioEnable:!1,title:"",identity:0,userType:0,screen:!1,brtcSig:"",brtc_host:"",create:!1,room_name:"",creator_nickname:"",call_phone_num:"",mode:"meeting",is_big:0,noWaiting:!1,showMeetingTopic:!1,singleTalk:!1,voiceEncourage:0,userListColumns:1,streamConfig:{},sortType:1,extUserId:this.extUserId,qdtls:0,qdtls_group_id:"",template_name:"",isControl:7,customInfo:{}},this.createIframe(),console.log("BoomMeetingExternal staticsPage, \u6253\u5F00\u7EDF\u8BA1\u9875\u9762"),!0}static clipPage(e){let{roomId:t,videoId:n,parentNode:s,domain:i,preview:r}=e;return i&&(this.setupParam.domain=i),y={action:"create",appId:this.setupParam.appId,token:a.getToken(),customToken:a.getBusinessToken(),server:a.getBaseBusinessURL(),api:a.getBaseURL(),roomId:t,parentNode:s,nickname:"",joined:!1,videoEnable:!1,audioEnable:!1,title:"",identity:0,userType:0,screen:!1,brtcSig:"",brtc_host:"",create:!1,room_name:"",creator_nickname:"",call_phone_num:"",mode:"meeting",is_big:0,noWaiting:!1,showMeetingTopic:!1,singleTalk:!1,voiceEncourage:0,userListColumns:1,streamConfig:{},sortType:1,extUserId:this.extUserId,qdtls:0,qdtls_group_id:"",template_name:"",isControl:r?9:8,customInfo:{videoId:n}},this.createIframe(),console.log("BoomMeetingExternal.clipPage(), \u6253\u5F00\u89C6\u9891\u526A\u8F91\u9875\u9762"),!0}static evaluationView(e){let{parentNode:t,domain:n}=e;return n&&(this.setupParam.domain=n),y={action:"create",appId:this.setupParam.appId,token:a.getToken(),customToken:a.getBusinessToken(),server:a.getBaseBusinessURL(),api:a.getBaseURL(),roomId:"",parentNode:t,nickname:"",joined:!1,videoEnable:!1,audioEnable:!1,title:"",identity:0,userType:0,screen:!1,brtcSig:"",brtc_host:"",create:!1,room_name:"",creator_nickname:"",call_phone_num:"",mode:"meeting",is_big:0,noWaiting:!1,showMeetingTopic:!1,singleTalk:!1,voiceEncourage:0,userListColumns:1,streamConfig:{},sortType:1,extUserId:this.extUserId,qdtls:0,qdtls_group_id:"",template_name:"",isControl:11,customInfo:{}},this.createIframe(),console.log("BoomMeetingExternal.clipPage(), \u6253\u5F00\u89C6\u9891\u526A\u8F91\u9875\u9762"),!0}};window.BoomMeetingExternal=P;console.log("BoomMeetingExternal.getVersion:"+P.getVersion());window.BoomMeetingExternal=P||{};var He=P; |
+1
-1
| var ve=Object.defineProperty,ke=Object.defineProperties;var Re=Object.getOwnPropertyDescriptors;var A=Object.getOwnPropertySymbols;var we=Object.prototype.hasOwnProperty,Me=Object.prototype.propertyIsEnumerable;var F=(g,e,t)=>e in g?ve(g,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):g[e]=t,j=(g,e)=>{for(var t in e||(e={}))we.call(e,t)&&F(g,t,e[t]);if(A)for(var t of A(e))Me.call(e,t)&&F(g,t,e[t]);return g},G=(g,e)=>ke(g,Re(e));var E=(g,e,t)=>new Promise((n,s)=>{var i=l=>{try{o(t.next(l))}catch(d){s(d)}},r=l=>{try{o(t.throw(l))}catch(d){s(d)}},o=l=>l.done?n(l.value):Promise.resolve(l.value).then(i,r);o((t=t.apply(g,e)).next())});var Ce={create:function(){return function(){this.init.apply(this,arguments)}}},Ee=function(g,e){for(var t in e)g[t]=e[t]},H="postMessage"in window,z=function(g,e){var t="";if(arguments.length<2?t="target error - target and name are both required":typeof g!="object"?t="target error - target itself must be window object":typeof e!="string"&&(t="target error - target name must be string type"),t)throw new Error(t);this.target=g,this.name=e};z.prototype.send=function(g){if(H)this.target.postMessage(g,"*");else{var e=window.navigator[this.name];if(typeof e=="function")e(g,window);else throw new Error("target callback function is not defined")}};var V=Ce.create();V.prototype={init:function(g){this.setOption(g),this.name=this.options.name,this.targets=this.options.targets,this.listenFunc=this.options.listenFunc,this.initListen()},setOption:function(g){this.options={name:"message",targets:{},listenFunc:[]},Ee(this.options,g||{})},initListen:function(){var g=this,e=function(t){typeof t=="object"&&t.data&&(t=t.data);for(var n=0;n<g.listenFunc.length;n++)g.listenFunc[n](t)};H?window.addEventListener?window.addEventListener("message",e,!1):window.attachEvent("onmessage",e):window.navigator[this.name]=e},addTarget:function(g,e){var t=new z(g,this.name);this.targets[e]=t},listen:function(g){this.listenFunc.push(g)},clear:function(){this.listenFunc=[]},send:function(g){for(var e in this.targets)this.targets.hasOwnProperty(e)&&this.targets[e].send(g)}};var D=V;var m=class{static error(e,t){return{code:e,message:t}}static succ(e="succ"){return{code:200,message:e}}static notInitIframe(){return{code:201,message:"iframe not init"}}};var I,v=new Map,k=1,R,x,c=class{static createMeassage(e,t){R=e,x=t,I||(I=new D,I.addTarget(e.contentWindow,"iframe"))}static addListener(){I.clear(),I.listen(e=>{if(typeof e=="string"){let t;try{t=JSON.parse(e),t&&t.type==="request"?this.getRequest(t):t&&t.type==="response"&&this.getResponse(t)}catch(n){console.log("addListener error",n)}}})}static request(e,t=null){let n={};n.id=k,n.type="request",n.name=e,t&&(n.data=t);let s=JSON.stringify(n);if(!I){console.log("request: message is destroy");return}I.targets.iframe&&I.targets.iframe.send(s),k++}static getRequest(e){this.assembleResponse(e)}static assembleResponse(e){let t={},n=e.id,s=e.type;if(s==="request"&&e.name){t.id=n,t.name=e.name,t.type="response";let i=new CustomEvent(e.name,{detail:e.data}),r=I.targets.iframe;if(!r){document.dispatchEvent(i);return}switch(e.name){case"participant-joined":r.send(JSON.stringify(t));break;case"room-events":r.send(JSON.stringify(t));break;case"participant-left":r.send(JSON.stringify(t));break;case"room-connected":r.send(JSON.stringify(t));break;case"user-status-change":r.send(JSON.stringify(t));break;case"room-error":r.send(JSON.stringify(t));break;case"change-room-config":r.send(JSON.stringify(t));break;case"change-video-config":r.send(JSON.stringify(t));break;case"room-end":r.send(JSON.stringify(t)),this.clear();break;case"full-screen":r.send(JSON.stringify(t));break;case"need-secret":r.send(JSON.stringify(t)),this.clear();break;case"change-master":r.send(JSON.stringify(t));break;case"snapshot":r.send(JSON.stringify(t));break;case"shareEvent":r.send(JSON.stringify(t));break;case"inviteEvent":r.send(JSON.stringify(t));break;case"callUserEvent":r.send(JSON.stringify(t));break;case"callNoJoin":r.send(JSON.stringify(t));break;case"fullScreen":r.send(JSON.stringify(t));break;case"exitFullScreen":r.send(JSON.stringify(t));break;case"minApp":r.send(JSON.stringify(t));break;case"doubleClick":r.send(JSON.stringify(t));break;case"changeClientSize":r.send(JSON.stringify(t));break;case"get-participants":r.send(JSON.stringify(t));break;case"maxWindow":r.send(JSON.stringify(t));break;case"exitMax":r.send(JSON.stringify(t));break;case"signalChanged":r.send(JSON.stringify(t));break;default:t.data="not support name",r.send(JSON.stringify(t)),i=new CustomEvent(s,{detail:"not support name"})}document.dispatchEvent(i)}}static getResponse(e){let t=e.id,n={};n.code="200",e.data&&(n.data=e.data);let s=v.get(t);s&&s.resolve(n),v.delete(t)}static clear(){I.clear(),I=void 0,console.log("clear _iframe"),R&&R.remove(),R=void 0,typeof x=="function"&&x()}static refreshIframe(e){return new Promise((t,n)=>{R?(v.set(k,{resolve:t,reject:n}),this.request("refreshIframe",{url:e})):n(m.notInitIframe())})}static setPromiseMap(e,t){v.set(k,{resolve:e,reject:t})}static getPromiseMap(){return v.get(k)}};var w=class{static organizeUrl(e,t,n){let s=this.organizeParameters(t,n);return e+"#/out/joinRoom?"+s}static organizeParameters(e,t){let n=this.obtainBusinessParametersObject(e,t),s="";for(let i in n){let r="";typeof n[i]=="object"?r=JSON.stringify(n[i]):r=n[i]+"",r.length>0&&r!="undefined"&&(s+=`&${i}=${encodeURIComponent(r)}`)}return s?s.substring(1):""}static obtainBusinessParametersObject(e,t){let n={};if(n=e,t)for(let s in t)t[s]!==void 0&&t[s]!==null&&(n[s]=t[s]);return n}};import Se from"@hysc/encrypt";var W,S,Q,O,$,U,Y=30*1e3,Te={code:311,message:"\u7F51\u7EDC\u8BF7\u6C42\u8D85\u65F6"},a=class{static setBaseBusinessURL(e){$=e}static getBaseBusinessURL(){return $}static setBusinessToken(e){e&&e.indexOf("Bearer")==-1?U="Bearer "+e:U=e}static getBusinessToken(){return U}static setBaseURL(e){S=e}static getBaseURL(){return S}static setEncryptKey(e){this.encryptKey=e,this.encrypt.setSm2KeyPair(e)}static setServerAPI(e){Q=e}static getServerAPI(){return Q}static setToken(e){W=e}static getToken(){return W}static setCustomToken(e){O=e}static getCustomToken(){return O}static setupEncrypt(){this.encrypt=new Se}static generateClientId(){return E(this,null,function*(){let e=this.encrypt.getClientId(!0);return this.clientId=e,yield this.trans()})}static trans(){return E(this,null,function*(){let e=this.encrypt.getPairKey(!0);this.pairKey=e,console.log("pairkey",e);let t=this.encrypt.encryptSm2(`${e.enKey}:${e.deKey}`);return console.log("trans sm2 encrypt data",t),fetch(S+"/api/store",{headers:{"Access-Control-Allow-Origin":"*",imei:this.clientId,"Content-Type":"application/json"},method:"POST",body:JSON.stringify({p:t})})})}static get(e,t,n){return this.request("GET",e,t,n)}static post(e,t,n,s=Y){return this.request("POST",e,t,n,s)}static request(e="GET",t,n,s,i=Y){let r=new Promise((l,d)=>{setTimeout(()=>{d(Te)},i)}),o=new Promise((l,d)=>E(this,null,function*(){t.startsWith("http")||(t=S+t);let u;s?u=s:u=O;let f={"Content-Type":"application/json",Authorization:u};this.encryptKey&&(this.clientId||(yield this.generateClientId()),this.clientId&&(f.imei=this.clientId));let C=this.encryptKey?JSON.stringify({data:this.encrypt.encryptSm4(JSON.stringify(n),this.pairKey.enKey)}):JSON.stringify(n);fetch(t,{body:e==="GET"?null:C,headers:f,method:e}).then(h=>this.handleServerData(h,t,n)).then(h=>{console.log(` | ||
| ############# data= | ||
| `,h,t),h&&h.msg&&(h.message=h.msg),l(h)}).catch(h=>{console.log(` | ||
| ############# json err`,h),d(h)})}));return Promise.race([o,r])}static handleServerData(e,t,n){return e.ok?this.encryptKey?e.json().then(s=>{if(s.data.noCipher)return s;let i=this.encrypt.decryptSm4(s.data.ciphertext,this.pairKey.deKey);return console.log("descrypt sm4",i),JSON.parse(i)}):e.json():e.status===500?Promise.reject({code:500,message:"\u8FDE\u63A5\u670D\u52A1\u5668\u5931\u8D25, \u8BF7\u68C0\u67E5\u7F51\u7EDC\u91CD\u8BD5!",url:t,param:n}):e.status===404?Promise.reject({code:404,message:"404",url:t,param:n}):e.status===502?Promise.reject({code:502,message:"\u8FDE\u63A5\u670D\u52A1\u5668\u5931\u8D25, \u8BF7\u68C0\u67E5\u7F51\u7EDC\u91CD\u8BD5!",url:t,param:n}):Promise.reject({code:e.status,message:e.status+"",url:t,param:n})}};var xe={default:"#216bff",hover:"#6497ff",disabled:"#90b5ff"},Oe={master:"#ff742e",manager:"#216bff",signal:"#44d97b"},Ue="#dbe7ff",Be={primaryColor:xe,identityColor:Oe,listHoverStyle:Ue},B=Be;var X="meeting-setting",M=class{static setMeetingSetting(e){let t=JSON.stringify(e);localStorage==null||localStorage.setItem(X,t)}static getMeetingSetting(){let e=localStorage==null?void 0:localStorage.getItem(X);if(e)try{return JSON.parse(e)}catch(t){return null}return null}};var b=class{static loginExternalAccount(e,t){let n=a.getBaseBusinessURL()+"/api/v3/tenant/user/login",s=e.extUserId,i=e.nonce?e.nonce:"EycLQsHwxhzK9OW8UEKWNfH2I3CGR2nINuU1EBpQ",r=e.nickname,o=e.avatar,l=e.expireTime,d=e.signature,u={app_id:t,uuid:s,nickname:r,avatar:o,expire_time:l,nonce:i,signature:d};return a.post(n,u).then(f=>f.code==200?Promise.resolve(f.data):Promise.reject(m.error(f.code,f.message))).catch(f=>Promise.reject(f))}static getUserJoinMeetingMsg(e){let t=a.getBaseBusinessURL()+"/api/v3/tenant/meeting/get-user-join-meeting-msg",n=e.nonce||"EycLQsHwxhzK9OW8UEKWNfH2I3CGR2nINuU1EBpQ",s=e.expireTime||new Date().getTime()+24*60*60+"",r={room_id:e.roomId,expire_time:s,nonce:n};return a.post(t,r,a.getBusinessToken()).then(o=>o.code==200?Promise.resolve(o.data):Promise.reject(m.error(o.code,o.message))).catch(o=>Promise.reject(o))}static getCompanyMeetingControl(){let e=M.getMeetingSetting();if(e)return Promise.resolve(e);let t=a.getBaseBusinessURL()+"/api/conference/v3/meeting/get-meeting-config";return a.get(t,void 0,a.getBusinessToken()).then(n=>n.code==200?(M.setMeetingSetting(n.data),Promise.resolve(n.data)):Promise.reject(m.error(n.code,n.message))).catch(n=>Promise.reject(n))}static getSignature(){let e=(Math.floor(Date.now()/1e3)+864e3).toString(),t="KaYlJIadhasudqwhnasdj";return new Promise((n,s)=>{let i=a.getBaseBusinessURL()+"/api/v3/user/get-saasapi-signature";a.post(i,{expire_time:e,nonce:t},a.getBusinessToken()).then(r=>{r.code==200?n({signature:r.data.signature,expireTime:e,nonce:t}):s(m.error(r.code,r.message))}).catch(r=>{s(m.error(r.code,r.message))})})}static getBoomShare(e){return new Promise((t,n)=>{let s=a.getBaseBusinessURL()+`/api/conference/v1/meetingInfo?room_id=${e}`;a.get(s).then(i=>{i.code==200?t({code:200,message:"success",data:i.data}):n(m.error(i.code,i.message))}).catch(i=>{n(m.error(i.code,i.message))})})}static _getRoomToken(e){let t="/v2/web/get-room-token";return a.post(t,e,void 0,4*1e3).then(n=>n.code===200?n.data:Promise.reject(m.error(n.code,"\u767B\u5F55\u5931\u8D25:"+n.message))).catch(n=>(console.warn(n.message),n.message=="Failed to fetch"?Promise.reject(m.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):Promise.reject(n)))}static getRoomToken(e){let t=0;return new Promise((n,s)=>{let i=()=>{this._getRoomToken(e).then(r=>{n(r)}).catch(r=>{if(t>=5){s(r);return}t++,console.warn("_getRoomToken",r.message),i()})};i()})}static extCreate(e){let t=a.getBaseBusinessURL()+"/api/v4/private/meeting/create";e.start_time||(e.start_time=new Date().getTime()/1e3+60,e.end_time=e.start_time+1*60*60);let n={title:e.room_name,start_time:e.start_time,end_time:e.end_time,password:e.secret,mustmaster:e.is_must_host,room:e.room,is_earily:0,qdtls:0,master:e.creator,admin_list:e.admins,userlist:e.guests,auto_call_device:0,meeting_type:e.mode,template_name:e.template_name,meeting_record:e.meeting_record,only_invite:!(e.room_type==1||e.room_type==null),watermark:e.watermark?e.watermark:0,quiz_domain:e.quiz_domain?e.quiz_domain:""},s=a.getBusinessToken();return new Promise((i,r)=>a.post(t,n,s).then(o=>{o.code===200?i({code:200,message:"succ",data:o.data}):r(m.error(o.code,o.msg))}).catch(o=>{r(m.error(o.code,o.msg))}))}static create(e){let t="/v2/web/create-room",n={room:e.room,mode:e.mode,room_type:e.room_type,room_name:e.room_name,start_time:e.start_time,end_time:e.end_time,creator:e.creator,creator_nickname:e.creator_nickname,user_num:e.user_num||0,template_name:e.template_name?e.template_name:"triple",secret:e.secret||"",is_must_host:e.is_must_host||!1,is_record:e.is_record,record:e.record,is_mini_app:e.is_mini_app||!1};return new Promise((s,i)=>{a.post(t,n).then(r=>{r.code===200?s({code:200,message:"succ",data:e.room}):i(m.error(r.code,r.msg))}).catch(r=>{i(m.error(r.code,r.msg))})})}static checkRoomJoin(e){let t="/v2/web/check-room-join";return new Promise((n,s)=>{a.post(t,e).then(i=>{i.code===200?n({code:200,message:"succ",data:i.data}):s(m.error(i.code,i.msg))}).catch(i=>{s(m.error(i.code,i.msg))})})}static extJoinMeetingInfo(e){let t=a.getBaseBusinessURL()+"/api/v3/tenant/meeting/get-user-join-meeting-msg";return new Promise((n,s)=>{let i=new Date().getTime()+86400,r="EycLQsHwxhzK9OW8UEKWNfH2I3CGR2nINuU1EBpQ";a.post(t,{room_id:e,expire_time:i,nonce:r}).then(o=>{if(o.code===200){let l=o.data;l.expireTime=i,l.nonce=r,n({code:200,message:"succ",data:l})}else s(m.error(o.code,o.msg))}).catch(o=>{s(m.error(o.code,o.msg))})})}static padTo2Digits(e){return e<10?"0"+e:e+""}static formatDate(e){return[e.getFullYear(),this.padTo2Digits(e.getMonth()+1),this.padTo2Digits(e.getDate())].join("-")+" "+[this.padTo2Digits(e.getHours()),this.padTo2Digits(e.getMinutes())].join(":")}};function L(g){let e=Number(g);return isNaN(e)?0:e}function J(g){return typeof g=="number"&&!isNaN(g)}var _,y,Z,N,p={},ee,T,q,te="360p",ne=1,se={},re=!1,ie=!1,ae=1,K,Le,oe,P=class{static setup(e){return e.appId?e.baseURL?e.domain?(this.setupParam=e,this.style={position:"absolute",width:"100%",height:"100%",top:"0px",margin:"0px",right:"0px"},a.setBaseURL(e.baseURL),e.enableEncrypt&&e.publicKey&&(a.setupEncrypt(),a.setEncryptKey(e.publicKey)),!0):(console.error("\u8BF7\u4F20\u5165 domain, \u521D\u59CB\u5316\u5931\u8D25"),!1):(console.error("\u8BF7\u4F20\u5165 baseURL, \u521D\u59CB\u5316\u5931\u8D25"),!1):(console.error("\u8BF7\u4F20\u5165 appId, \u521D\u59CB\u5316\u5931\u8D25"),!1)}static getVersion(){return"2.4.5"}static isExternalUser(){return!!a.getBaseBusinessURL()||this.isExtUser}static login(e){return new Promise((t,n)=>{var r;if(a.getBaseURL()||n(m.error(501,"sassURL\u4E3A\u7A7A")),!((r=this.setupParam)!=null&&r.appId)){n(m.error(501,"appId\u4E3A\u7A7A"));return}if(!e.expireTime){n(m.error(501,"\u7B7E\u540D\u7684\u8FC7\u671F\u65F6\u95F4\u6233\u4E3A\u7A7A"));return}if(!e.nonce){n(m.error(501,"\u751F\u6210\u7B7E\u540D\u7684\u968F\u673A\u5B57\u7B26\u4E32\u4E3A\u7A7A"));return}if(!e.userId){n(m.error(501,"\u7528\u6237Id\u4E3A\u7A7A"));return}if(!e.signature){n(m.error(501,"\u7B7E\u540D\u4E3A\u7A7A"));return}e.extUserId&&(this.extUserId=e.extUserId);let i;this.setupParam.enableEncrypt?i={app_id:this.setupParam.appId,expire_time:e.expireTime,nonce:e.nonce,user_id:e.userId,signature:e.signature,nickname:e.nickname,enable_encrypt:1,avatar:e.avatar}:i={app_id:this.setupParam.appId,expire_time:e.expireTime,nonce:e.nonce,user_id:e.userId,signature:e.signature,nickname:e.nickname,avatar:e.avatar},b.getRoomToken(i).then(o=>{let{api:l,token:d,jwt_token:u,brtc_appid:f}=o;T=e.userId,this.loginParam=G(j({},e),{userId:T}),l&&d&&u?(a.setServerAPI(l),a.setToken(d),a.setCustomToken(u),ee=f,this.brtc_host=o.brtc_host,this.brtm_host=o.brtm_host,t({code:200,message:"succ",data:o})):(console.warn("\u670D\u52A1\u5668\u53C2\u6570\u6821\u9A8C\u5931\u8D25"),n(m.error(300,"\u670D\u52A1\u5668\u53C2\u6570\u6821\u9A8C\u5931\u8D25")))}).catch(o=>{n(o)})})}static loginExternalAccount(e){return new Promise((t,n)=>{this.isExtUser=!0,this.extUserId=e.extUserId,a.setBaseBusinessURL(this.setupParam.baseURL),b.loginExternalAccount(e,this.setupParam.appId).then(s=>{console.log("business-login \u83B7\u53D6\u6388\u6743\u6210\u529F===>",s),a.setBusinessToken(s.authorization);let i=s.user_id;this.setupParam.appId=s.saas_app_id,this.setupParam.domain=s.saas_domain,this.setupParam.baseURL=s.saas_server_host,a.setBaseURL(s.saas_server_host);let r={userId:i,nickname:e.nickname,avatar:e.avatar,expireTime:s.expire_time,nonce:s.nonce,signature:s.saas_signature};return b.getCompanyMeetingControl().catch(o=>{console.error("get company info error",o)}),this.login(r)}).then(s=>{console.log("saas-login succ",s),t(s)}).catch(s=>{console.warn("loginExternalAccount error",s),n(m.error(s.code,s.message))})})}static logout(){let e="/v2/web/log-out";return new Promise((t,n)=>{a.post(e).then(s=>{s.code===200?(a.setServerAPI(""),a.setToken(""),a.setCustomToken(""),t({code:200,message:"\u9000\u51FA\u6210\u529F"})):n(m.error(s.code,"\u9000\u51FA\u5931\u8D25"))}).catch(s=>{n(s)})})}static create(e){return this.isExternalUser()?b.extCreate(e):b.create(e)}static join(e){var t;return this.isExternalUser()?((t=e==null?void 0:e.user)!=null&&t.includes("robot_")?e.user=`robot_${T}`:e.user=T,this.private_join(e,void 0).then(n=>(this.getBoomShare(e.roomId).then(s=>(K=s.data,console.log("boomShare===========>",s),Promise.resolve(s))).catch(s=>(console.log("boomShare===========>error",s),(s==null?void 0:s.message)=="Failed to fetch"?Promise.reject(m.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):Promise.reject(s))),_&&c.request("set-boom-share",{boomShare:K}),Promise.resolve(n))).catch(n=>(console.error("check room join failed",n),(n==null?void 0:n.message)=="Failed to fetch"?Promise.reject(m.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):Promise.reject(n)))):this.private_join(e)}static private_join(e,t,n){let s=a.getBaseURL(),i=a.getServerAPI();return e.avatar=e.avatar?e.avatar:this.loginParam.avatar,this.companyMeetingConfigInfo=n,this.meetingInfo=t,new Promise((r,o)=>{let l;e.screen?l=new Promise(d=>{d({code:200,data:{token:a.getToken(),room:e.roomId,user_id:e.user?e.user:this.loginParam.userId,nickname:e.nickname?e.nickname:this.loginParam.nickname,secret:e.secret,brtc_host:this.brtc_host,mode:e.mode==="live"?2:1}})}):l=b.checkRoomJoin({token:a.getToken(),room:e.roomId,user_id:e.user?e.user:this.loginParam.userId,nickname:e.nickname?e.nickname:this.loginParam.nickname,secret:e.secret,mode:e.mode==="live"?2:1,qdtls:e.qdtls,qdtls_group_id:e.qdtls_group_id}),l.then(d=>{if(d.code===200)if(this.isJoining)console.log("join().this.isJoining:",this.isJoining);else{let u=d.data,{room:f,room_name:C,secret:h,nickname:ce,mode:me,create:ge,joined:le,creator_nickname:de,call_phone_num:ue,is_t_livefast:pe,is_big:fe,voiceEncourage:he,noWaiting:Ie,qdtls:ye,qdtls_group_id:be}=u,_e={action:"join",parentNode:e.parentNode,roomId:f,title:C,secret:h,user:e.user,nickname:ce,joined:le,screen:e.screen,isControl:e.isControl,subVenue:e.subVenue,avatar:e.avatar?encodeURIComponent(e.avatar):"",identity:e.identity,userType:e.userType,videoEnable:e.videoEnable,audioEnable:e.audioEnable,mode:me==2?"live":"meeting",token:a.getToken(),customToken:a.getCustomToken(),server:s,api:i,role:Z,create:ge,room_name:C,creator_nickname:de,call_phone_num:ue,is_t_livefast:pe,meetingControlOptions:encodeURIComponent(JSON.stringify(e.meetingControlOptions)),electron:e.electron,visitorDocument:e.visitorDocument||!1,brtcAppId:ee,brtcSig:u.brtc_sig,brtc_host:this.brtc_host,videoProfile:te,is_big:fe,noWaiting:Ie,voiceEncourage:he,userListColumns:ne,streamConfig:se,showMeetingTopic:re,sortType:ae,singleTalk:ie,extUserId:this.extUserId,qdtls:ye?1:0,qdtls_group_id:be,enableEncrypt:this.setupParam.enableEncrypt,publicKey:this.setupParam.publicKey,clientId:a.clientId,encryptKey:a.encryptKey,pairKey:JSON.stringify(a.pairKey),customInfo:e.customInfo?JSON.stringify(e.customInfo):"{}",template_name:u.template_name?u.template_name:e.template_name};this.isJoining=!0,this.__create(_e).then(()=>{this.isJoining=!1,r(m.succ("success"))}).catch(Pe=>{this.isJoining=!1,o(Pe)});return}else o(m.error(d.code,d.message))}).catch(d=>{o(m.error(d.code,d.message))})})}static setRole(e){return new Promise(t=>{Z=e,t({code:200,message:"",data:"\u8BBE\u7F6E\u89D2\u8272\u6210\u529F\uFF01"})})}static setWindowNumber(e){return new Promise((t,n)=>{oe=e,this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("set-window-number",e))})}static robotJoin(e){e.user&&e.user.indexOf("robot_")==-1&&(e.user="robot_"+e.user);let t=e.meetingControlOptions||{};return t.hideChat=!0,e.meetingControlOptions=t,this.join(e)}static setInvitationInfo(e){return new Promise((t,n)=>{typeof e=="string"?N={inviteInfo:e}:N=e,_?(c.setPromiseMap(t,n),c.request("set-invitation-info",{info:e})):t(m.succ("\u8BBE\u7F6E\u6210\u529F"))})}static setRoomConfig(e){return e?typeof e!="object"?Promise.reject(m.error(101,"parameters not correct")):new Promise((t,n)=>{_?(c.setPromiseMap(t,n),!e.businessInfo&&this.isExternalUser()&&(e.businessInfo={host:a.getBaseBusinessURL(),token:a.getBusinessToken()}),c.request("set-room-config",e)):(p=e,!p.businessInfo&&this.isExternalUser()&&(p.businessInfo={host:a.getBaseBusinessURL(),token:a.getBusinessToken()}),t(m.succ("\u8BBE\u7F6E\u6210\u529F")))}):Promise.reject(m.error(101,"parameters not correct"))}static leave(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("leaveRoom"))})}static release(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("releaseRoom"))})}static getParticipants(){return new Promise((e,t)=>{this._getParticipants().then(n=>{e({code:200,message:"\u83B7\u53D6\u53C2\u4F1A\u4EBA\u5458\u6210\u529F",data:n.data})}).catch(n=>{console.log("getParticipants.err",n),t({code:201,message:"\u83B7\u53D6\u53C2\u4F1A\u4EBA\u5458\u5931\u8D25"})})})}static setTheme(e){return new Promise((t,n)=>{B.identityColor.manager=e,this._setTheme(B).then(s=>{s.data.code===200?t({code:200,message:"\u4E3B\u9898\u989C\u8272\u914D\u7F6E\u6210\u529F"}):n({code:201,message:"\u4E3B\u9898\u989C\u8272\u914D\u7F6E\u5931\u8D25"})}).catch(s=>{n({code:201,message:"\u4E3B\u9898\u989C\u8272\u914D\u7F6E\u5931\u8D25"})})})}static startCloudRecord(e){return new Promise((t,n)=>{this._statCloud(e).then(s=>{s.code===200?t({code:200,message:"\u4E91\u5F55\u5F00\u542F\u6210\u529F"}):t({code:s.code,message:s.message})}).catch(s=>{(s==null?void 0:s.message)=="Failed to fetch"?n(m.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):n(s)})})}static endCloudRecord(e){return new Promise((t,n)=>{this._endCloud(e).then(s=>{s.code===200?t({code:200,message:"\u4E91\u5F55\u7ED3\u675F\u6210\u529F"}):t({code:s.code,message:s.message})}).catch(s=>{n({code:201,message:"\u4E91\u5F55\u7ED3\u675F\u5931\u8D25"})})})}static setLanguage(e){return new Promise((t,n)=>{this._setLanguage(e).then(s=>{console.log("resres",s),s.data.code===200?t({code:200,message:"\u56FD\u9645\u5316\u914D\u7F6E\u6210\u529F"}):n({code:201,message:"\u56FD\u9645\u5316\u914D\u7F6E\u5931\u8D25"})}).catch(s=>{n({code:201,message:"\u56FD\u9645\u5316\u914D\u7F6E\u5931\u8D25"})})})}static getMaster(){return new Promise((e,t)=>{this._getMaster().then(n=>{e({code:200,message:"\u83B7\u53D6\u4E3B\u6301\u4EBA\u6210\u529F",data:n})}).catch(n=>{t({code:201,message:"\u83B7\u53D6\u4E3B\u6301\u4EBA\u5931\u8D25"})})})}static meetingCtrlConfig(e){return new Promise((t,n)=>{Le=e,this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("meetingCtrlConfig",e))})}static setupMeetingControlOptions(e){this.meetingControlOptions=e}static snapshot(e){return new Promise((t,n)=>{this._snapshot(e).then(s=>{let i={};for(let r=0;r<e.length;r++)i[e[r]]=s.data[r];t({code:200,message:"\u622A\u56FE\u6210\u529F",data:i})}).catch(s=>{n({code:201,message:"\u622A\u56FE\u5931\u8D25"})})})}static syncFullStatus(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("sync-full-status",{full:e}))})}static syncMaxStatus(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("sync-max-status",{max:e}))})}static rename(e,t){return new Promise((n,s)=>{this.checkIframe(s)&&(c.setPromiseMap(n,s),c.request("rename",{id:e,nickname:t}))})}static evictUser(e){return new Promise((t,n)=>{this._evictUser(e).then(s=>{s.data.code===200?t({code:200,message:"\u8E22\u51FA\u7528\u6237\u6210\u529F"}):n({code:201,message:"\u8E22\u51FA\u7528\u6237\u5931\u8D25"})}).catch(s=>{n({code:201,message:"\u8E22\u51FA\u7528\u6237\u5931\u8D25"})})})}static setLocalVideoEnable(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("set-local-camera",e))})}static setLocalAudioEnable(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("set-local-microphone",e))})}static muteRemoteVideoStream(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("mute-remote-video-stream",{uid:e}))})}static muteRemoteAudioStream(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("mute-remote-audio-stream",{uid:e}))})}static setLocalSpeaker(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("set-local-speaker"))})}static setAllMuted(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("toggle-muted",{muted:!0,canOpenBySelf:e}))})}static setAllUnMuted(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("toggle-muted",{muted:!1,canOpenBySelf:!0}))})}static on(e,t){if(this.eventMap?this.eventMap.set(e,t):(this.eventMap=new Map,this.eventMap.set(e,t)),e=="room-end"){let n=s=>{console.log("room-end:depend in code"),this.eventMap&&this.eventMap.forEach((i,r)=>{document.removeEventListener(r,i)}),t&&t(s)};this.eventMap.set("room-end",n)}document.addEventListener(e,n=>{let s=this.eventMap.get(e);s&&s.call(this,n)})}static off(e){try{let t=this.eventMap.get(e);document.removeEventListener(e,t)}catch(t){console.log("off:",t)}}static __create(e,t){return new Promise((n,s)=>{y=e,t&&(this.style=t),!e||!e.action||!e.token?s(m.error(101,"parameters not correct")):(e.action==="create"?this.createIframe(e.electron):e.action==="join"&&this.createIframe(e.electron),n(m.succ()))})}static createIframe(e){var i;let t=this.setupParam.domain;if(_){console.log("createIframe has createIframe",_);try{document.body.removeChild(_)}catch(r){}c.clear()}let n=y.parentNode?y.parentNode:document.body;y.appId=this.setupParam.appId,delete y.parentNode;let s=w.organizeUrl(t,y,{brtm_host:this.brtm_host});if(e&&e.isElectron)if(e.callback)e.callback(s);else{let r=(i=window==null?void 0:window.electron)==null?void 0:i.ipcRenderer;r&&r.invoke("joinBoomRoom",{url:s})}else if(window.BMQTBridge){let r={method:y.action,params:y};window.BMQTBridge.joinRoom&&(console.log("window.qtObject.joinRoom:",JSON.stringify(r)),window.BMQTBridge.joinRoom(JSON.stringify(r))),window.BMQTBridge.joinRoomObj&&(console.log("window.qtObject.joinRoomObj:",r),window.BMQTBridge.joinRoomObj(r));let o=this.eventMap.get("room-end");o&&o.call(this,{})}else{let r=document.createElement("iframe"),o=document.createElement("div");o.style.width="100%",o.style.height="100%",o.style.backGroundColor="black",o.style.zIndex="999999",o.id="fuck",console.log("\u521B\u5EFAiframe"),r.allow="autoplay;geolocation;display-capture;microphone;camera; midi; encrypted-media;fullscreen;cross-origin-isolated;";for(let d in this.style)r.style[d]=this.style[d];r.src=s,console.log("boom_url:"+r.src),r.id="targetIframe",r.style.border="0",!p&&this.isExternalUser()&&(p={businessInfo:{host:a.getBaseBusinessURL(),token:a.getBusinessToken()}}),p.meetingInfo=this.meetingInfo,p.companyMeetingConfigInfo=this.companyMeetingConfigInfo,p.meetingControlOptions=this.meetingControlOptions,p.invitationInfo=N,p.language=q,p.boomShare=K,p.windowNumber=oe,p.meetingURL=s;let l=()=>{console.log("iframe\u52A0\u8F7D\u6210\u529F"),c.request("set-room-config",p)};r.attachEvent?r.attachEvent("onload",l):r.onload=l,_=n.appendChild(r),c.createMeassage(r,()=>{_=void 0}),c.addListener()}}static checkIframe(e){return _?!0:(e(m.notInitIframe()),!1)}static idConvert(e,t){let n="/op/v2/users/convert";Array.isArray(e)||(e=[e]);let s=e.join(",");return new Promise((i,r)=>{a.post(n,{users:s,type:t}).then(o=>{if(o.code==200){let l=o.data.link,d=[];for(let u in l)d.push(l[u]);i(d)}else r(o)}).catch(o=>{(o==null?void 0:o.message)=="Failed to fetch"?r(m.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):r(o)})})}static _snapshot(e){return new Promise((t,n)=>{this.checkIframe(n)&&this.idConvert(e,"third").then(s=>{c.setPromiseMap(t,n),c.request("snapshot",{uid:s})}).catch(s=>{n({code:300,message:"id\u8F6C\u6362\u5931\u8D25"})})})}static _snapshotAll(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("snapshot-all"))})}static _startRecord(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("start-record"))})}static _stopRecord(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("stop-record"))})}static _notifyRecord(e,t){let n="/op/v2/meeting/record";return new Promise((s,i)=>{a.post(n,{stream:e,room:t}).then(r=>{r.code==200?s(r.data):i(r)}).catch(r=>{(r==null?void 0:r.message)=="Failed to fetch"?i(m.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):i(r)})})}static _notifyStopRecord(e,t){let n="/op/v2/meeting/record-end";return new Promise((s,i)=>{a.post(n,{stream:e,room:t}).then(r=>{r.code==200?s(r):i(r)}).catch(r=>{(r==null?void 0:r.message)=="Failed to fetch"?i(m.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):i(r)})})}static getBoomShare(e){let t=a.getBaseBusinessURL()+`/api/conference/v1/meetingInfo?room_id=${e}`;return new Promise((n,s)=>{a.get(t,null,a.getBusinessToken()).then(i=>{i.code==200?n(i):s(i)}).catch(i=>{console.log("getBoomShare-Error",i),(i==null?void 0:i.message)=="Failed to fetch"?s(m.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):s(i)})})}static _getParticipants(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("get-participants"))})}static _getMaster(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("get-master"))})}static _evictUser(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("evict-user",{id:e}))})}static _setTheme(e){return new Promise((t,n)=>{c.setPromiseMap(t,n),c.request("theme-config",{theme:e})})}static _statCloud(e){let t="/v1/web/record-start";return new Promise((n,s)=>{a.post(t,{room:e}).then(i=>{i.code===200?n({code:200,message:"\u5F00\u542F\u4E91\u5F55\u6210\u529F"}):(n({code:i.code,message:i.message}),console.log("_startCloud=============>error",i)),c.setPromiseMap(n,s)}).catch(i=>{(i==null?void 0:i.message)=="Failed to fetch"?s(m.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):s(i)})})}static _endCloud(e){let t="/v2/record/stop";return new Promise((n,s)=>{a.post(t,{room:e}).then(i=>{i.code===200?n({code:200,message:"\u4E91\u5F55\u7ED3\u675F\u6210\u529F"}):(n({code:i.code,message:i.message}),console.log("_endCloud=============>error",i)),c.setPromiseMap(n,s)}).catch(i=>{(i==null?void 0:i.message)=="Failed to fetch"?s(m.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):s(i)})})}static _setLanguage(e){return new Promise((t,n)=>{c.setPromiseMap(t,n),q=e,c.request("set-language",{languageMod:q})})}static setVideoProfile(e){te=e}static setUserListColumns(e){let t=L(e);if(!J(t))throw new Error("\u53C2\u6570\u5FC5\u987B\u662F\u6570\u5B57");if(t<1)throw new Error("\u53C2\u6570\u5FC5\u987B>=1");ne=e}static setStreamConfig(e){let t=L(e);if(!J(t))throw new Error("\u53C2\u6570\u5FC5\u987B\u662F\u6570\u5B57");if(t<1)throw new Error("\u53C2\u6570\u5FC5\u987B>=1");se=e}static setSortType(e){let t=L(e);if(!J(t))throw new Error("\u6392\u5E8F\u6A21\u5F0F\u5FC5\u987B\u662F\u6570\u5B57");if(t>2||t<1)throw new Error("\u6392\u5E8F\u65B9\u5F0F\u53EA\u652F\u63011 \u6216\u8005 2");ae=t}static setMeetingTopic(e){re=e}static setSingleTalk(e){ie=e}static staticsPage(e){let{roomId:t,parentNode:n,domain:s}=e;return s&&(this.setupParam.domain=s),y={action:"create",appId:this.setupParam.appId,token:a.getToken(),customToken:a.getBusinessToken(),server:a.getBaseBusinessURL(),api:a.getBaseURL(),roomId:t,parentNode:n,nickname:"",joined:!1,videoEnable:!1,audioEnable:!1,title:"",identity:0,userType:0,screen:!1,brtcSig:"",brtc_host:"",create:!1,room_name:"",creator_nickname:"",call_phone_num:"",mode:"meeting",is_big:0,noWaiting:!1,showMeetingTopic:!1,singleTalk:!1,voiceEncourage:0,userListColumns:1,streamConfig:{},sortType:1,extUserId:this.extUserId,qdtls:0,qdtls_group_id:"",template_name:"",isControl:7,customInfo:{}},this.createIframe(),console.log("BoomMeetingExternal staticsPage, \u6253\u5F00\u7EDF\u8BA1\u9875\u9762"),!0}static clipPage(e){let{roomId:t,videoId:n,parentNode:s,domain:i,preview:r}=e;return i&&(this.setupParam.domain=i),y={action:"create",appId:this.setupParam.appId,token:a.getToken(),customToken:a.getBusinessToken(),server:a.getBaseBusinessURL(),api:a.getBaseURL(),roomId:t,parentNode:s,nickname:"",joined:!1,videoEnable:!1,audioEnable:!1,title:"",identity:0,userType:0,screen:!1,brtcSig:"",brtc_host:"",create:!1,room_name:"",creator_nickname:"",call_phone_num:"",mode:"meeting",is_big:0,noWaiting:!1,showMeetingTopic:!1,singleTalk:!1,voiceEncourage:0,userListColumns:1,streamConfig:{},sortType:1,extUserId:this.extUserId,qdtls:0,qdtls_group_id:"",template_name:"",isControl:r?9:8,customInfo:{videoId:n}},this.createIframe(),console.log("BoomMeetingExternal.clipPage(), \u6253\u5F00\u89C6\u9891\u526A\u8F91\u9875\u9762"),!0}static evaluationView(e){let{parentNode:t,domain:n}=e;return n&&(this.setupParam.domain=n),y={action:"create",appId:this.setupParam.appId,token:a.getToken(),customToken:a.getBusinessToken(),server:a.getBaseBusinessURL(),api:a.getBaseURL(),roomId:"",parentNode:t,nickname:"",joined:!1,videoEnable:!1,audioEnable:!1,title:"",identity:0,userType:0,screen:!1,brtcSig:"",brtc_host:"",create:!1,room_name:"",creator_nickname:"",call_phone_num:"",mode:"meeting",is_big:0,noWaiting:!1,showMeetingTopic:!1,singleTalk:!1,voiceEncourage:0,userListColumns:1,streamConfig:{},sortType:1,extUserId:this.extUserId,qdtls:0,qdtls_group_id:"",template_name:"",isControl:11,customInfo:{}},this.createIframe(),console.log("BoomMeetingExternal.clipPage(), \u6253\u5F00\u89C6\u9891\u526A\u8F91\u9875\u9762"),!0}};window.BoomMeetingExternal=P;console.log("BoomMeetingExternal.getVersion:"+P.getVersion());window.BoomMeetingExternal=P||{};var It=P;export{It as default}; | ||
| ############# json err`,h),d(h)})}));return Promise.race([o,r])}static handleServerData(e,t,n){return e.ok?this.encryptKey?e.json().then(s=>{if(s.data.noCipher)return s;let i=this.encrypt.decryptSm4(s.data.ciphertext,this.pairKey.deKey);return console.log("descrypt sm4",i),JSON.parse(i)}):e.json():e.status===500?Promise.reject({code:500,message:"\u8FDE\u63A5\u670D\u52A1\u5668\u5931\u8D25, \u8BF7\u68C0\u67E5\u7F51\u7EDC\u91CD\u8BD5!",url:t,param:n}):e.status===404?Promise.reject({code:404,message:"404",url:t,param:n}):e.status===502?Promise.reject({code:502,message:"\u8FDE\u63A5\u670D\u52A1\u5668\u5931\u8D25, \u8BF7\u68C0\u67E5\u7F51\u7EDC\u91CD\u8BD5!",url:t,param:n}):Promise.reject({code:e.status,message:e.status+"",url:t,param:n})}};var xe={default:"#216bff",hover:"#6497ff",disabled:"#90b5ff"},Oe={master:"#ff742e",manager:"#216bff",signal:"#44d97b"},Ue="#dbe7ff",Be={primaryColor:xe,identityColor:Oe,listHoverStyle:Ue},B=Be;var X="meeting-setting",M=class{static setMeetingSetting(e){let t=JSON.stringify(e);localStorage==null||localStorage.setItem(X,t)}static getMeetingSetting(){let e=localStorage==null?void 0:localStorage.getItem(X);if(e)try{return JSON.parse(e)}catch(t){return null}return null}};var b=class{static loginExternalAccount(e,t){let n=a.getBaseBusinessURL()+"/api/v3/tenant/user/login",s=e.extUserId,i=e.nonce?e.nonce:"EycLQsHwxhzK9OW8UEKWNfH2I3CGR2nINuU1EBpQ",r=e.nickname,o=e.avatar,l=e.expireTime,d=e.signature,u={app_id:t,uuid:s,nickname:r,avatar:o,expire_time:l,nonce:i,signature:d};return a.post(n,u).then(f=>f.code==200?Promise.resolve(f.data):Promise.reject(m.error(f.code,f.message))).catch(f=>Promise.reject(f))}static getUserJoinMeetingMsg(e){let t=a.getBaseBusinessURL()+"/api/v3/tenant/meeting/get-user-join-meeting-msg",n=e.nonce||"EycLQsHwxhzK9OW8UEKWNfH2I3CGR2nINuU1EBpQ",s=e.expireTime||new Date().getTime()+24*60*60+"",r={room_id:e.roomId,expire_time:s,nonce:n};return a.post(t,r,a.getBusinessToken()).then(o=>o.code==200?Promise.resolve(o.data):Promise.reject(m.error(o.code,o.message))).catch(o=>Promise.reject(o))}static getCompanyMeetingControl(){let e=M.getMeetingSetting();if(e)return Promise.resolve(e);let t=a.getBaseBusinessURL()+"/api/conference/v3/meeting/get-meeting-config";return a.get(t,void 0,a.getBusinessToken()).then(n=>n.code==200?(M.setMeetingSetting(n.data),Promise.resolve(n.data)):Promise.reject(m.error(n.code,n.message))).catch(n=>Promise.reject(n))}static getSignature(){let e=(Math.floor(Date.now()/1e3)+864e3).toString(),t="KaYlJIadhasudqwhnasdj";return new Promise((n,s)=>{let i=a.getBaseBusinessURL()+"/api/v3/user/get-saasapi-signature";a.post(i,{expire_time:e,nonce:t},a.getBusinessToken()).then(r=>{r.code==200?n({signature:r.data.signature,expireTime:e,nonce:t}):s(m.error(r.code,r.message))}).catch(r=>{s(m.error(r.code,r.message))})})}static getBoomShare(e){return new Promise((t,n)=>{let s=a.getBaseBusinessURL()+`/api/conference/v1/meetingInfo?room_id=${e}`;a.get(s).then(i=>{i.code==200?t({code:200,message:"success",data:i.data}):n(m.error(i.code,i.message))}).catch(i=>{n(m.error(i.code,i.message))})})}static _getRoomToken(e){let t="/v2/web/get-room-token";return a.post(t,e,void 0,4*1e3).then(n=>n.code===200?n.data:Promise.reject(m.error(n.code,"\u767B\u5F55\u5931\u8D25:"+n.message))).catch(n=>(console.warn(n.message),n.message=="Failed to fetch"?Promise.reject(m.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):Promise.reject(n)))}static getRoomToken(e){let t=0;return new Promise((n,s)=>{let i=()=>{this._getRoomToken(e).then(r=>{n(r)}).catch(r=>{if(t>=5){s(r);return}t++,console.warn("_getRoomToken",r.message),i()})};i()})}static extCreate(e){let t=a.getBaseBusinessURL()+"/api/v4/private/meeting/create";e.start_time||(e.start_time=new Date().getTime()/1e3+60,e.end_time=e.start_time+1*60*60);let n={title:e.room_name,start_time:e.start_time,end_time:e.end_time,password:e.secret,mustmaster:e.is_must_host,room:e.room,is_earily:0,qdtls:0,master:e.creator,admin_list:e.admins,userlist:e.guests,auto_call_device:0,meeting_type:e.mode,template_name:e.template_name,meeting_record:e.meeting_record,only_invite:!(e.room_type==1||e.room_type==null),watermark:e.watermark?e.watermark:0,quiz_domain:e.quiz_domain?e.quiz_domain:""},s=a.getBusinessToken();return new Promise((i,r)=>a.post(t,n,s).then(o=>{o.code===200?i({code:200,message:"succ",data:o.data}):r(m.error(o.code,o.msg))}).catch(o=>{r(m.error(o.code,o.msg))}))}static create(e){let t="/v2/web/create-room",n={room:e.room,mode:e.mode,room_type:e.room_type,room_name:e.room_name,start_time:e.start_time,end_time:e.end_time,creator:e.creator,creator_nickname:e.creator_nickname,user_num:e.user_num||0,template_name:e.template_name?e.template_name:"triple",secret:e.secret||"",is_must_host:e.is_must_host||!1,is_record:e.is_record,record:e.record,is_mini_app:e.is_mini_app||!1};return new Promise((s,i)=>{a.post(t,n).then(r=>{r.code===200?s({code:200,message:"succ",data:e.room}):i(m.error(r.code,r.msg))}).catch(r=>{i(m.error(r.code,r.msg))})})}static checkRoomJoin(e){let t="/v2/web/check-room-join";return new Promise((n,s)=>{a.post(t,e).then(i=>{i.code===200?n({code:200,message:"succ",data:i.data}):s(m.error(i.code,i.msg))}).catch(i=>{s(m.error(i.code,i.msg))})})}static extJoinMeetingInfo(e){let t=a.getBaseBusinessURL()+"/api/v3/tenant/meeting/get-user-join-meeting-msg";return new Promise((n,s)=>{let i=new Date().getTime()+86400,r="EycLQsHwxhzK9OW8UEKWNfH2I3CGR2nINuU1EBpQ";a.post(t,{room_id:e,expire_time:i,nonce:r}).then(o=>{if(o.code===200){let l=o.data;l.expireTime=i,l.nonce=r,n({code:200,message:"succ",data:l})}else s(m.error(o.code,o.msg))}).catch(o=>{s(m.error(o.code,o.msg))})})}static padTo2Digits(e){return e<10?"0"+e:e+""}static formatDate(e){return[e.getFullYear(),this.padTo2Digits(e.getMonth()+1),this.padTo2Digits(e.getDate())].join("-")+" "+[this.padTo2Digits(e.getHours()),this.padTo2Digits(e.getMinutes())].join(":")}};function L(g){let e=Number(g);return isNaN(e)?0:e}function J(g){return typeof g=="number"&&!isNaN(g)}var _,y,Z,N,p={},ee,T,q,te="360p",ne=1,se={},re=!1,ie=!1,ae=1,K,Le,oe,P=class{static setup(e){return e.appId?e.baseURL?e.domain?(this.setupParam=e,this.style={position:"absolute",width:"100%",height:"100%",top:"0px",margin:"0px",right:"0px"},a.setBaseURL(e.baseURL),e.enableEncrypt&&e.publicKey&&(a.setupEncrypt(),a.setEncryptKey(e.publicKey)),!0):(console.error("\u8BF7\u4F20\u5165 domain, \u521D\u59CB\u5316\u5931\u8D25"),!1):(console.error("\u8BF7\u4F20\u5165 baseURL, \u521D\u59CB\u5316\u5931\u8D25"),!1):(console.error("\u8BF7\u4F20\u5165 appId, \u521D\u59CB\u5316\u5931\u8D25"),!1)}static getVersion(){return"2.4.6"}static isExternalUser(){return!!a.getBaseBusinessURL()||this.isExtUser}static login(e){return new Promise((t,n)=>{var r;if(a.getBaseURL()||n(m.error(501,"sassURL\u4E3A\u7A7A")),!((r=this.setupParam)!=null&&r.appId)){n(m.error(501,"appId\u4E3A\u7A7A"));return}if(!e.expireTime){n(m.error(501,"\u7B7E\u540D\u7684\u8FC7\u671F\u65F6\u95F4\u6233\u4E3A\u7A7A"));return}if(!e.nonce){n(m.error(501,"\u751F\u6210\u7B7E\u540D\u7684\u968F\u673A\u5B57\u7B26\u4E32\u4E3A\u7A7A"));return}if(!e.userId){n(m.error(501,"\u7528\u6237Id\u4E3A\u7A7A"));return}if(!e.signature){n(m.error(501,"\u7B7E\u540D\u4E3A\u7A7A"));return}e.extUserId&&(this.extUserId=e.extUserId);let i;this.setupParam.enableEncrypt?i={app_id:this.setupParam.appId,expire_time:e.expireTime,nonce:e.nonce,user_id:e.userId,signature:e.signature,nickname:e.nickname,enable_encrypt:1,avatar:e.avatar}:i={app_id:this.setupParam.appId,expire_time:e.expireTime,nonce:e.nonce,user_id:e.userId,signature:e.signature,nickname:e.nickname,avatar:e.avatar},b.getRoomToken(i).then(o=>{let{api:l,token:d,jwt_token:u,brtc_appid:f}=o;T=e.userId,this.loginParam=G(j({},e),{userId:T}),l&&d&&u?(a.setServerAPI(l),a.setToken(d),a.setCustomToken(u),ee=f,this.brtc_host=o.brtc_host,this.brtm_host=o.brtm_host,t({code:200,message:"succ",data:o})):(console.warn("\u670D\u52A1\u5668\u53C2\u6570\u6821\u9A8C\u5931\u8D25"),n(m.error(300,"\u670D\u52A1\u5668\u53C2\u6570\u6821\u9A8C\u5931\u8D25")))}).catch(o=>{n(o)})})}static loginExternalAccount(e){return new Promise((t,n)=>{this.isExtUser=!0,this.extUserId=e.extUserId,a.setBaseBusinessURL(this.setupParam.baseURL),b.loginExternalAccount(e,this.setupParam.appId).then(s=>{console.log("business-login \u83B7\u53D6\u6388\u6743\u6210\u529F===>",s),a.setBusinessToken(s.authorization);let i=s.user_id;this.setupParam.appId=s.saas_app_id,this.setupParam.domain=s.saas_domain,this.setupParam.baseURL=s.saas_server_host,a.setBaseURL(s.saas_server_host);let r={userId:i,nickname:e.nickname,avatar:e.avatar,expireTime:s.expire_time,nonce:s.nonce,signature:s.saas_signature};return b.getCompanyMeetingControl().catch(o=>{console.error("get company info error",o)}),this.login(r)}).then(s=>{console.log("saas-login succ",s),t(s)}).catch(s=>{console.warn("loginExternalAccount error",s),n(m.error(s.code,s.message))})})}static logout(){let e="/v2/web/log-out";return new Promise((t,n)=>{a.post(e).then(s=>{s.code===200?(a.setServerAPI(""),a.setToken(""),a.setCustomToken(""),t({code:200,message:"\u9000\u51FA\u6210\u529F"})):n(m.error(s.code,"\u9000\u51FA\u5931\u8D25"))}).catch(s=>{n(s)})})}static create(e){return this.isExternalUser()?b.extCreate(e):b.create(e)}static join(e){var t;return this.isExternalUser()?((t=e==null?void 0:e.user)!=null&&t.includes("robot_")?e.user=`robot_${T}`:e.user=T,this.private_join(e,void 0).then(n=>(this.getBoomShare(e.roomId).then(s=>(K=s.data,console.log("boomShare===========>",s),Promise.resolve(s))).catch(s=>(console.log("boomShare===========>error",s),(s==null?void 0:s.message)=="Failed to fetch"?Promise.reject(m.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):Promise.reject(s))),_&&c.request("set-boom-share",{boomShare:K}),Promise.resolve(n))).catch(n=>(console.error("check room join failed",n),(n==null?void 0:n.message)=="Failed to fetch"?Promise.reject(m.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):Promise.reject(n)))):this.private_join(e)}static private_join(e,t,n){let s=a.getBaseURL(),i=a.getServerAPI();return e.avatar=e.avatar?e.avatar:this.loginParam.avatar,this.companyMeetingConfigInfo=n,this.meetingInfo=t,new Promise((r,o)=>{let l;e.screen?l=new Promise(d=>{d({code:200,data:{token:a.getToken(),room:e.roomId,user_id:e.user?e.user:this.loginParam.userId,nickname:e.nickname?e.nickname:this.loginParam.nickname,secret:e.secret,brtc_host:this.brtc_host,mode:e.mode==="live"?2:1}})}):l=b.checkRoomJoin({token:a.getToken(),room:e.roomId,user_id:e.user?e.user:this.loginParam.userId,nickname:e.nickname?e.nickname:this.loginParam.nickname,secret:e.secret,mode:e.mode==="live"?2:1,qdtls:e.qdtls,qdtls_group_id:e.qdtls_group_id}),l.then(d=>{if(d.code===200)if(this.isJoining)console.log("join().this.isJoining:",this.isJoining);else{let u=d.data,{room:f,room_name:C,secret:h,nickname:ce,mode:me,create:ge,joined:le,creator_nickname:de,call_phone_num:ue,is_t_livefast:pe,is_big:fe,voiceEncourage:he,noWaiting:Ie,qdtls:ye,qdtls_group_id:be}=u,_e={action:"join",parentNode:e.parentNode,roomId:f,title:C,secret:h,user:e.user,nickname:ce,joined:le,screen:e.screen,isControl:e.isControl,subVenue:e.subVenue,avatar:e.avatar?encodeURIComponent(e.avatar):"",identity:e.identity,userType:e.userType,videoEnable:e.videoEnable,audioEnable:e.audioEnable,mode:me==2?"live":"meeting",token:a.getToken(),customToken:a.getCustomToken(),server:s,api:i,role:Z,create:ge,room_name:C,creator_nickname:de,call_phone_num:ue,is_t_livefast:pe,meetingControlOptions:encodeURIComponent(JSON.stringify(e.meetingControlOptions)),electron:e.electron,visitorDocument:e.visitorDocument||!1,brtcAppId:ee,brtcSig:u.brtc_sig,brtc_host:this.brtc_host,videoProfile:te,is_big:fe,noWaiting:Ie,voiceEncourage:he,userListColumns:ne,streamConfig:se,showMeetingTopic:re,sortType:ae,singleTalk:ie,extUserId:this.extUserId,qdtls:ye?1:0,qdtls_group_id:be,enableEncrypt:this.setupParam.enableEncrypt,publicKey:this.setupParam.publicKey,clientId:a.clientId,encryptKey:a.encryptKey,pairKey:JSON.stringify(a.pairKey),customInfo:e.customInfo?JSON.stringify(e.customInfo):"{}",template_name:u.template_name?u.template_name:e.template_name};this.isJoining=!0,this.__create(_e).then(()=>{this.isJoining=!1,r(m.succ("success"))}).catch(Pe=>{this.isJoining=!1,o(Pe)});return}else o(m.error(d.code,d.message))}).catch(d=>{o(m.error(d.code,d.message))})})}static setRole(e){return new Promise(t=>{Z=e,t({code:200,message:"",data:"\u8BBE\u7F6E\u89D2\u8272\u6210\u529F\uFF01"})})}static setWindowNumber(e){return new Promise((t,n)=>{oe=e,this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("set-window-number",e))})}static robotJoin(e){e.user&&e.user.indexOf("robot_")==-1&&(e.user="robot_"+e.user);let t=e.meetingControlOptions||{};return t.hideChat=!0,e.meetingControlOptions=t,this.join(e)}static setInvitationInfo(e){return new Promise((t,n)=>{typeof e=="string"?N={inviteInfo:e}:N=e,_?(c.setPromiseMap(t,n),c.request("set-invitation-info",{info:e})):t(m.succ("\u8BBE\u7F6E\u6210\u529F"))})}static setRoomConfig(e){return e?typeof e!="object"?Promise.reject(m.error(101,"parameters not correct")):new Promise((t,n)=>{_?(c.setPromiseMap(t,n),!e.businessInfo&&this.isExternalUser()&&(e.businessInfo={host:a.getBaseBusinessURL(),token:a.getBusinessToken()}),c.request("set-room-config",e)):(p=e,!p.businessInfo&&this.isExternalUser()&&(p.businessInfo={host:a.getBaseBusinessURL(),token:a.getBusinessToken()}),t(m.succ("\u8BBE\u7F6E\u6210\u529F")))}):Promise.reject(m.error(101,"parameters not correct"))}static leave(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("leaveRoom"))})}static release(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("releaseRoom"))})}static getParticipants(){return new Promise((e,t)=>{this._getParticipants().then(n=>{e({code:200,message:"\u83B7\u53D6\u53C2\u4F1A\u4EBA\u5458\u6210\u529F",data:n.data})}).catch(n=>{console.log("getParticipants.err",n),t({code:201,message:"\u83B7\u53D6\u53C2\u4F1A\u4EBA\u5458\u5931\u8D25"})})})}static setTheme(e){return new Promise((t,n)=>{B.identityColor.manager=e,this._setTheme(B).then(s=>{s.data.code===200?t({code:200,message:"\u4E3B\u9898\u989C\u8272\u914D\u7F6E\u6210\u529F"}):n({code:201,message:"\u4E3B\u9898\u989C\u8272\u914D\u7F6E\u5931\u8D25"})}).catch(s=>{n({code:201,message:"\u4E3B\u9898\u989C\u8272\u914D\u7F6E\u5931\u8D25"})})})}static startCloudRecord(e){return new Promise((t,n)=>{this._statCloud(e).then(s=>{s.code===200?t({code:200,message:"\u4E91\u5F55\u5F00\u542F\u6210\u529F"}):t({code:s.code,message:s.message})}).catch(s=>{(s==null?void 0:s.message)=="Failed to fetch"?n(m.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):n(s)})})}static endCloudRecord(e){return new Promise((t,n)=>{this._endCloud(e).then(s=>{s.code===200?t({code:200,message:"\u4E91\u5F55\u7ED3\u675F\u6210\u529F"}):t({code:s.code,message:s.message})}).catch(s=>{n({code:201,message:"\u4E91\u5F55\u7ED3\u675F\u5931\u8D25"})})})}static setLanguage(e){return new Promise((t,n)=>{this._setLanguage(e).then(s=>{console.log("resres",s),s.data.code===200?t({code:200,message:"\u56FD\u9645\u5316\u914D\u7F6E\u6210\u529F"}):n({code:201,message:"\u56FD\u9645\u5316\u914D\u7F6E\u5931\u8D25"})}).catch(s=>{n({code:201,message:"\u56FD\u9645\u5316\u914D\u7F6E\u5931\u8D25"})})})}static getMaster(){return new Promise((e,t)=>{this._getMaster().then(n=>{e({code:200,message:"\u83B7\u53D6\u4E3B\u6301\u4EBA\u6210\u529F",data:n})}).catch(n=>{t({code:201,message:"\u83B7\u53D6\u4E3B\u6301\u4EBA\u5931\u8D25"})})})}static meetingCtrlConfig(e){return new Promise((t,n)=>{Le=e,this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("meetingCtrlConfig",e))})}static setupMeetingControlOptions(e){this.meetingControlOptions=e}static snapshot(e){return new Promise((t,n)=>{this._snapshot(e).then(s=>{let i={};for(let r=0;r<e.length;r++)i[e[r]]=s.data[r];t({code:200,message:"\u622A\u56FE\u6210\u529F",data:i})}).catch(s=>{n({code:201,message:"\u622A\u56FE\u5931\u8D25"})})})}static syncFullStatus(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("sync-full-status",{full:e}))})}static syncMaxStatus(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("sync-max-status",{max:e}))})}static rename(e,t){return new Promise((n,s)=>{this.checkIframe(s)&&(c.setPromiseMap(n,s),c.request("rename",{id:e,nickname:t}))})}static evictUser(e){return new Promise((t,n)=>{this._evictUser(e).then(s=>{s.data.code===200?t({code:200,message:"\u8E22\u51FA\u7528\u6237\u6210\u529F"}):n({code:201,message:"\u8E22\u51FA\u7528\u6237\u5931\u8D25"})}).catch(s=>{n({code:201,message:"\u8E22\u51FA\u7528\u6237\u5931\u8D25"})})})}static setLocalVideoEnable(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("set-local-camera",e))})}static setLocalAudioEnable(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("set-local-microphone",e))})}static muteRemoteVideoStream(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("mute-remote-video-stream",{uid:e}))})}static muteRemoteAudioStream(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("mute-remote-audio-stream",{uid:e}))})}static setLocalSpeaker(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("set-local-speaker"))})}static setAllMuted(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("toggle-muted",{muted:!0,canOpenBySelf:e}))})}static setAllUnMuted(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("toggle-muted",{muted:!1,canOpenBySelf:!0}))})}static on(e,t){if(this.eventMap?this.eventMap.set(e,t):(this.eventMap=new Map,this.eventMap.set(e,t)),e=="room-end"){let n=s=>{console.log("room-end:depend in code"),this.eventMap&&this.eventMap.forEach((i,r)=>{document.removeEventListener(r,i)}),t&&t(s)};this.eventMap.set("room-end",n)}document.addEventListener(e,n=>{let s=this.eventMap.get(e);s&&s.call(this,n)})}static off(e){try{let t=this.eventMap.get(e);document.removeEventListener(e,t)}catch(t){console.log("off:",t)}}static __create(e,t){return new Promise((n,s)=>{y=e,t&&(this.style=t),!e||!e.action||!e.token?s(m.error(101,"parameters not correct")):(e.action==="create"?this.createIframe(e.electron):e.action==="join"&&this.createIframe(e.electron),n(m.succ()))})}static createIframe(e){var i;let t=this.setupParam.domain;if(_){console.log("createIframe has createIframe",_);try{document.body.removeChild(_)}catch(r){}c.clear()}let n=y.parentNode?y.parentNode:document.body;y.appId=this.setupParam.appId,delete y.parentNode;let s=w.organizeUrl(t,y,{brtm_host:this.brtm_host});if(e&&e.isElectron)if(e.callback)e.callback(s);else{let r=(i=window==null?void 0:window.electron)==null?void 0:i.ipcRenderer;r&&r.invoke("joinBoomRoom",{url:s})}else if(window.BMQTBridge){let r={method:y.action,params:y};window.BMQTBridge.joinRoom&&(console.log("window.qtObject.joinRoom:",JSON.stringify(r)),window.BMQTBridge.joinRoom(JSON.stringify(r))),window.BMQTBridge.joinRoomObj&&(console.log("window.qtObject.joinRoomObj:",r),window.BMQTBridge.joinRoomObj(r));let o=this.eventMap.get("room-end");o&&o.call(this,{})}else{let r=document.createElement("iframe"),o=document.createElement("div");o.style.width="100%",o.style.height="100%",o.style.backGroundColor="black",o.style.zIndex="999999",o.id="fuck",console.log("\u521B\u5EFAiframe"),r.allow="autoplay;geolocation;display-capture;microphone;camera; midi; encrypted-media;fullscreen;cross-origin-isolated;";for(let d in this.style)r.style[d]=this.style[d];r.src=s,console.log("boom_url:"+r.src),r.id="targetIframe",r.style.border="0",p||(p={}),this.isExternalUser()&&(p.businessInfo={host:a.getBaseBusinessURL(),token:a.getBusinessToken()}),p.meetingInfo=this.meetingInfo,p.companyMeetingConfigInfo=this.companyMeetingConfigInfo,p.meetingControlOptions=this.meetingControlOptions,p.invitationInfo=N,p.language=q,p.boomShare=K,p.windowNumber=oe,p.meetingURL=s;let l=()=>{console.log("iframe\u52A0\u8F7D\u6210\u529F"),c.request("set-room-config",p)};r.attachEvent?r.attachEvent("onload",l):r.onload=l,_=n.appendChild(r),c.createMeassage(r,()=>{_=void 0}),c.addListener()}}static checkIframe(e){return _?!0:(e(m.notInitIframe()),!1)}static idConvert(e,t){let n="/op/v2/users/convert";Array.isArray(e)||(e=[e]);let s=e.join(",");return new Promise((i,r)=>{a.post(n,{users:s,type:t}).then(o=>{if(o.code==200){let l=o.data.link,d=[];for(let u in l)d.push(l[u]);i(d)}else r(o)}).catch(o=>{(o==null?void 0:o.message)=="Failed to fetch"?r(m.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):r(o)})})}static _snapshot(e){return new Promise((t,n)=>{this.checkIframe(n)&&this.idConvert(e,"third").then(s=>{c.setPromiseMap(t,n),c.request("snapshot",{uid:s})}).catch(s=>{n({code:300,message:"id\u8F6C\u6362\u5931\u8D25"})})})}static _snapshotAll(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("snapshot-all"))})}static _startRecord(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("start-record"))})}static _stopRecord(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("stop-record"))})}static _notifyRecord(e,t){let n="/op/v2/meeting/record";return new Promise((s,i)=>{a.post(n,{stream:e,room:t}).then(r=>{r.code==200?s(r.data):i(r)}).catch(r=>{(r==null?void 0:r.message)=="Failed to fetch"?i(m.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):i(r)})})}static _notifyStopRecord(e,t){let n="/op/v2/meeting/record-end";return new Promise((s,i)=>{a.post(n,{stream:e,room:t}).then(r=>{r.code==200?s(r):i(r)}).catch(r=>{(r==null?void 0:r.message)=="Failed to fetch"?i(m.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):i(r)})})}static getBoomShare(e){let t=a.getBaseBusinessURL()+`/api/conference/v1/meetingInfo?room_id=${e}`;return new Promise((n,s)=>{a.get(t,null,a.getBusinessToken()).then(i=>{i.code==200?n(i):s(i)}).catch(i=>{console.log("getBoomShare-Error",i),(i==null?void 0:i.message)=="Failed to fetch"?s(m.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):s(i)})})}static _getParticipants(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("get-participants"))})}static _getMaster(){return new Promise((e,t)=>{this.checkIframe(t)&&(c.setPromiseMap(e,t),c.request("get-master"))})}static _evictUser(e){return new Promise((t,n)=>{this.checkIframe(n)&&(c.setPromiseMap(t,n),c.request("evict-user",{id:e}))})}static _setTheme(e){return new Promise((t,n)=>{c.setPromiseMap(t,n),c.request("theme-config",{theme:e})})}static _statCloud(e){let t="/v1/web/record-start";return new Promise((n,s)=>{a.post(t,{room:e}).then(i=>{i.code===200?n({code:200,message:"\u5F00\u542F\u4E91\u5F55\u6210\u529F"}):(n({code:i.code,message:i.message}),console.log("_startCloud=============>error",i)),c.setPromiseMap(n,s)}).catch(i=>{(i==null?void 0:i.message)=="Failed to fetch"?s(m.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):s(i)})})}static _endCloud(e){let t="/v2/record/stop";return new Promise((n,s)=>{a.post(t,{room:e}).then(i=>{i.code===200?n({code:200,message:"\u4E91\u5F55\u7ED3\u675F\u6210\u529F"}):(n({code:i.code,message:i.message}),console.log("_endCloud=============>error",i)),c.setPromiseMap(n,s)}).catch(i=>{(i==null?void 0:i.message)=="Failed to fetch"?s(m.error(404444,"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25")):s(i)})})}static _setLanguage(e){return new Promise((t,n)=>{c.setPromiseMap(t,n),q=e,c.request("set-language",{languageMod:q})})}static setVideoProfile(e){te=e}static setUserListColumns(e){let t=L(e);if(!J(t))throw new Error("\u53C2\u6570\u5FC5\u987B\u662F\u6570\u5B57");if(t<1)throw new Error("\u53C2\u6570\u5FC5\u987B>=1");ne=e}static setStreamConfig(e){let t=L(e);if(!J(t))throw new Error("\u53C2\u6570\u5FC5\u987B\u662F\u6570\u5B57");if(t<1)throw new Error("\u53C2\u6570\u5FC5\u987B>=1");se=e}static setSortType(e){let t=L(e);if(!J(t))throw new Error("\u6392\u5E8F\u6A21\u5F0F\u5FC5\u987B\u662F\u6570\u5B57");if(t>2||t<1)throw new Error("\u6392\u5E8F\u65B9\u5F0F\u53EA\u652F\u63011 \u6216\u8005 2");ae=t}static setMeetingTopic(e){re=e}static setSingleTalk(e){ie=e}static staticsPage(e){let{roomId:t,parentNode:n,domain:s}=e;return s&&(this.setupParam.domain=s),y={action:"create",appId:this.setupParam.appId,token:a.getToken(),customToken:a.getBusinessToken(),server:a.getBaseBusinessURL(),api:a.getBaseURL(),roomId:t,parentNode:n,nickname:"",joined:!1,videoEnable:!1,audioEnable:!1,title:"",identity:0,userType:0,screen:!1,brtcSig:"",brtc_host:"",create:!1,room_name:"",creator_nickname:"",call_phone_num:"",mode:"meeting",is_big:0,noWaiting:!1,showMeetingTopic:!1,singleTalk:!1,voiceEncourage:0,userListColumns:1,streamConfig:{},sortType:1,extUserId:this.extUserId,qdtls:0,qdtls_group_id:"",template_name:"",isControl:7,customInfo:{}},this.createIframe(),console.log("BoomMeetingExternal staticsPage, \u6253\u5F00\u7EDF\u8BA1\u9875\u9762"),!0}static clipPage(e){let{roomId:t,videoId:n,parentNode:s,domain:i,preview:r}=e;return i&&(this.setupParam.domain=i),y={action:"create",appId:this.setupParam.appId,token:a.getToken(),customToken:a.getBusinessToken(),server:a.getBaseBusinessURL(),api:a.getBaseURL(),roomId:t,parentNode:s,nickname:"",joined:!1,videoEnable:!1,audioEnable:!1,title:"",identity:0,userType:0,screen:!1,brtcSig:"",brtc_host:"",create:!1,room_name:"",creator_nickname:"",call_phone_num:"",mode:"meeting",is_big:0,noWaiting:!1,showMeetingTopic:!1,singleTalk:!1,voiceEncourage:0,userListColumns:1,streamConfig:{},sortType:1,extUserId:this.extUserId,qdtls:0,qdtls_group_id:"",template_name:"",isControl:r?9:8,customInfo:{videoId:n}},this.createIframe(),console.log("BoomMeetingExternal.clipPage(), \u6253\u5F00\u89C6\u9891\u526A\u8F91\u9875\u9762"),!0}static evaluationView(e){let{parentNode:t,domain:n}=e;return n&&(this.setupParam.domain=n),y={action:"create",appId:this.setupParam.appId,token:a.getToken(),customToken:a.getBusinessToken(),server:a.getBaseBusinessURL(),api:a.getBaseURL(),roomId:"",parentNode:t,nickname:"",joined:!1,videoEnable:!1,audioEnable:!1,title:"",identity:0,userType:0,screen:!1,brtcSig:"",brtc_host:"",create:!1,room_name:"",creator_nickname:"",call_phone_num:"",mode:"meeting",is_big:0,noWaiting:!1,showMeetingTopic:!1,singleTalk:!1,voiceEncourage:0,userListColumns:1,streamConfig:{},sortType:1,extUserId:this.extUserId,qdtls:0,qdtls_group_id:"",template_name:"",isControl:11,customInfo:{}},this.createIframe(),console.log("BoomMeetingExternal.clipPage(), \u6253\u5F00\u89C6\u9891\u526A\u8F91\u9875\u9762"),!0}};window.BoomMeetingExternal=P;console.log("BoomMeetingExternal.getVersion:"+P.getVersion());window.BoomMeetingExternal=P||{};var It=P;export{It as default}; |
+2
-2
| { | ||
| "name": "@hysc/external", | ||
| "version": "2.4.5", | ||
| "buildNumber": 10286, | ||
| "version": "2.4.6", | ||
| "buildNumber": 10287, | ||
| "description": "Boom external js sdk", | ||
@@ -6,0 +6,0 @@ "main": "lib/index.js", |
Sorry, the diff of this file is too big to display
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 3 instances in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
235011
0.01%14
-12.5%