nim-web-sdk-ng 0.3.0 → 0.3.1-beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Chatroom=t()}(this,(function(){"use strict";
|
|
2
|
+
/*! *****************************************************************************
|
|
3
|
+
Copyright (c) Microsoft Corporation.
|
|
4
|
+
|
|
5
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
+
purpose with or without fee is hereby granted.
|
|
7
|
+
|
|
8
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
9
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
10
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
11
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
12
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
13
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
14
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
15
|
+
***************************************************************************** */function e(e,t){var r={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(o=Object.getOwnPropertySymbols(e);n<o.length;n++)t.indexOf(o[n])<0&&Object.prototype.propertyIsEnumerable.call(e,o[n])&&(r[o[n]]=e[o[n]])}return r}function t(e,t,r,o){return new(r||(r=Promise))((function(n,s){function i(e){try{c(o.next(e))}catch(e){s(e)}}function a(e){try{c(o.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,a)}c((o=o.apply(e,t||[])).next())}))}var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function o(e){var t={exports:{}};return e(t,t.exports),t.exports}var n=o((function(e){var t=Object.prototype.hasOwnProperty,r="~";function o(){}function n(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function s(e,t,o,s,i){if("function"!=typeof o)throw new TypeError("The listener must be a function");var a=new n(o,s||e,i),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],a]:e._events[c].push(a):(e._events[c]=a,e._eventsCount++),e}function i(e,t){0==--e._eventsCount?e._events=new o:delete e._events[t]}function a(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(r=!1)),a.prototype.eventNames=function(){var e,o,n=[];if(0===this._eventsCount)return n;for(o in e=this._events)t.call(e,o)&&n.push(r?o.slice(1):o);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(e)):n},a.prototype.listeners=function(e){var t=r?r+e:e,o=this._events[t];if(!o)return[];if(o.fn)return[o.fn];for(var n=0,s=o.length,i=new Array(s);n<s;n++)i[n]=o[n].fn;return i},a.prototype.listenerCount=function(e){var t=r?r+e:e,o=this._events[t];return o?o.fn?1:o.length:0},a.prototype.emit=function(e,t,o,n,s,i){var a=r?r+e:e;if(!this._events[a])return!1;var c,u,l=this._events[a],d=arguments.length;if(l.fn){switch(l.once&&this.removeListener(e,l.fn,void 0,!0),d){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,t),!0;case 3:return l.fn.call(l.context,t,o),!0;case 4:return l.fn.call(l.context,t,o,n),!0;case 5:return l.fn.call(l.context,t,o,n,s),!0;case 6:return l.fn.call(l.context,t,o,n,s,i),!0}for(u=1,c=new Array(d-1);u<d;u++)c[u-1]=arguments[u];l.fn.apply(l.context,c)}else{var m,h=l.length;for(u=0;u<h;u++)switch(l[u].once&&this.removeListener(e,l[u].fn,void 0,!0),d){case 1:l[u].fn.call(l[u].context);break;case 2:l[u].fn.call(l[u].context,t);break;case 3:l[u].fn.call(l[u].context,t,o);break;case 4:l[u].fn.call(l[u].context,t,o,n);break;default:if(!c)for(m=1,c=new Array(d-1);m<d;m++)c[m-1]=arguments[m];l[u].fn.apply(l[u].context,c)}}return!0},a.prototype.on=function(e,t,r){return s(this,e,t,r,!1)},a.prototype.once=function(e,t,r){return s(this,e,t,r,!0)},a.prototype.removeListener=function(e,t,o,n){var s=r?r+e:e;if(!this._events[s])return this;if(!t)return i(this,s),this;var a=this._events[s];if(a.fn)a.fn!==t||n&&!a.once||o&&a.context!==o||i(this,s);else{for(var c=0,u=[],l=a.length;c<l;c++)(a[c].fn!==t||n&&!a[c].once||o&&a[c].context!==o)&&u.push(a[c]);u.length?this._events[s]=1===u.length?u[0]:u:i(this,s)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&i(this,t)):(this._events=new o,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=r,a.EventEmitter=a,e.exports=a})),s=i;function i(e){e=e||{},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}i.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),r=Math.floor(t*this.jitter*e);e=0==(1&Math.floor(10*t))?e-r:e+r}return 0|Math.min(e,this.max)},i.prototype.reset=function(){this.attempts=0},i.prototype.setMin=function(e){this.ms=e},i.prototype.setMax=function(e){this.max=e},i.prototype.setJitter=function(e){this.jitter=e};var a="object"==typeof r&&r&&r.Object===Object&&r,c="object"==typeof self&&self&&self.Object===Object&&self,u=a||c||Function("return this")(),l=u.Symbol,d=Object.prototype,m=d.hasOwnProperty,h=d.toString,p=l?l.toStringTag:void 0;var g=function(e){var t=m.call(e,p),r=e[p];try{e[p]=void 0;var o=!0}catch(e){}var n=h.call(e);return o&&(t?e[p]=r:delete e[p]),n},f=Object.prototype.toString;var y=function(e){return f.call(e)},v=l?l.toStringTag:void 0;var b=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":v&&v in Object(e)?g(e):y(e)};var k=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};var w=function(e){if(!k(e))return!1;var t=b(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t};const O=function(){const e=function(){return(65536*(1+Math.random())|0).toString(16).substring(1)};return function(){return e()+e()+e()+e()+e()+e()+e()+e()}}();function S(e){return Object.keys(e).filter((e=>!(+e>=0)))}function T(e,t){const r=Object.keys(e).filter((r=>e[r]==t));return r.length>0?r[0]:void 0}const j={lbsUrl:"https://lbs.netease.im/lbs/webconf.jsp",defaultLink:"",timeout:8e3,deviceId:O(),chunkUploadHost:"https://wanproxy-web.127.net",commonUploadHost:"https://nos.netease.com",chunkMaxSize:4194304e4,commonMaxSize:104857600,uploadReplaceFormat:"https://{host}/{object}",downloadHostWhiteList:["nos.netease.com"],downloadReplaceFormat:"https://{host}/{object}",cdn:{defaultCdnDomain:"nim.nosdn.127.net",cdnDomain:"",bucket:"",objectNamePrefix:""}},M={200:null,406:null,808:null,810:null,201:"客户端版本不对, 需升级sdk",302:"用户名或密码错误, 请检查appKey和token是否有效, account和token是否匹配",403:"非法操作或没有权限",404:"对象(用户/群/聊天室)不存在",405:"参数长度过长",408:"客户端请求超时",414:"参数错误",415:"服务不可用/没有聊天室服务器可分配",416:"频率控制",417:"重复操作",422:"帐号被禁用",500:"服务器内部错误",503:"服务器繁忙",508:"删除有效期过了",509:"已失效",7101:"被拉黑",700:"批量操作部分失败",801:"群人数达到上限",802:"没有权限",803:"群不存在或未发生变化",804:"用户不在群里面",805:"群类型不匹配",806:"创建群数量达到限制",807:"群成员状态不对",809:"已经在群里",811:"强推列表中帐号数量超限",812:"群被禁言",813:"因群数量限制,部分拉人成功",814:"禁止使用群组消息已读服务",815:"群管理员人数上限",816:"批量操作部分失败",997:"协议已失效",998:"解包错误",999:"打包错误",9102:"通道失效",9103:"已经在其他端接听/拒绝过这通电话",13002:"聊天室状态异常",13003:"在黑名单中",13004:"在禁言名单中",13006:"聊天室处于整体禁言状态,只有管理员能发言",Connect_Failed:"无法建立连接, 请确保能 ping/telnet 到云信服务器; 如果是IE8/9, 请确保项目部署在 HTTPS 环境下",Error_Internet_Disconnected:"网断了",No_connected:"连接未建立",Socket_error:"socket状态不对",Timeout:"超时",Param_Error:"参数错误",Not_Support:"不支持",Error_Unknown:"未知错误",Operation_Canceled:"操作取消",Destroy:"instance destroy"};function C(e,t){const r=M[e];if(null===r)return null;const o={code:e,message:r||"操作失败",timetag:+new Date};return t&&(o.event=t),o}const _=["error","warn","log","debug"],E=function(){};class x{constructor(e,t){this.name=t,this.strategies={debug:console.log,log:console.log,warn:console.warn,error:console.error},this.debug=E,this.log=E,this.warn=E,this.error=E,this.name=t,x.instancesName.push(t),["off","error","warn","log","debug"].includes(e)||(e="off"),this.setLogFunc(e)}setLogFunc(e){const t=_.findIndex((t=>t===e));_.forEach(((e,r)=>{r<=t&&(this[e]=function(){const t=Array.prototype.slice.call(arguments),r=this.formatArgs(t,e);this.strategies[e](r)})}))}formatArgs(e,t){const r=new Date,o=`${r.getMonth()+1}-${r.getDate()} ${r.getHours()}:${r.getMinutes()}:${r.getSeconds()}:${r.getMilliseconds()}`;return`[NIM ${t} ${this.name} ${o}] `+e.map((e=>"object"==typeof e?JSON.stringify(e):e)).join(" ")}}x.instancesName=[];class P{static setLogger(e){throw new Error("Method not implemented.")}}var I=function(e){return void 0===e};let A={},N={},U={},L={};function D(e,t){var r;const o=JSON.parse(e),n=C(o.code);let s=o.sid+"_"+o.cid,i=o.r;if(["4_1","4_2","4_10","4_11"].includes(s)){const e=o.r[1].headerPacket;s=`${e.sid}_${e.cid}`,i=o.r[1].body}const a=N[s],c=A[a],u={cmd:a,raw:o,error:n,service:null==c?void 0:c.service,content:{}};if(!a||!c)return u.notFound=!0,u;if("sync"===c.ext&&(u.raw.ser="sync"),u.error){if(u.error.cmd=a,u.error.callFunc="parseCmd",!(null===(r=null==c?void 0:c.ignoreErrCodes)||void 0===r?void 0:r.includes(o.code)))return u;t.warn("parseCmd:: ignore error ",u.error),u.error.ignore=!0}return c.response&&c.response.forEach(((e,t)=>{const r=i[t],o=e.type,n=e.name,s=e.entity||n;if(!I(r))switch(o){case"Property":u.content[n]=F(r,s);break;case"PropertyArray":u.content[n]=r.map((e=>F(e,s)));break;case"long":case"Long":case"byte":case"Byte":case"Number":u.content[n]=+r;break;default:u.content[n]=r}})),u}function $(e,t){const r=U[t],o={};for(const t in e)void 0!==r[t]&&(o[r[t]]=e[t]);return o}function F(e,t){const r=L[t],o={};for(const t in e)void 0!==r[t]&&(o[r[t]]=e[t]);return o}function R(e){A=Object.assign(A,e.cmdConfig),N=Object.assign(N,e.cmdMap),U=Object.assign(U,e.serializeMap),L=Object.assign(L,e.deserializeMap)}const q=["disconnect","connect","heartbeat","message","json","event","ack","error","noop"],B=["transport not supported","client not handshaken","unauthorized"],z=["reconnect"];class H extends n{constructor(e,t){super(),this.url=e,this.logger=t,this.websocket=null,this.url=e,this.status="disconnected",this.logger=t,this.connect()}connect(){"connecting"!==this.status&&"connected"!==this.status?(this.status="connecting",P.request("https://"+this.url+"/socket.io/1/?t="+Date.now(),{method:"GET",dataType:"text"}).then((e=>{const[t,r]=e.data.split(":");return this.sessionId=t,this.closeTimeout=1e3*r,this._createWebsocket("wss://"+this.url+"/socket.io/1/websocket/"+t)})).catch((e=>{this.logger.error("imsocket::handshake fail",e),this.status="disconnected",this.emit("disconnect")}))):this.logger.warn("imsocket::socket is connecting or connected",this.status)}close(){var e;if(this.websocket){this.status="disconnected",this.websocket.onmessage=null,this.websocket.onopen=null,this.websocket.onerror=null;try{null===(e=this.websocket)||void 0===e||e.send(this.encodePacket({type:"disconnect"})),this.websocket.close()}catch(e){this.logger.warn("attempt to close websocket error",e)}this.websocket.onclose=null,this.websocket=null,this.emit("disconnect")}}onConnect(){this.status="connected",this.resetCloseTimer(),this.emit("connect")}_createWebsocket(e){this.websocket=new P.WebSocket(e),this.websocket.onmessage=this.onMessage.bind(this),this.websocket.onclose=()=>{this.logger.log("imsocket:: websocket onclose done"),"disconnected"!==this.status&&(this.logger.log("imsocket:: close()",this.status),this.close())},this.websocket.onerror=e=>{this.logger.error("imsocket:: onerror",e)}}onMessage(e){var t;this.resetCloseTimer();const r=this.decodePacket(e.data);if(r)switch(r.type){case"connect":this.onConnect();break;case"disconnect":this.close();break;case"message":case"json":this.emit("message",r.data);break;case"event":r.name&&this.emit(r.name,r.args);break;case"error":"unauthorized"===r.reason?this.emit("connect_failed",r.reason):this.emit("error",r.reason);break;case"heartbeat":null===(t=this.websocket)||void 0===t||t.send(this.encodePacket({type:"heartbeat"}));break;default:this.logger.warn("imsocket::no handler type",r.type)}}encodePacket(e){const{type:t,id:r="",endpoint:o="",ack:n}=e;let s,i,a=null;if(!t)return"";switch(t){case"error":s=e.reason?B.indexOf(e.reason):"",i=e.advice?z.indexOf(e.advice):"",""===s&&""===i||(a=s+(""!==i?"+"+i:""));break;case"message":""!==e.data&&(a=e.data);break;case"event":s={name:e.name},s=e.args&&e.args.length?{name:e.name,args:e.args}:{name:e.name},a=JSON.stringify(s);break;case"json":a=JSON.stringify(e.data);break;case"connect":e.qs&&(a=e.qs);break;case"ack":a=e.ackId+(e.args&&e.args.length?"+"+JSON.stringify(e.args):"")}const c=[q.indexOf(t),r+("data"===n?"+":""),o];return null!=a&&c.push(a),c.join(":")}decodePacket(e){if(!e)return;if("�"==e.charAt(0))return void this.logger.error("imsocket::unrecognize dataStr",e.slice(0,20));const t=e.match(/([^:]+):([0-9]+)?(\+)?:([^:]+)?:?([\s\S]*)?/);if(!t)return;const[,r,o,n,s,i]=t,a={type:q[+r],endpoint:s};let c;switch(o&&(a.id=o,a.ack=!n||"data"),a.type){case"error":c=i.split("+"),a.reason=B[+c[0]]||"";break;case"message":a.data=i||"";break;case"connect":a.qs=i||"";break;case"event":try{const e=JSON.parse(i);a.name=e.name,a.args=e.args}catch(e){this.logger.error("imsocket::parseData::type::event error",e)}a.args=a.args||[];break;case"json":try{a.data=JSON.parse(i)}catch(e){this.logger.error("imsocket::parseData::type::json error",e)}break;case"ack":if(c=i.match(/^([0-9]+)(\+)?(.*)/),c&&(a.ackId=c[1],a.args=[],c[3]))try{a.args=c[3]?JSON.parse(c[3]):[]}catch(e){this.logger.error("imsocket::parseData::type::ack error",e)}}return a}send(e){var t;const r={data:e,type:"message",endpoint:""};null===(t=this.websocket)||void 0===t||t.send(this.encodePacket(r))}resetCloseTimer(){this.closeTimeout&&(clearTimeout(this.closeTimer),this.closeTimer=setTimeout((()=>{this.close()}),this.closeTimeout))}}var Q=function(e){return null!=e&&"object"==typeof e};var V=function(e){return Q(e)&&"[object RegExp]"==b(e)};var K=function(e){return function(t){return e(t)}},W=o((function(e,t){var r=t&&!t.nodeType&&t,o=r&&e&&!e.nodeType&&e,n=o&&o.exports===r&&a.process,s=function(){try{var e=o&&o.require&&o.require("util").types;return e||n&&n.binding&&n.binding("util")}catch(e){}}();e.exports=s})),J=W&&W.isRegExp,G=J?K(J):V;function X(e,t){return t instanceof RegExp?"__REGEXP "+t.toString():t}function Y(e,t,r){const o={};return Object.keys(e).forEach((n=>{const s=e[n].type,i=r?`In ${r}, `:"";if(void 0===t[n]){if(!1===e[n].required)return void(o[n]=t[n]);throw new TypeError(`${i}param "${n}" is required`)}const a=Z[s];if(a&&!a(t,n,e[n]))throw new TypeError(`${i}param "${n}" expects ${JSON.stringify(e[n],X)}`);o[n]=t[n]})),o}const Z={string:function(e,t,r){const{allowEmpty:o,max:n,min:s,regExp:i}=r,a=e[t];return"string"==typeof a&&((!1!==o||""!==a)&&(!("number"==typeof n&&a.length>n)&&(!("number"==typeof s&&a.length<s)&&!(G(i)&&!i.test(a)))))},number:function(e,t,r){const{min:o,max:n}=r,s=e[t];return"number"==typeof s&&(!("number"==typeof o&&s<o)&&!("number"==typeof n&&s>n))},boolean:function(e,t){return"boolean"==typeof e[t]},enum:function(e,t,r){const{values:o}=r,n=e[t];return!o||o.indexOf(n)>-1},array:function(e,t,r){const{itemType:o,rules:n,min:s,max:i}=r,a=e[t];return!!Array.isArray(a)&&(!("number"==typeof i&&a.length>i)&&(!("number"==typeof s&&a.length<s)&&(!(o&&!a.every((e=>typeof e===o)))&&(n&&a.forEach(((e,r)=>Y(n,e,`${t}[${r}]`))),!0))))},object:function(e,t,r){const{rules:o}=r,n=e[t];return o&&Y(o,n,t),!0}};var ee;!function(e){e[e.ACTIVE=1]="ACTIVE",e[e.KICKED=2]="KICKED",e[e.OFFLINE=3]="OFFLINE"}(ee||(ee={}));const te={debugLevel:"off",needReconnect:!0,reconnectionAttempts:Number.MAX_SAFE_INTEGER},re=window&&window.navigator&&window.navigator.onLine,oe=window&&w(window.addEventListener)&&w(window.removeEventListener),ne=re?()=>window.navigator.onLine:()=>!1;class se extends n{constructor(e){super(),this.status="unconnected",this.linkUrls=[],this.packetSer=1,this.retryCount=0,this.reconnectTimer=0,this.backoff=new s({max:8e3,min:1600,jitter:.01}),this.sendingCmdMap=new Map,this.pingTimer=0,Y({linkUrls:{type:"array",itemType:"string",required:!1}},e),this.options=Object.assign(Object.assign({},te),e),this.logger=new x(this.options.debugLevel,this.options.account),P.setLogger(this.logger)}connect(e={}){return t(this,void 0,void 0,(function*(){if(Y({linkUrls:{type:"array",itemType:"string",required:!1}},e),!/^(unconnected|waitReconnect)$/.test(this.status)){const e=`Core socket status is ${this.status}, and would not repeat connect`;return this.logger.warn(e),Promise.reject(e)}this.status="connecting",e.linkUrls&&e.linkUrls.length>0&&(this.linkUrls=e.linkUrls.concat(this.linkUrls));let t=this.linkUrls.pop();t||(t=j.defaultLink),yield this.doConnect(t),this.status="connected"}))}doConnect(e){return new Promise((t=>{this.socket=new H(e,this.logger),this.socket.on("connect",(()=>{this.logger.log("socket on connect"),t()})),this.socket.on("message",this.onMessage.bind(this)),this.socket.on("disconnect",(e=>{this.logger.log("core:: socket on disconnect",e),this.doDisconnect(ee.OFFLINE,"SocketOnDisconnect")}))}))}resetConnectStatus(){clearTimeout(this.reconnectTimer),this.backoff.reset(),this.retryCount=0,this.initOnlineListener()}doDisconnect(e,t){if(this.logger.log(`doDisconnect: type ${e}, description ${t}`),"unconnected"===this.status)return void this.logger.warn("doDisconnect: already unconnected");this.markAllCmdInvaild(),clearTimeout(this.pingTimer),this.socket&&("function"==typeof this.socket.removeAllListeners&&this.socket.removeAllListeners(),"function"==typeof this.socket.close&&this.socket.close(),this.socket=void 0);const r=!this.options.needReconnect||this.retryCount>=this.options.reconnectionAttempts;e===ee.ACTIVE||r?(this.logger.log("doDisconnect: emit disconnect, type "+e,r),this.status="unconnected",this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.emit("disconnect"),this.destroyOnlineListener()):e===ee.KICKED?(this.logger.log("doDisconnect: kicked"),this.status="unconnected",this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.emit("kicked",t),this.destroyOnlineListener()):e===ee.OFFLINE?(this.logger.log("doDisconnect: start to reconnect"),this.attempToReconnect()):this.logger.log("doDisconnect: nothing to do")}attempToReconnect(){if("waitReconnect"===this.status)return void this.logger.warn("doDisconnect: already is waiting reconnect");const e=this.backoff.duration();this.retryCount++,this.logger.log(`willReconnect ${this.retryCount} ${e}`),this.emit("willReconnect",{retryCount:this.retryCount,duration:e}),this.status="waitReconnect",this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.reconnectTimer=setTimeout((()=>{"waitReconnect"===this.status?this.connect({isAutoReconnect:!0}):this.logger.warn(`doDisconnect: reconnectTimer status is ${this.status}, would not go on reconnecting`)}),e)}sendCmd(e,t){if("logined"!==this.status&&"login"!==e&&"chatroomLogin"!==e)return this.logger.warn(`nim status is ${this.status}, so can not sendCmd ${e}`),Promise.reject({cmd:e,error:C("No_connected")});const r="heartbeat"!==e,o=r?this.packetSer++:0,n=function(e,t,r,o){const n=A[e];if(!n)return r.error("createCmd:: can not find cmd config: ",e),null;const s={SER:t,SID:n.sid,CID:n.cid,Q:[]};return n.params&&o&&n.params.forEach((function(e){let t=o[e.name];if(I(t))return;let r=e.type;switch(e.type){case"PropertyArray":r="ArrayMable",t=t.map((t=>({t:"Property",v:$(t,e.entity)})));break;case"Property":t=$(t,e.name);break;case"bool":t=t?"true":"false"}s.Q.push({t:r,v:t})})),s}(e,o,this.logger,t);if(!n){const t=`SendCmd ${o} ${e} error`;return this.logger.error(t),Promise.reject(t)}const s=JSON.stringify(n);return r&&("debug"===this.options.debugLevel?this.logger.debug("core::sendCmd",e,s):this.logger.log("core::sendCmd",e)),new Promise(((r,n)=>{var i;this.sendingCmdMap.set(o,{cmd:e,params:t,callback:[r,n],timer:"sync"===e?null:setTimeout((()=>{this.markCmdInvalid(o,C("Timeout",{callFunc:"sendCmd",message:`ser ${o} timeout`}),e)}),j.timeout)});try{null===(i=this.socket)||void 0===i||i.send(s)}catch(t){this.markCmdInvalid(o,C("Socket_error",{callFunc:"sendCmd",message:"send json error",error:t}),e),this.doDisconnect(ee.OFFLINE,"SendCmdError")}}))}onMessage(e){const t=D(e,this.logger);if(!t)return;const r=t.raw.ser;if(t.notFound)return void this.logger.warn("core::onMessage packet not found",r,t.raw.sid+"_"+t.raw.cid);t.raw&&"heartbeat"!==t.cmd&&("debug"===this.options.debugLevel?this.logger.debug("imsocket::recvCmd",r,t.cmd,t.content):this.logger.log("imsocket::recvCmd",r,t.cmd));return this.sendingCmdMap.get(r)}markCmdInvalid(e,t,r){const o=this.sendingCmdMap.get(e);if(!o)return;const{callback:n,timer:s}=o;s&&clearTimeout(s),this.sendingCmdMap.delete(e),"batchMarkRead"!==r&&(this.logger.warn(`packet ${e} is invalid:`,t),n[1](t))}markAllCmdInvaild(e){this.logger.log("markAllCmdInvaild"),this.sendingCmdMap.forEach((t=>{const{callback:r,timer:o}=t;o&&clearTimeout(o),r[1](e)})),this.sendingCmdMap.clear()}ping(){function e(){clearTimeout(this.pingTimer),this.pingTimer=setTimeout((()=>{this.ping()}),3e4)}clearTimeout(this.pingTimer),this.sendCmd("heartbeat").then((()=>{e.call(this)})).catch((()=>{ne()?this.doDisconnect(ee.OFFLINE,"PingError"):e.call(this)}))}initOnlineListener(){this.onlineListener||(oe?(this.onlineListener=function(){"logined"===this.status&&this.ping()}.bind(this),this.offlineListener=function(){this.logger.log("offline"),this.doDisconnect(ee.OFFLINE,"OfflineListener")}.bind(this),window.addEventListener("online",this.onlineListener),window.addEventListener("offline",this.offlineListener)):this.logger.warn("initOnlineListener not support add listener"))}destroyOnlineListener(){this.onlineListener&&(window.removeEventListener("online",this.onlineListener),this.onlineListener=void 0),this.offlineListener&&(window.removeEventListener("offline",this.offlineListener),this.offlineListener=void 0)}disconnect(){switch(this.status){case"connected":case"logined":case"connecting":case"waitReconnect":return this.doDisconnect(ee.ACTIVE,"UserActiveDisconnect"),Promise.resolve();case"unconnected":case"destroyed":return Promise.resolve()}}destroy(){return this.disconnect().then((()=>{this.status="destroyed",this.removeAllListeners(),this.connect=()=>Promise.resolve(),this.disconnect=()=>Promise.resolve(),this.destroy=()=>Promise.resolve()}))}}se.setAdapters=function(e){Object.assign(P,e)};var ie=function(e){return function(){return e}};var ae=function(e){return function(t,r,o){for(var n=-1,s=Object(t),i=o(t),a=i.length;a--;){var c=i[e?a:++n];if(!1===r(s[c],c,s))break}return t}}();var ce=function(e,t){for(var r=-1,o=Array(e);++r<e;)o[r]=t(r);return o};var ue=function(e){return Q(e)&&"[object Arguments]"==b(e)},le=Object.prototype,de=le.hasOwnProperty,me=le.propertyIsEnumerable,he=ue(function(){return arguments}())?ue:function(e){return Q(e)&&de.call(e,"callee")&&!me.call(e,"callee")},pe=he,ge=Array.isArray;var fe=function(){return!1},ye=o((function(e,t){var r=t&&!t.nodeType&&t,o=r&&e&&!e.nodeType&&e,n=o&&o.exports===r?u.Buffer:void 0,s=(n?n.isBuffer:void 0)||fe;e.exports=s})),ve=/^(?:0|[1-9]\d*)$/;var be=function(e,t){var r=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&ve.test(e))&&e>-1&&e%1==0&&e<t};var ke=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991},we={};we["[object Float32Array]"]=we["[object Float64Array]"]=we["[object Int8Array]"]=we["[object Int16Array]"]=we["[object Int32Array]"]=we["[object Uint8Array]"]=we["[object Uint8ClampedArray]"]=we["[object Uint16Array]"]=we["[object Uint32Array]"]=!0,we["[object Arguments]"]=we["[object Array]"]=we["[object ArrayBuffer]"]=we["[object Boolean]"]=we["[object DataView]"]=we["[object Date]"]=we["[object Error]"]=we["[object Function]"]=we["[object Map]"]=we["[object Number]"]=we["[object Object]"]=we["[object RegExp]"]=we["[object Set]"]=we["[object String]"]=we["[object WeakMap]"]=!1;var Oe=function(e){return Q(e)&&ke(e.length)&&!!we[b(e)]},Se=W&&W.isTypedArray,Te=Se?K(Se):Oe,je=Object.prototype.hasOwnProperty;var Me=function(e,t){var r=ge(e),o=!r&&pe(e),n=!r&&!o&&ye(e),s=!r&&!o&&!n&&Te(e),i=r||o||n||s,a=i?ce(e.length,String):[],c=a.length;for(var u in e)!t&&!je.call(e,u)||i&&("length"==u||n&&("offset"==u||"parent"==u)||s&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||be(u,c))||a.push(u);return a},Ce=Object.prototype;var _e=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Ce)};var Ee=function(e,t){return function(r){return e(t(r))}},xe=Ee(Object.keys,Object),Pe=Object.prototype.hasOwnProperty;var Ie=function(e){if(!_e(e))return xe(e);var t=[];for(var r in Object(e))Pe.call(e,r)&&"constructor"!=r&&t.push(r);return t};var Ae=function(e){return null!=e&&ke(e.length)&&!w(e)};var Ne=function(e){return Ae(e)?Me(e):Ie(e)};var Ue=function(e,t){return e&&ae(e,t,Ne)};var Le=function(e,t,r,o){return Ue(e,(function(e,n,s){t(o,r(e),n,s)})),o};var De=function(e,t){return function(r,o){return Le(r,e,t(o),{})}};var $e,Fe,Re=function(e){return e},qe=Object.prototype.toString,Be=De((function(e,t,r){null!=t&&"function"!=typeof t.toString&&(t=qe.call(t)),e[t]=r}),ie(Re));function ze(e){const t=Object.assign({},e);return["announcement","broadcastUrl","ext"].forEach((e=>{void 0===t[e]&&(t[e]="")})),["createTime","updateTime","onlineMemberNum"].forEach((e=>{void 0!==t[e]&&(t[e]=parseInt(t[e]))})),["mute"].forEach((e=>{void 0!==t[e]&&(t[e]=1===parseInt(t[e]))})),t}!function(e){e[e.Android=1]="Android",e[e.iOS=2]="iOS",e[e.PC=4]="PC",e[e.WindowsPhone=8]="WindowsPhone",e[e.Web=16]="Web",e[e.Server=32]="Server",e[e.Mac=64]="Mac"}($e||($e={})),function(e){e[e.text=0]="text",e[e.image=1]="image",e[e.audio=2]="audio",e[e.video=3]="video",e[e.geo=4]="geo",e[e.notification=5]="notification",e[e.file=6]="file",e[e.tip=10]="tip",e[e.robot=11]="robot",e[e.g2=12]="g2",e[e.custom=100]="custom"}(Fe||(Fe={}));const He=Be({unset:"-2",restricted:"-1",common:"0",owner:"1",manager:"2",guest:"3",anonymous:"4"});function Qe(e){const t=Object.assign({},e),r={tempMuted:!1,tempMuteDuration:0};return Object.keys(r).forEach((e=>{t[e]=t[e]||r[e]})),["chatroomId"].forEach((e=>{void 0!==t[e]&&(t[e]=t[e].toString())})),["level","enterTime","updateTime","tempMuteDuration"].forEach((e=>{void 0!==t[e]&&(t[e]=parseInt(t[e]))})),["online","guest","blacked","muted","valid","tempMuted"].forEach((e=>{void 0!==t[e]&&(t[e]=1===parseInt(t[e]))})),void 0!==t.type&&(t.type=He[t.type]),t.avatar,t.online||delete t.enterTime,t.guest&&(t.type="guest",delete t.valid,delete t.guest),"common"!==t.type&&delete t.level,t}function Ve(e){return e&&e.length>0?e.map((e=>Qe(e))):[]}const Ke={301:"memberEnter",302:"memberExit",303:"blackMember",304:"unblackMember",305:"gagMember",306:"ungagMember",307:"addManager",308:"removeManager",309:"addCommon",310:"removeCommon",311:"closeChatroom",312:"updateChatroom",313:"kickMember",314:"addTempMute",315:"removeTempMute",316:"updateMemberInfo",317:"updateQueue",318:"muteRoom",319:"unmuteRoom",320:"batchUpdateQueue",321:"addTempMuteTag",322:"removeTempMuteTag",323:"deleteChatroomMsg"};function We(t,r){const o=e(t,["onUploadDone","onUploadProgress","onUploadStart"]);if(["time","userUpdateTime"].forEach((e=>{void 0!==o[e]&&(o[e]=parseInt(o[e]))})),["resend","needAntiSpam","antiSpamUsingYidun","skipHistory","highPriority","clientAntiSpam"].forEach((e=>{void 0!==o[e]&&(o[e]=1===parseInt(o[e]))})),o.type=T(Fe,o.type),o.fromClientType=T($e,o.fromClientType),o.flow=o.from===r?"out":"in",o.status=o.status||"success","string"==typeof o.body)try{o.body=JSON.parse(o.body)}catch(e){}return"notification"===o.type&&(o.attach=o.body?function(e){let t={};if(t.type=Ke[e.id]||e.id,!e.data)return e;t=Object.assign(t,e.data);const r={operator:"from",opeNick:"fromNick",target:"to",tarNick:"toNick"};if(Object.keys(r).forEach((e=>{void 0!==t[e]&&(t[r[e]]=t[e],delete t[e])})),["muteDuration"].forEach((e=>{void 0!==t[e]&&(t[e]=parseInt(t[e]))})),!t.queueChange)return t;let o={};try{o=JSON.parse(t.queueChange)}catch(e){return t}switch(o._e){case"OFFER":o={type:"OFFER",elementKey:o.key,elementValue:o.content};break;case"POLL":o={type:"POLL",elementKey:o.key,elementValue:o.content};break;case"DROP":o={type:"DROP"};break;case"PARTCLEAR":case"BATCH_UPDATE":o={type:o._e,elementKv:o.kvObject}}return t.queueChange=o,t}(o.body):{},o.body=""),o}const Je={"-1":{code:"unknow",message:"Unknown reason"},1:{code:"chatroomClosed",message:"Chatroom is closed"},2:{code:"managerKick",message:"Kicked out by owners or administrators"},3:{code:"samePlatformKick",message:"The same account is not allowed to multiple login at the same time"},4:{code:"silentlyKick",message:"Quietly kicked"},5:{code:"blacked",message:"Was blacklisted"}};class Ge extends n{constructor(e){super(),this.name="chatroom",this.logger=e.logger,this.core=e}getInfo(){var e;return t(this,void 0,void 0,(function*(){const t=yield this.core.sendCmd("getChatroom");return ze(null===(e=t.content)||void 0===e?void 0:e.chatroom)}))}updateInfo(e){return t(this,void 0,void 0,(function*(){Y({chatroom:{type:"object",rules:{name:{type:"string",required:!1},announcement:{type:"string",required:!1},broadcastUrl:{type:"string",required:!1},ext:{type:"string",required:!1},queuelevel:{type:"number",min:0,max:1,required:!1}}},needNotify:{type:"boolean"},ext:{type:"string",required:!1}},e),yield this.core.sendCmd("updateChatroom",Object.assign(Object.assign({},e),{ext:e.ext||""}))}))}beKickedFromChatroomHandler(e){const t=e.content,{reason:r,ext:o}=t,n=function(e){const t=Je[e];return{reason:t?t.code:"unknow",message:t?t.message:"Unknown reason"}}(r);this.logger.warn("beKickedFromChatroomHandler:: ",n.reason,n.message,o),"silentlyKick"!==n.reason?this.core.doDisconnect(ee.KICKED,n):this.core.doDisconnect(ee.OFFLINE,"SilentlyKick")}process(e){const t=this[e.cmd+"Handler"];return"function"==typeof t?t.call(this,e):e.error&&!e.error.ignore?Promise.reject(e.error):Promise.resolve(e)}}Ge.idName="chatroom";var Xe=function(e,t){for(var r=-1,o=null==e?0:e.length,n=Array(o);++r<o;)n[r]=t(e[r],r,e);return n};var Ye=function(){this.__data__=[],this.size=0};var Ze=function(e,t){return e===t||e!=e&&t!=t};var et=function(e,t){for(var r=e.length;r--;)if(Ze(e[r][0],t))return r;return-1},rt=Array.prototype.splice;var ot=function(e){var t=this.__data__,r=et(t,e);return!(r<0)&&(r==t.length-1?t.pop():rt.call(t,r,1),--this.size,!0)};var nt=function(e){var t=this.__data__,r=et(t,e);return r<0?void 0:t[r][1]};var st=function(e){return et(this.__data__,e)>-1};var it=function(e,t){var r=this.__data__,o=et(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this};function at(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var o=e[t];this.set(o[0],o[1])}}at.prototype.clear=Ye,at.prototype.delete=ot,at.prototype.get=nt,at.prototype.has=st,at.prototype.set=it;var ct=at;var ut=function(){this.__data__=new ct,this.size=0};var lt=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r};var dt=function(e){return this.__data__.get(e)};var mt,ht=function(e){return this.__data__.has(e)},pt=u["__core-js_shared__"],gt=(mt=/[^.]+$/.exec(pt&&pt.keys&&pt.keys.IE_PROTO||""))?"Symbol(src)_1."+mt:"";var ft=function(e){return!!gt&> in e},yt=Function.prototype.toString;var vt=function(e){if(null!=e){try{return yt.call(e)}catch(e){}try{return e+""}catch(e){}}return""},bt=/^\[object .+?Constructor\]$/,kt=Function.prototype,wt=Object.prototype,Ot=kt.toString,St=wt.hasOwnProperty,Tt=RegExp("^"+Ot.call(St).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var jt=function(e){return!(!k(e)||ft(e))&&(w(e)?Tt:bt).test(vt(e))};var Mt=function(e,t){return null==e?void 0:e[t]};var Ct=function(e,t){var r=Mt(e,t);return jt(r)?r:void 0},_t=Ct(u,"Map"),Et=Ct(Object,"create");var xt=function(){this.__data__=Et?Et(null):{},this.size=0};var Pt=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},It=Object.prototype.hasOwnProperty;var At=function(e){var t=this.__data__;if(Et){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return It.call(t,e)?t[e]:void 0},Nt=Object.prototype.hasOwnProperty;var Ut=function(e){var t=this.__data__;return Et?void 0!==t[e]:Nt.call(t,e)};var Lt=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Et&&void 0===t?"__lodash_hash_undefined__":t,this};function Dt(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var o=e[t];this.set(o[0],o[1])}}Dt.prototype.clear=xt,Dt.prototype.delete=Pt,Dt.prototype.get=At,Dt.prototype.has=Ut,Dt.prototype.set=Lt;var $t=Dt;var Ft=function(){this.size=0,this.__data__={hash:new $t,map:new(_t||ct),string:new $t}};var Rt=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};var qt=function(e,t){var r=e.__data__;return Rt(t)?r["string"==typeof t?"string":"hash"]:r.map};var Bt=function(e){var t=qt(this,e).delete(e);return this.size-=t?1:0,t};var zt=function(e){return qt(this,e).get(e)};var Ht=function(e){return qt(this,e).has(e)};var Qt=function(e,t){var r=qt(this,e),o=r.size;return r.set(e,t),this.size+=r.size==o?0:1,this};function Vt(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var o=e[t];this.set(o[0],o[1])}}Vt.prototype.clear=Ft,Vt.prototype.delete=Bt,Vt.prototype.get=zt,Vt.prototype.has=Ht,Vt.prototype.set=Qt;var Kt=Vt;var Wt=function(e,t){var r=this.__data__;if(r instanceof ct){var o=r.__data__;if(!_t||o.length<199)return o.push([e,t]),this.size=++r.size,this;r=this.__data__=new Kt(o)}return r.set(e,t),this.size=r.size,this};function Jt(e){var t=this.__data__=new ct(e);this.size=t.size}Jt.prototype.clear=ut,Jt.prototype.delete=lt,Jt.prototype.get=dt,Jt.prototype.has=ht,Jt.prototype.set=Wt;var Gt=Jt;var Xt=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this};var Yt=function(e){return this.__data__.has(e)};function Zt(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new Kt;++t<r;)this.add(e[t])}Zt.prototype.add=Zt.prototype.push=Xt,Zt.prototype.has=Yt;var er=Zt;var tr=function(e,t){for(var r=-1,o=null==e?0:e.length;++r<o;)if(t(e[r],r,e))return!0;return!1};var rr=function(e,t){return e.has(t)};var or=function(e,t,r,o,n,s){var i=1&r,a=e.length,c=t.length;if(a!=c&&!(i&&c>a))return!1;var u=s.get(e),l=s.get(t);if(u&&l)return u==t&&l==e;var d=-1,m=!0,h=2&r?new er:void 0;for(s.set(e,t),s.set(t,e);++d<a;){var p=e[d],g=t[d];if(o)var f=i?o(g,p,d,t,e,s):o(p,g,d,e,t,s);if(void 0!==f){if(f)continue;m=!1;break}if(h){if(!tr(t,(function(e,t){if(!rr(h,t)&&(p===e||n(p,e,r,o,s)))return h.push(t)}))){m=!1;break}}else if(p!==g&&!n(p,g,r,o,s)){m=!1;break}}return s.delete(e),s.delete(t),m},nr=u.Uint8Array;var sr=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,o){r[++t]=[o,e]})),r};var ir=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r},ar=l?l.prototype:void 0,cr=ar?ar.valueOf:void 0;var ur=function(e,t,r,o,n,s,i){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!s(new nr(e),new nr(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return Ze(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var a=sr;case"[object Set]":var c=1&o;if(a||(a=ir),e.size!=t.size&&!c)return!1;var u=i.get(e);if(u)return u==t;o|=2,i.set(e,t);var l=or(a(e),a(t),o,n,s,i);return i.delete(e),l;case"[object Symbol]":if(cr)return cr.call(e)==cr.call(t)}return!1};var lr=function(e,t){for(var r=-1,o=t.length,n=e.length;++r<o;)e[n+r]=t[r];return e};var dr=function(e,t,r){var o=t(e);return ge(e)?o:lr(o,r(e))};var mr=function(e,t){for(var r=-1,o=null==e?0:e.length,n=0,s=[];++r<o;){var i=e[r];t(i,r,e)&&(s[n++]=i)}return s};var hr=function(){return[]},pr=Object.prototype.propertyIsEnumerable,gr=Object.getOwnPropertySymbols,fr=gr?function(e){return null==e?[]:(e=Object(e),mr(gr(e),(function(t){return pr.call(e,t)})))}:hr;var yr=function(e){return dr(e,Ne,fr)},vr=Object.prototype.hasOwnProperty;var br=function(e,t,r,o,n,s){var i=1&r,a=yr(e),c=a.length;if(c!=yr(t).length&&!i)return!1;for(var u=c;u--;){var l=a[u];if(!(i?l in t:vr.call(t,l)))return!1}var d=s.get(e),m=s.get(t);if(d&&m)return d==t&&m==e;var h=!0;s.set(e,t),s.set(t,e);for(var p=i;++u<c;){var g=e[l=a[u]],f=t[l];if(o)var y=i?o(f,g,l,t,e,s):o(g,f,l,e,t,s);if(!(void 0===y?g===f||n(g,f,r,o,s):y)){h=!1;break}p||(p="constructor"==l)}if(h&&!p){var v=e.constructor,b=t.constructor;v==b||!("constructor"in e)||!("constructor"in t)||"function"==typeof v&&v instanceof v&&"function"==typeof b&&b instanceof b||(h=!1)}return s.delete(e),s.delete(t),h},kr=Ct(u,"DataView"),wr=Ct(u,"Promise"),Or=Ct(u,"Set"),Sr=Ct(u,"WeakMap"),Tr="[object Map]",jr="[object Promise]",Mr="[object Set]",Cr="[object WeakMap]",_r="[object DataView]",Er=vt(kr),xr=vt(_t),Pr=vt(wr),Ir=vt(Or),Ar=vt(Sr),Nr=b;(kr&&Nr(new kr(new ArrayBuffer(1)))!=_r||_t&&Nr(new _t)!=Tr||wr&&Nr(wr.resolve())!=jr||Or&&Nr(new Or)!=Mr||Sr&&Nr(new Sr)!=Cr)&&(Nr=function(e){var t=b(e),r="[object Object]"==t?e.constructor:void 0,o=r?vt(r):"";if(o)switch(o){case Er:return _r;case xr:return Tr;case Pr:return jr;case Ir:return Mr;case Ar:return Cr}return t});var Ur=Nr,Lr="[object Arguments]",Dr="[object Array]",$r="[object Object]",Fr=Object.prototype.hasOwnProperty;var Rr=function(e,t,r,o,n,s){var i=ge(e),a=ge(t),c=i?Dr:Ur(e),u=a?Dr:Ur(t),l=(c=c==Lr?$r:c)==$r,d=(u=u==Lr?$r:u)==$r,m=c==u;if(m&&ye(e)){if(!ye(t))return!1;i=!0,l=!1}if(m&&!l)return s||(s=new Gt),i||Te(e)?or(e,t,r,o,n,s):ur(e,t,c,r,o,n,s);if(!(1&r)){var h=l&&Fr.call(e,"__wrapped__"),p=d&&Fr.call(t,"__wrapped__");if(h||p){var g=h?e.value():e,f=p?t.value():t;return s||(s=new Gt),n(g,f,r,o,s)}}return!!m&&(s||(s=new Gt),br(e,t,r,o,n,s))};var qr=function e(t,r,o,n,s){return t===r||(null==t||null==r||!Q(t)&&!Q(r)?t!=t&&r!=r:Rr(t,r,o,n,e,s))};var Br=function(e,t,r,o){var n=r.length,s=n,i=!o;if(null==e)return!s;for(e=Object(e);n--;){var a=r[n];if(i&&a[2]?a[1]!==e[a[0]]:!(a[0]in e))return!1}for(;++n<s;){var c=(a=r[n])[0],u=e[c],l=a[1];if(i&&a[2]){if(void 0===u&&!(c in e))return!1}else{var d=new Gt;if(o)var m=o(u,l,c,e,t,d);if(!(void 0===m?qr(l,u,3,o,d):m))return!1}}return!0};var zr=function(e){return e==e&&!k(e)};var Hr=function(e){for(var t=Ne(e),r=t.length;r--;){var o=t[r],n=e[o];t[r]=[o,n,zr(n)]}return t};var Qr=function(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}};var Vr=function(e){var t=Hr(e);return 1==t.length&&t[0][2]?Qr(t[0][0],t[0][1]):function(r){return r===e||Br(r,e,t)}};var Kr=function(e){return"symbol"==typeof e||Q(e)&&"[object Symbol]"==b(e)},Wr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Jr=/^\w*$/;var Gr=function(e,t){if(ge(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!Kr(e))||(Jr.test(e)||!Wr.test(e)||null!=t&&e in Object(t))};function Xr(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=function(){var o=arguments,n=t?t.apply(this,o):o[0],s=r.cache;if(s.has(n))return s.get(n);var i=e.apply(this,o);return r.cache=s.set(n,i)||s,i};return r.cache=new(Xr.Cache||Kt),r}Xr.Cache=Kt;var Yr=Xr;var Zr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,eo=/\\(\\)?/g,to=function(e){var t=Yr(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(Zr,(function(e,r,o,n){t.push(o?n.replace(eo,"$1"):r||e)})),t})),ro=l?l.prototype:void 0,oo=ro?ro.toString:void 0;var no=function e(t){if("string"==typeof t)return t;if(ge(t))return Xe(t,e)+"";if(Kr(t))return oo?oo.call(t):"";var r=t+"";return"0"==r&&1/t==-Infinity?"-0":r};var so=function(e){return null==e?"":no(e)};var io=function(e,t){return ge(e)?e:Gr(e,t)?[e]:to(so(e))};var ao=function(e){if("string"==typeof e||Kr(e))return e;var t=e+"";return"0"==t&&1/e==-Infinity?"-0":t};var co=function(e,t){for(var r=0,o=(t=io(t,e)).length;null!=e&&r<o;)e=e[ao(t[r++])];return r&&r==o?e:void 0};var uo=function(e,t,r){var o=null==e?void 0:co(e,t);return void 0===o?r:o};var lo=function(e,t){return null!=e&&t in Object(e)};var mo=function(e,t,r){for(var o=-1,n=(t=io(t,e)).length,s=!1;++o<n;){var i=ao(t[o]);if(!(s=null!=e&&r(e,i)))break;e=e[i]}return s||++o!=n?s:!!(n=null==e?0:e.length)&&ke(n)&&be(i,n)&&(ge(e)||pe(e))};var ho=function(e,t){return null!=e&&mo(e,t,lo)};var po=function(e,t){return Gr(e)&&zr(t)?Qr(ao(e),t):function(r){var o=uo(r,e);return void 0===o&&o===t?ho(r,e):qr(t,o,3)}};var go=function(e){return function(t){return null==t?void 0:t[e]}};var fo=function(e){return function(t){return co(t,e)}};var yo=function(e){return Gr(e)?go(ao(e)):fo(e)};var vo=function(e){return"function"==typeof e?e:null==e?Re:"object"==typeof e?ge(e)?po(e[0],e[1]):Vr(e):yo(e)},bo=function(){try{var e=Ct(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();var ko=function(e,t,r){"__proto__"==t&&bo?bo(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r},wo=Object.prototype.hasOwnProperty;var Oo=function(e,t,r){var o=e[t];wo.call(e,t)&&Ze(o,r)&&(void 0!==r||t in e)||ko(e,t,r)};var So=function(e,t,r,o){if(!k(e))return e;for(var n=-1,s=(t=io(t,e)).length,i=s-1,a=e;null!=a&&++n<s;){var c=ao(t[n]),u=r;if("__proto__"===c||"constructor"===c||"prototype"===c)return e;if(n!=i){var l=a[c];void 0===(u=o?o(l,c,a):void 0)&&(u=k(l)?l:be(t[n+1])?[]:{})}Oo(a,c,u),a=a[c]}return e};var To=function(e,t,r){for(var o=-1,n=t.length,s={};++o<n;){var i=t[o],a=co(e,i);r(a,i)&&So(s,io(i,e),a)}return s},jo=Ee(Object.getPrototypeOf,Object),Mo=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)lr(t,fr(e)),e=jo(e);return t}:hr;var Co=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t},_o=Object.prototype.hasOwnProperty;var Eo=function(e){if(!k(e))return Co(e);var t=_e(e),r=[];for(var o in e)("constructor"!=o||!t&&_o.call(e,o))&&r.push(o);return r};var xo=function(e){return Ae(e)?Me(e,!0):Eo(e)};var Po=function(e){return dr(e,xo,Mo)};var Io=function(e,t){if(null==e)return{};var r=Xe(Po(e),(function(e){return[e]}));return t=vo(t),To(e,r,(function(e,r){return t(e,r[0])}))};class Ao extends n{constructor(e,t){super(),this.name=e,this.core=t,this.name=e,this.logger=t.logger,this.core=t}process(e){const t=this[e.cmd+"Handler"];return"function"==typeof t?t.call(this,e):e.error&&!e.error.ignore?Promise.reject(e.error):Promise.resolve(e)}}const No={"6_2":"getNosToken"},Uo={getNosToken:{sid:6,cid:2,service:"cloudStorage",response:[{type:"Property",name:"nosToken"}],params:[{type:"String",name:"responseBody"},{type:"Property",name:"nosToken",entity:"nosToken"}]}},Lo={nosToken:{objectName:1,token:2,bucket:3,expireTime:4,expireSec:7,tag:8,shortUrl:9}},Do={nosToken:{1:"objectName",2:"token",3:"bucket",4:"expireTime",7:"expireSec",8:"tag",9:"shortUrl"}},$o={file:{md5:"$(Etag)",size:"$(ObjectSize)"},image:{md5:"$(Etag)",size:"$(ObjectSize)",w:"$(ImageInfo.Width)",h:"$(ImageInfo.Height)",orientation:"$(ImageInfo.Orientation)"},audio:{md5:"$(Etag)",size:"$(ObjectSize)",dur:"$(AVinfo.Audio.Duration)"},video:{md5:"$(Etag)",size:"$(ObjectSize)",dur:"$(AVinfo.Video.Duration)",w:"$(AVinfo.Video.Width)",h:"$(AVinfo.Video.Height)"}};function Fo(e="file"){const t=$o[e]||{};return JSON.stringify(t).replace(/"/gi,'\\"')}class Ro extends Ao{constructor(e){super("cloudStorage",e)}uploadFile(e){var r;return t(this,void 0,void 0,(function*(){if(Y({maxSize:{type:"number",required:!1},type:{type:"string",allowEmpty:!1}},e),!e.fileInput&&!e.file&&!e.filePath)throw new Error("uploadFile needs target file object or a filePath");const t={tag:e.nosScenes||j.cdn.bucket||"im",expireSec:e.nosSurvivalTime};let o,n;try{o=yield this.core.sendCmd("getNosToken",{responseBody:Fo(e.type),nosToken:t})}catch(e){throw this.core.logger.error("uploadFile:: getNosToken error",e),e}try{n=yield P.uploadFile(Object.assign(Object.assign({},e),{nosToken:o.content.nosToken,chunkUploadHost:j.chunkUploadHost,commonUploadHost:j.commonUploadHost,maxSize:e.maxSize||j.chunkMaxSize}))}catch(e){throw this.core.logger.error("uploadFile:: uploadFile error",e),e}const s=n.type,i=s&&s.indexOf("/")>-1?s.slice(0,s.indexOf("/")):"",a={image:"imageInfo",video:"vinfo",audio:"vinfo"},c=j.uploadReplaceFormat.replace("{host}",j.cdn.defaultCdnDomain).replace("{object}",o.content.nosToken.objectName);if(!a[i])return Object.assign({url:c},n);let u;try{u=yield P.request(`${c}?${a[i]}`)}catch(e){return this.core.logger.error("uploadFile:: fetch file info error",e),Object.assign({url:c},n)}const{data:l}=u,d="imageInfo"===a[i]?l:null===(r=null==l?void 0:l.GetVideoInfo)||void 0===r?void 0:r.VideoInfo,m={url:c,name:n.name,size:n.size,ext:n.ext,w:d.Width,h:d.Height,orientation:d.Orientation,dur:d.Duration,audioCodec:d.AudioCodec,videoCodec:d.VideoCodec,container:d.Container};return Io(m,(function(e,t){return void 0!==t}))}))}}Ro.idName="cloudStorage",Ro.cmdParser={cmdMap:No,cmdConfig:Uo,serializeMap:Lo,deserializeMap:Do};class qo extends n{constructor(e){super(),this.name="chatroomMsg",this.logger=e.logger,this.core=e}sendTextMsg(e){return Y({body:{type:"string",allowEmpty:!1}},e),this.sendMsg(Object.assign(Object.assign({},e),{type:"text"}))}sendGeoLocationMsg(e){return Y({body:{type:"object",rules:{title:{type:"string",allowEmpty:!1},lat:{type:"number"},lng:{type:"number"}}}},e),this.sendMsg(Object.assign(Object.assign({},e),{type:"geo",body:JSON.stringify(e.body)}))}sendTipMsg(e){return t(this,void 0,void 0,(function*(){return Y({body:{type:"string",allowEmpty:!1}},e),this.sendMsg(Object.assign(Object.assign({},e),{type:"tip"}))}))}sendCustomMsg(e){return t(this,void 0,void 0,(function*(){return Y({body:{type:"string",allowEmpty:!1}},e),this.sendMsg(Object.assign(Object.assign({},e),{type:"custom"}))}))}sendImageMsg(e){return this.doSendFile(Object.assign(Object.assign({},e),{type:"image"}))}sendFileMsg(e){return this.doSendFile(Object.assign(Object.assign({},e),{type:"file"}))}sendAudioMsg(e){return this.doSendFile(Object.assign(Object.assign({},e),{type:"audio"}))}sendVideoMsg(e){return this.doSendFile(Object.assign(Object.assign({},e),{type:"video"}))}doSendFile(e){return t(this,void 0,void 0,(function*(){Y({type:{type:"string",allowEmpty:!1},body:{type:"object",rules:{url:{type:"string",allowEmpty:!1}},required:!1},maxSize:{type:"number",min:1,required:!1}},e);let t=e.body;if(!t){if(!this.core.cloudStorage||!this.core.cloudStorage.uploadFile)throw new Error('Service "cloudStorage" does not exist');try{t=yield this.core.cloudStorage.uploadFile(e)}catch(e){throw this.logger.error("sendFile:: upload File error or abort",e),e}try{e.onUploadDone&&e.onUploadDone(t)}catch(e){throw this.logger.error("sendFile options.onUploadDone err",e),e}}return this.sendMsg(Object.assign(Object.assign({},e),{body:JSON.stringify(t),type:e.type}))}))}queryMessageHistory(e){return t(this,void 0,void 0,(function*(){Y({timetag:{type:"number",required:!1},limit:{type:"number",min:1,max:100,required:!1},reverse:{type:"boolean",required:!1},msgTypes:{type:"array",itemType:"string",required:!1}},e);const t=yield this.core.sendCmd("chatroomQueryMessageHistory",Object.assign(Object.assign({timetag:0,limit:100,reverse:!1},e),{msgTypes:e.msgTypes?e.msgTypes.map((e=>Fe[e])):[]})),{chatroomMsgs:r}=t.content;return o=r,n=this.core.account,o&&o.length>0?o.map((e=>We(e,n))):[];var o,n}))}onChatroomMsgHandler(e){const t=e.content,r=We(null==t?void 0:t.chatroomMsg,this.core.account);"debug"===this.core.options.debugLevel?this.logger.debug("onChatroomMsgHandler::recvMsg",r.type,r.idClient,r):this.logger.log("onChatroomMsgHandler::recvMsg",r.type,r.idClient),this.core.emit("chatroomMsg",r)}sendMsg(r){return t(this,void 0,void 0,(function*(){Y({type:{type:"enum",values:S(Fe)},subType:{type:"number",min:1,required:!1}},r);const t=function(t,r){const o=e(t,["onSendBefore"]);return t.resend||(o.idClient=O()),o.type=Fe[t.type],o.from=r,o.fromClientType=16,o.fromDeviceId=j.deviceId,o.status=o.status||"sending",["resend","needAntiSpam","antiSpamUsingYidun","skipHistory","highPriority","clientAntiSpam"].forEach((e=>{void 0!==t[e]&&(o[e]=t[e]?1:0)})),["subType"].forEach((e=>{void 0!==t[e]&&(o[e]=parseInt(t[e]))})),["body","antiSpamContent","antiSpamBusinessId","ext"].forEach((e=>{void 0!==t[e]&&(o[e]="string"==typeof t[e]?t[e]:JSON.stringify(t[e]))})),o}(r,this.core.account),o=We(Object.assign(Object.assign({},t),{status:"sending",time:new Date}),this.core.account);try{r.onSendBefore&&r.onSendBefore(o)}catch(e){this.core.logger.error("sendMsg: options.onSendBefore error",e)}this.core.emit("_sendMsg",o);try{const e=yield this.core.sendCmd("sendChatroomMsg",{chatroomMsg:t});return We(Object.assign(Object.assign(Object.assign({},t),e.content.chatroomMsg),{status:"success"}),this.core.account)}catch(e){const r=We(Object.assign(Object.assign({},t),{status:"fail"}),this.core.account);throw e.msg=r,e}}))}process(e){const t=this[e.cmd+"Handler"];return"function"==typeof t?t.call(this,e):e.error&&!e.error.ignore?Promise.reject(e.error):Promise.resolve(e)}}var Bo;qo.idName="chatroomMsg",function(e){e[e.regular=0]="regular",e[e.temp=1]="temp",e[e.regularOnline=2]="regularOnline",e[e.regularReverse=3]="regularReverse"}(Bo||(Bo={}));class zo extends n{constructor(e){super(),this.name="chatroomMember",this.logger=e.logger,this.core=e}updateMyRoomRole(e){return t(this,void 0,void 0,(function*(){Y({member:{type:"object",rules:{nick:{type:"string",required:!1},avatar:{type:"string",required:!1},ext:{type:"string",required:!1}}},needNotify:{type:"boolean"},ext:{type:"string",required:!1},needSave:{type:"boolean",required:!1}},e),yield this.core.sendCmd("chatroomUpdateMyRoomRole",Object.assign(Object.assign({},e),{chatroomMember:e.member,ext:e.ext||""}))}))}setMemberManager(e){return t(this,void 0,void 0,(function*(){return yield this.markChatroomMember(Object.assign(Object.assign({},e),{type:1}))}))}setMemberNormal(e){return t(this,void 0,void 0,(function*(){return yield this.markChatroomMember(Object.assign(Object.assign({},e),{type:2}))}))}setMemberMute(e){return t(this,void 0,void 0,(function*(){return yield this.markChatroomMember(Object.assign(Object.assign({},e),{type:-2}))}))}setMemberBlackList(e){return t(this,void 0,void 0,(function*(){return yield this.markChatroomMember(Object.assign(Object.assign({},e),{type:-1}))}))}queryMembers(e){var r;return t(this,void 0,void 0,(function*(){Y({type:{type:"enum",values:S(Bo)},time:{type:"number",required:!1},limit:{type:"number",required:!1}},e);const t=yield this.core.sendCmd("chatroomQueryMembers",Object.assign(Object.assign({time:0,limit:100},e),{type:Bo[e.type]}));return Ve(null===(r=t.content)||void 0===r?void 0:r.members)}))}queryMembersByAccounts(e){var r;return t(this,void 0,void 0,(function*(){Y({accounts:{type:"array",min:1,max:20,itemType:"string"}},e);const t=yield this.core.sendCmd("chatroomQueryMembersByAccounts",e);return Ve(null===(r=t.content)||void 0===r?void 0:r.members)}))}setMemberTempMute(e){return t(this,void 0,void 0,(function*(){Y({account:{type:"string",allowEmpty:!1},duration:{type:"number",min:0},needNotify:{type:"boolean",required:!1},ext:{type:"string",required:!1}},e),yield this.core.sendCmd("chatroomSetMemberTempMute",Object.assign(Object.assign({},e),{ext:e.ext||""}))}))}kickMember(e){return t(this,void 0,void 0,(function*(){Y({account:{type:"string",allowEmpty:!1},ext:{type:"string",required:!1}},e),yield this.core.sendCmd("chatroomKickMember",Object.assign(Object.assign({},e),{ext:e.ext||""}))}))}queryMembersCountByTag(e){return t(this,void 0,void 0,(function*(){Y({tag:{type:"string",allowEmpty:!1}},e);return(yield this.core.sendCmd("chatroomQueryMembersCountByTag",Object.assign({},e))).content.count}))}queryMembersByTag(e){var r;return t(this,void 0,void 0,(function*(){Y({tag:{type:"string",allowEmpty:!1},time:{type:"number",required:!1},limit:{type:"number",max:100,required:!1}},e);const t=yield this.core.sendCmd("chatroomQueryMembersByTag",{chatroomTagMemberReq:Object.assign({time:0,limit:100},e)});return Ve(null===(r=t.content)||void 0===r?void 0:r.members)}))}setMembersTempMuteByTag(e){return t(this,void 0,void 0,(function*(){Y({tag:{type:"string",allowEmpty:!1},duration:{type:"number",min:0},needNotify:{type:"boolean"},notifyTargetTags:{type:"string",allowEmpty:!1,required:!1},ext:{type:"string",required:!1}},e),yield this.core.sendCmd("chatroomSetMembersTempMuteByTag",{chatroomTagMuteReq:Object.assign(Object.assign({},e),{needNotify:e.needNotify?1:0,ext:e.ext||""})})}))}markChatroomMember(e){var r;return t(this,void 0,void 0,(function*(){Y({account:{type:"string"},isAdd:{type:"boolean"},ext:{type:"string",required:!1},level:{type:"number",required:!1}},e);const t=yield this.core.sendCmd("markChatroomMember",Object.assign(Object.assign({level:0},e),{ext:e.ext||""}));return Qe(null===(r=t.content)||void 0===r?void 0:r.chatroomMember)}))}process(e){const t=this[e.cmd+"Handler"];return"function"==typeof t?t.call(this,e):e.error&&!e.error.ignore?Promise.reject(e.error):Promise.resolve(e)}}zo.idName="chatroomMember";const Ho={"13_2":"chatroomLogin","13_3":"beKickedFromChatroom","13_4":"chatroomExit","13_6":"sendChatroomMsg","13_7":"onChatroomMsg","13_8":"chatroomQueryMembers","13_9":"chatroomQueryMessageHistory","13_11":"markChatroomMember","13_12":"closeChatroom","13_13":"getChatroom","13_14":"updateChatroom","13_15":"chatroomUpdateMyRoomRole","13_16":"chatroomQueryMembersByAccounts","13_17":"chatroomKickMember","13_19":"chatroomSetMemberTempMute","13_20":"chatroomQueueOffer","13_21":"chatroomQueuePoll","13_22":"chatroomQueueList","13_23":"chatroomQueuePeak","13_24":"chatroomQueueDrop","13_26":"chatroomQueueChange","13_30":"chatroomSetMembersTempMuteByTag","13_31":"chatroomQueryMembersByTag","13_32":"chatroomQueryMembersCountByTag"},Qo={chatroomLogin:{sid:13,cid:2,service:"chatroom",params:[{type:"Byte",name:"type"},{type:"Property",name:"chatroomLogin"},{type:"Property",name:"chatroomIMLogin"}],response:[{type:"Property",name:"chatroom"},{type:"Property",name:"chatroomMember"},{type:"Property",name:"chatroomCdnInfo"}]},chatroomExit:{sid:13,cid:4,service:"chatroom"},sendChatroomMsg:{sid:13,cid:6,service:"chatroomMsg",params:[{type:"Property",name:"chatroomMsg"}],response:[{type:"Property",name:"chatroomMsg"}]},chatroomQueryMessageHistory:{sid:13,cid:9,service:"chatroomMsg",params:[{type:"Long",name:"timetag"},{type:"Int",name:"limit"},{type:"Bool",name:"reverse"},{type:"LongArray",name:"msgTypes"}],response:[{type:"PropertyArray",name:"chatroomMsgs",entity:"chatroomMsg"}]},getChatroom:{sid:13,cid:13,service:"chatroom",response:[{type:"Property",name:"chatroom"}]},updateChatroom:{sid:13,cid:14,service:"chatroom",params:[{type:"Property",name:"chatroom"},{type:"Bool",name:"needNotify"},{type:"String",name:"ext"}]},chatroomUpdateMyRoomRole:{sid:13,cid:15,service:"chatroomMember",params:[{type:"Property",name:"chatroomMember"},{type:"Bool",name:"needNotify"},{type:"String",name:"ext"},{type:"Bool",name:"needSave"}]},markChatroomMember:{sid:13,cid:11,service:"chatroomMember",params:[{type:"String",name:"account"},{type:"Int",name:"type"},{type:"Bool",name:"isAdd"},{type:"Int",name:"level"},{type:"String",name:"ext"}],response:[{type:"Property",name:"chatroomMember"}]},chatroomQueryMembers:{sid:13,cid:8,service:"chatroomMember",params:[{type:"Byte",name:"type"},{type:"Long",name:"time"},{type:"Int",name:"limit"}],response:[{type:"PropertyArray",name:"members",entity:"chatroomMember"}]},chatroomQueryMembersByAccounts:{sid:13,cid:16,service:"chatroomMember",params:[{type:"StrArray",name:"accounts"}],response:[{type:"PropertyArray",name:"members",entity:"chatroomMember"}]},chatroomKickMember:{sid:13,cid:17,service:"chatroomMember",params:[{type:"string",name:"account"},{type:"string",name:"ext"}]},chatroomSetMemberTempMute:{sid:13,cid:19,service:"chatroomMember",params:[{type:"String",name:"account"},{type:"Long",name:"duration"},{type:"bool",name:"needNotify"},{type:"String",name:"ext"}]},closeChatroom:{sid:13,cid:12,service:"chatroom",params:[{type:"String",name:"ext"}]},chatroomQueryMembersCountByTag:{sid:13,cid:32,service:"chatroomMember",params:[{type:"String",name:"tag"}],response:[{type:"Long",name:"count"}]},chatroomQueryMembersByTag:{sid:13,cid:31,service:"chatroomMember",params:[{type:"Property",name:"chatroomTagMemberReq"}],response:[{type:"PropertyArray",name:"members",entity:"chatroomMember"}]},chatroomSetMembersTempMuteByTag:{sid:13,cid:30,service:"chatroomMember",params:[{type:"Property",name:"chatroomTagMuteReq"}]},chatroomQueueOffer:{sid:13,cid:20,service:"chatroomQueue",params:[{type:"String",name:"elementKey"},{type:"String",name:"elementValue"},{type:"bool",name:"transient"},{type:"String",name:"elementAccount"}]},chatroomQueuePoll:{sid:13,cid:21,service:"chatroomQueue",params:[{type:"String",name:"elementKey"}],response:[{type:"String",name:"elementKey"},{type:"String",name:"elementValue"}]},chatroomQueueChange:{sid:13,cid:26,service:"chatroomQueue",params:[{type:"StrStrMap",name:"elementMap"},{type:"bool",name:"needNotify"},{type:"String",name:"notifyExt"}],response:[{type:"StrArray",name:"elementKeyArray"}]},chatroomQueueList:{sid:13,cid:22,service:"chatroomQueue",response:[{type:"KVArray",name:"queueList"}]},chatroomQueuePeak:{sid:13,cid:23,service:"chatroomQueue",response:[{type:"String",name:"elementKey"},{type:"String",name:"elementValue"}]},chatroomQueueDrop:{sid:13,cid:24,service:"chatroomQueue"},onChatroomMsg:{sid:13,cid:7,service:"chatroomMsg",response:[{type:"Property",name:"chatroomMsg"}]},beKickedFromChatroom:{sid:13,cid:3,service:"chatroom",response:[{type:"Number",name:"reason"},{type:"String",name:"ext"}]}},Vo={chatroomLogin:{appkey:1,account:2,deviceId:3,chatroomId:5,appLogin:8,chatroomNick:20,chatroomAvatar:21,chatroomExt:22,chatroomEnterExt:23,session:26,isAnonymous:38,tags:39,notifyTargetTags:40,authType:41,loginExt:42},chatroomIMLogin:{clientType:3,os:4,sdkVersion:6,appLogin:8,protocolVersion:9,pushTokenName:10,pushToken:11,deviceId:13,appkey:18,account:19,browser:24,session:26,deviceInfo:32,token:1e3,customTag:38,customClientType:39,sdkHumanVersion:40,sdkType:41,userAgent:42,isReactNative:112,authType:115,loginExt:116},chatroomMsg:{idClient:1,type:2,body:3,ext:4,resend:5,userUpdateTime:6,fromNick:7,fromAvatar:8,fromExt:9,needAntiSpam:10,antiSpamContent:11,skipHistory:12,messageBody:13,antiSpamBusinessId:14,clientAntiSpam:15,antiSpamUsingYidun:16,time:20,from:21,chatroomId:22,fromClientType:23,highPriority:25,callbackExt:27,subType:28,yidunAntiCheating:29,env:30,notifyTargetTags:31,yidunAntiSpamExt:32,yidunAntiSpamRes:33},chatroom:{id:1,name:3,announcement:4,broadcastUrl:5,ext:12,createTime:14,updateTime:15,queuelevel:16,creator:100,onlineMemberNum:101,mute:102},chatroomMember:{chatroomId:1,account:2,type:3,level:4,nick:5,avatar:6,ext:7,online:8,guest:9,enterTime:10,blacked:12,muted:13,valid:14,updateTime:15,tempMuted:16,tempMuteDuration:17},chatroomTagMemberReq:{tag:1,time:2,limit:3},chatroomTagMuteReq:{tag:1,duration:2,needNotify:3,ext:4,notifyTargetTags:5}},Ko={chatroom:{1:"id",3:"name",4:"announcement",5:"broadcastUrl",12:"ext",14:"createTime",15:"updateTime",16:"queuelevel",100:"creator",101:"onlineMemberNum",102:"mute"},chatroomMember:{1:"chatroomId",2:"account",3:"type",4:"level",5:"nick",6:"avatar",7:"ext",8:"online",9:"guest",10:"enterTime",12:"blacked",13:"muted",14:"valid",15:"updateTime",16:"tempMuted",17:"tempMuteDuration"},chatroomCdnInfo:{1:"enable",2:"cdnUrls",3:"timestamp",4:"interval",5:"decryptType",6:"decryptKey",7:"timeout"},chatroomMsg:{1:"idClient",2:"type",3:"body",4:"ext",5:"resend",6:"userUpdateTime",7:"fromNick",8:"fromAvatar",9:"fromExt",10:"needAntiSpam",11:"antiSpamContent",12:"skipHistory",13:"messageBody",14:"antiSpamBusinessId",15:"clientAntiSpam",16:"antiSpamUsingYidun",20:"time",21:"from",22:"chatroomId",23:"fromClientType",25:"highPriority",27:"callbackExt",28:"subType",29:"yidunAntiCheating",30:"env",31:"notifyTargetTags",32:"yidunAntiSpamExt",33:"yidunAntiSpamRes"}},Wo={BROWSER:0,RN:2,UNIAPP:3,WECHAT:6},Jo={debugLevel:"off",needReconnect:!0,reconnectionAttempts:Number.MAX_SAFE_INTEGER,autoMarkRead:!0};class Go extends se{constructor(e){super(e),this.chatroom={},this.chatroomMsg={},this.chatroomMember={},this.cloudStorage={},Y({account:{type:"string"},appkey:{type:"string"},token:{type:"string"},chatroomId:{type:"string"},chatroomAddresses:{type:"array",itemType:"string"},needReconnect:{type:"boolean",required:!1},reconnectionAttempts:{type:"number",required:!1},isAnonymous:{type:"boolean",required:!1},tags:{type:"array",itemType:"string",required:!1}},e),this.account=e.account,this.options=Object.assign(Object.assign({},Jo),e),R({cmdMap:Ho,cmdConfig:Qo,serializeMap:Vo,deserializeMap:Ko}),R({cmdMap:No,cmdConfig:Uo,serializeMap:Lo,deserializeMap:Do}),this.chatroom=new Ge(this),this.cloudStorage=new Ro(this),this.chatroomMsg=new qo(this),this.chatroomMember=new zo(this)}connect(e={}){const r=Object.create(null,{connect:{get:()=>super.connect}});return t(this,void 0,void 0,(function*(){if(!/^(unconnected|waitReconnect)$/.test(this.status)){const e=`Chatroom status is ${this.status}, and would not repeat connect`;return this.logger.warn(e),Promise.reject(e)}const t=e.isAutoReconnect||!1;yield r.connect.call(this,{linkUrls:this.options.chatroomAddresses,isAutoReconnect:t});const o=yield this.login(t);this.emit("logined",o)}))}login(e=!1){var r,o;return t(this,void 0,void 0,(function*(){const t=this.options,n=P.getSystemInfo(),s=Object.assign(Object.assign({},t),{appLogin:e?0:1,deviceId:j.deviceId,clientType:16,protocolVersion:1,sdkVersion:240,sdkHumanVersion:"8.10.0",os:n.os,browser:n.browser,session:null===(r=this.socket)||void 0===r?void 0:r.sessionId,sdkType:Wo[P.platform]||0,userAgent:"Native/8.10.0"}),i=Object.assign(Object.assign({},t),{appkey:t.appkey,account:t.account,deviceId:j.deviceId,session:null===(o=this.socket)||void 0===o?void 0:o.sessionId,appLogin:1});let a;t.isAnonymous&&(i.isAnonymous=1,i.account=i.account||`nimanon_${O()}`,s.account=i.account,i.chatroomNick=i.account||`nimanon_${O()}`,i.chatroomAvatar=i.chatroomAvatar||" "),t.tags&&t.tags.length>0&&(i.tags=JSON.stringify(t.tags));try{a=yield this.sendCmd("chatroomLogin",{type:1,chatroomLogin:i,chatroomIMLogin:s})}catch(e){throw this.logger.error("login error",e),this.doDisconnect(ee.ACTIVE,"LoginFailed"),e}this.status="logined";return{chatroom:ze(a.content.chatroom),member:Qe(a.content.chatroomMember)}}))}onMessage(e){var t,r;const o=D(e,this.logger);if(!o)return;const n=o.raw.ser;if(o.notFound)return void this.logger.warn("core::onMessage packet not found",n,o.raw.sid+"_"+o.raw.cid);o.raw&&"heartbeat"!==o.cmd&&("debug"===this.options.debugLevel?this.logger.debug("imsocket::recvCmd",n,o.cmd,o.content):this.logger.log("imsocket::recvCmd",n,o.cmd));const s=this.sendingCmdMap.get(n);if(s){const{callback:e,timer:r,params:i}=s;clearTimeout(r),o.params=i,this.sendingCmdMap.delete(n),null===(t=this[o.service])||void 0===t||t.process(o).then((t=>{e[0](t)})).catch((t=>{e[1](t)}))}else null===(r=this[o.service])||void 0===r||r.process(o)}disconnect(){switch(this.status){case"connected":case"logined":return this.sendCmd("chatroomExit").then((()=>{super.doDisconnect(ee.ACTIVE,"UserActiveDisconnect")}));case"connecting":case"waitReconnect":return super.doDisconnect(ee.ACTIVE,"UserActiveDisconnect"),Promise.resolve();case"unconnected":case"destroyed":return Promise.resolve()}}destroy(){return super.destroy()}}const Xo={setLogger(e){},platform:"ALIAPP",localStorage:class{getItem(e){return my.getStorageSync({key:e}).data}setItem(e,t){return my.setStorageSync({key:e,data:t})}removeItem(e){return my.removeStorageSync({key:e})}},request:function(e,t){return new Promise(((r,o)=>{my.request(Object.assign(Object.assign({url:e},t),{success:function(e){e={data:e.data,status:e.status,errMsg:e.errMsg,header:e.header},r(e)},fail:function(e){o(e)}}))}))},WebSocket:class{constructor(e,t=""){if(this.CONNECTING=0,this.OPEN=1,this.CLOSING=2,this.CLOSED=3,this.onclose=function(e){console.log("my-app: sockets on close ",e)},this.onerror=function(e){console.error("my-app: sockets error ",e)},this.onmessage=function(e){},this.onopen=function(e){},!e)throw new Error("Failed to construct 'socket': url required");this.url=e.replace(/:443(\/|$)/,"$1"),this.protocol=t,this.readyState=this.CONNECTING,my.connectSocket({url:this.url,fail:e=>{this.errorHandler(e)},success:()=>{}}),my.onSocketOpen((e=>{this.readyState=this.OPEN,this.onmessage&&this.onmessage({type:"open",header:e})})),my.onSocketError((e=>{this.errorHandler(e)})),my.onSocketClose((e=>{this.readyState=this.CLOSED;const{code:t,reason:r,wasClean:o}=e;"function"==typeof this.onclose&&this.onclose&&this.onclose({code:t,reason:r,wasClean:o,type:"close"})})),my.onSocketMessage((e=>{this.onmessage&&this.onmessage({data:e.data})}))}close(){my.closeSocket({code:1e3,reason:"user force close websocket",complete:()=>{}})}send(e){if(this.readyState!==this.OPEN)throw new Error(`my-app: socket sendMsg when readyState=${this.readyState}`);if(!("string"==typeof e||e instanceof ArrayBuffer))throw new TypeError("my-app: socket sendMsg only String/ArrayBuffer supported");my.sendSocketMessage({data:e,isBuffer:e instanceof ArrayBuffer})}errorHandler(e){console.error("my-app::ws: onerror ",e),this.readyState=this.CLOSED,this.onerror&&this.onerror({type:"error",message:e&&e.errMsg})}},uploadFile:function(e){return t(this,void 0,void 0,(function*(){return yield new Promise(((t,r)=>{const o=my.uploadFile({url:e.commonUploadHost?`${e.commonUploadHost}/${e.nosToken.bucket}`:"https://nos.netease.com/nim",formData:{Object:decodeURIComponent(e.nosToken.objectName),"x-nos-token":e.nosToken.token,"x-nos-entity-type":"json"},fileName:"file",filePath:e.filePath,success(o){if(200===o.statusCode)try{const r=JSON.parse(o.data);r.name=e.filePath,r.ext=r.name.lastIndexOf(".")>-1?r.name.slice(r.name.lastIndexOf(".")+1).toLowerCase():"",t(r)}catch(e){r(new Error(`Upload Error parse result error: ${o.data}`))}else r(new Error(`Upload error ${o.statusCode}: ${o.errMsg}`))},fail(e){r(e)}});try{e.onUploadStart&&e.onUploadStart(o)}catch(e){console.error("uploadFile: options.onUploadStart error",e),o.abort(),r(e)}e.onUploadProgress&&o.onProgressUpdate((function(t){e.onUploadProgress&&e.onUploadProgress({total:t.totalBytesExpectedToWrite,loaded:t.totalBytesWritten,percentage:t.progress,percentageText:t.progress+"%"})}))}))}))},getSystemInfo:function(){const e=my.getSystemInfoSync()||{};return{os:e.platform||"UNIAPP_UNKNOW",browser:"ALIAPP",pushDeviceInfo:{PRODUCT:e.model,DEVICE:e.model,MANUFACTURER:e.brand}}}};const Yo={setLogger(e){},platform:"WXAPP",localStorage:class{getItem(e){return wx.getStorageSync(e)}setItem(e,t){return wx.setStorageSync(e,t)}removeItem(e){return wx.removeStorageSync(e)}},request:function(e,t){return t&&(t.header=t.headers),new Promise(((r,o)=>{wx.request(Object.assign(Object.assign({url:e},t),{success:function(e){e={data:e.data,status:e.statusCode,errMsg:e.errMsg,header:e.header},r(e)},fail:function(e){o(e)}}))}))},WebSocket:class{constructor(e,t=""){if(this.CONNECTING=0,this.OPEN=1,this.CLOSING=2,this.CLOSED=3,this.onclose=function(e){console.log("wx-app: sockets on close ",e)},this.onerror=function(e){console.error("wx-app: sockets error ",e)},this.onmessage=function(e){},this.onopen=function(e){},!e)throw new Error("Failed to construct 'socket': url required");this.url=e.replace(/:443(\/|$)/,"$1"),this.protocol=t,this.readyState=this.CONNECTING;const r=this.protocol?{protocols:[this.protocol]}:{};this.socketTask=wx.connectSocket(Object.assign(Object.assign({url:this.url},r),{fail:e=>{this.errorHandler(e)},success:()=>{}})),this.socketTask.onOpen((e=>{this.readyState=this.OPEN,this.onmessage&&this.onmessage({type:"open",header:e})})),this.socketTask.onError((e=>{this.errorHandler(e)})),this.socketTask.onClose((e=>{this.readyState=this.CLOSED;const{code:t,reason:r,wasClean:o}=e;"function"==typeof this.onclose&&this.onclose&&this.onclose({code:t,reason:r,wasClean:o,type:"close"})})),this.socketTask.onMessage((e=>{this.onmessage&&this.onmessage(e)}))}close(){this.socketTask.close({code:1e3,reason:"user force close websocket",complete:()=>{this.socketTask=null}})}send(e){if(this.readyState!==this.OPEN)throw new Error(`wx-app: socket sendMsg when readyState=${this.readyState}`);if(!("string"==typeof e||e instanceof ArrayBuffer))throw new TypeError("wx-app: socket sendMsg only String/ArrayBuffer supported");this.socketTask.send({data:e})}errorHandler(e){console.error("wx-app::ws: onerror ",e),this.readyState=this.CLOSED,this.onerror&&this.onerror({type:"error",message:e&&e.errMsg})}},uploadFile:function(e){return t(this,void 0,void 0,(function*(){return yield new Promise(((t,r)=>{const o=wx.uploadFile({url:e.commonUploadHost?`${e.commonUploadHost}/${e.nosToken.bucket}`:"https://nos.netease.com/nim",formData:{Object:decodeURIComponent(e.nosToken.objectName),"x-nos-token":e.nosToken.token,"x-nos-entity-type":"json"},name:"file",filePath:e.filePath,success(o){if(200===o.statusCode)try{const r=JSON.parse(o.data);r.name=e.filePath,r.ext=r.name.lastIndexOf(".")>-1?r.name.slice(r.name.lastIndexOf(".")+1).toLowerCase():"",t(r)}catch(e){r(new Error(`Upload Error parse result error: ${o.data}`))}else r(new Error(`Upload error ${o.statusCode}: ${o.errMsg}`))},fail(e){r(e)}});try{e.onUploadStart&&e.onUploadStart(o)}catch(e){console.error("uploadFile: options.onUploadStart error",e),o.abort(),r(e)}e.onUploadProgress&&o.onProgressUpdate((function(t){e.onUploadProgress&&e.onUploadProgress({total:t.totalBytesExpectedToSend,loaded:t.totalBytesSent,percentage:t.progress,percentageText:t.progress+"%"})}))}))}))},getSystemInfo:function(){const e=wx.getSystemInfoSync()||{};return{os:e.platform||"UNIAPP_UNKNOW",browser:"WXAPP",pushDeviceInfo:{PRODUCT:e.model,DEVICE:e.model,MANUFACTURER:e.brand}}}};const Zo={setLogger(e){},platform:"BAIDUAPP",localStorage:class{getItem(e){return swan.getStorageSync(e)}setItem(e,t){return swan.setStorageSync(e,t)}removeItem(e){return swan.removeStorageSync(e)}},request:function(e,t){return t&&(t.header=t.headers),new Promise(((r,o)=>{swan.request(Object.assign(Object.assign({url:e},t),{success:function(e){e={data:e.data,status:e.statusCode,errMsg:e.errMsg,header:e.header},r(e)},fail:function(e){o(e)}}))}))},WebSocket:class{constructor(e,t=""){if(this.CONNECTING=0,this.OPEN=1,this.CLOSING=2,this.CLOSED=3,this.onclose=function(e){console.log("baidu-app: sockets on close ",e)},this.onerror=function(e){console.error("baidu-app: sockets error ",e)},this.onmessage=function(e){},this.onopen=function(e){},!e)throw new Error("Failed to construct 'socket': url required");this.url=e.replace(/:443(\/|$)/,"$1"),this.protocol=t,this.readyState=this.CONNECTING;const r=this.protocol?{protocols:[this.protocol]}:{};this.socketTask=swan.connectSocket(Object.assign(Object.assign({url:this.url},r),{fail:e=>{this.errorHandler(e)},success:()=>{}})),this.socketTask.onOpen((e=>{this.readyState=this.OPEN,this.onmessage&&this.onmessage({type:"open",header:e})})),this.socketTask.onError((e=>{this.errorHandler(e)})),this.socketTask.onClose((e=>{this.readyState=this.CLOSED;const{code:t,reason:r,wasClean:o}=e;"function"==typeof this.onclose&&this.onclose&&this.onclose({code:t,reason:r,wasClean:o,type:"close"})})),this.socketTask.onMessage((e=>{this.onmessage&&this.onmessage({data:e.data})}))}close(){this.socketTask.close({code:1e3,reason:"user force close websocket",complete:()=>{this.socketTask=null}})}send(e){if(this.readyState!==this.OPEN)throw new Error(`wx-app: socket sendMsg when readyState=${this.readyState}`);if(!("string"==typeof e||e instanceof ArrayBuffer))throw new TypeError("wx-app: socket sendMsg only String/ArrayBuffer supported");this.socketTask.send({data:e})}errorHandler(e){this.readyState=this.CLOSED,this.onerror&&this.onerror({type:"error",message:e&&e.errMsg})}},uploadFile:function(e){return t(this,void 0,void 0,(function*(){return yield new Promise(((t,r)=>{const o=swan.uploadFile({url:e.commonUploadHost?`${e.commonUploadHost}/${e.nosToken.bucket}`:"https://nos.netease.com/nim",formData:{Object:decodeURIComponent(e.nosToken.objectName),"x-nos-token":e.nosToken.token,"x-nos-entity-type":"json"},name:"file",filePath:e.filePath,success(o){if(200===o.statusCode)try{const r=JSON.parse(o.data);r.name=e.filePath,r.ext=r.name.lastIndexOf(".")>-1?r.name.slice(r.name.lastIndexOf(".")+1).toLowerCase():"",t(r)}catch(e){r(new Error(`Upload Error parse result error: ${o.data}`))}else r(new Error(`Upload error ${o.statusCode}: ${o.errMsg}`))},fail(e){r(e)}});try{e.onUploadStart&&e.onUploadStart(o)}catch(e){console.error("uploadFile: options.onUploadStart error",e),o.abort(),r(e)}e.onUploadProgress&&o.onProgressUpdate((function(t){e.onUploadProgress&&e.onUploadProgress({total:t.totalBytesExpectedToSend,loaded:t.totalBytesSent,percentage:t.progress,percentageText:t.progress+"%"})}))}))}))},getSystemInfo:function(){const e=swan.getSystemInfoSync()||{};return{os:e.platform||"UNIAPP_UNKNOW",browser:"BAIDUAPP",pushDeviceInfo:{PRODUCT:e.model,DEVICE:e.model,MANUFACTURER:e.brand}}}};const en={setLogger(e){},platform:"TTAPP",localStorage:class{getItem(e){return tt.getStorageSync(e)}setItem(e,t){return tt.setStorageSync(e,t)}removeItem(e){return tt.removeStorageSync(e)}},request:function(e,t){return t&&(t.header=t.headers),new Promise(((r,o)=>{tt.request(Object.assign(Object.assign({url:e},t),{success:function(e){e={data:e.data,status:e.statusCode,errMsg:e.errMsg,header:e.header},r(e)},fail:function(e){o(e)}}))}))},WebSocket:class{constructor(e,t=""){if(this.CONNECTING=0,this.OPEN=1,this.CLOSING=2,this.CLOSED=3,this.onclose=function(e){console.log("wx-app: sockets on close ",e)},this.onerror=function(e){console.error("wx-app: sockets error ",e)},this.onmessage=function(e){},this.onopen=function(e){},!e)throw new Error("Failed to construct 'socket': url required");this.url=e.replace(/:443(\/|$)/,"$1"),this.protocol=t,this.readyState=this.CONNECTING;const r=this.protocol?{protocols:[this.protocol]}:{};this.socketTask=tt.connectSocket(Object.assign(Object.assign({url:this.url},r),{fail:e=>{this.errorHandler(e)},success:()=>{}})),this.socketTask.onOpen((e=>{this.readyState=this.OPEN,this.onmessage&&this.onmessage({type:"open",header:e.header})})),this.socketTask.onError((e=>{this.errorHandler(e)})),this.socketTask.onClose((e=>{this.readyState=this.CLOSED;const{code:t,reason:r,wasClean:o}=e;"function"==typeof this.onclose&&this.onclose&&this.onclose({code:t,reason:r,wasClean:o,type:"close"})})),this.socketTask.onMessage((e=>{this.onmessage&&this.onmessage({data:e.data})}))}close(){this.socketTask&&this.socketTask.close({code:1e3,reason:"user force close websocket",complete:()=>{}})}send(e){if(this.readyState!==this.OPEN)throw new Error(`tt-app: socket sendMsg when readyState=${this.readyState}`);if(!("string"==typeof e||e instanceof ArrayBuffer))throw new TypeError("tt-app: socket sendMsg only String/ArrayBuffer supported");this.socketTask&&this.socketTask.send({data:e})}errorHandler(e){console.error("tt-app::ws: onerror ",e),this.readyState=this.CLOSED,this.onerror&&this.onerror({type:"error",message:e&&e.errMsg})}},uploadFile:function(e){return t(this,void 0,void 0,(function*(){return yield new Promise(((t,r)=>{const o=tt.uploadFile({url:e.commonUploadHost?`${e.commonUploadHost}/${e.nosToken.bucket}`:"https://nos.netease.com/nim",formData:{Object:decodeURIComponent(e.nosToken.objectName),"x-nos-token":e.nosToken.token,"x-nos-entity-type":"json"},name:"file",filePath:e.filePath,success(o){if(200===o.statusCode)try{const r=JSON.parse(o.data);r.name=e.filePath,r.ext=r.name.lastIndexOf(".")>-1?r.name.slice(r.name.lastIndexOf(".")+1).toLowerCase():"",t(r)}catch(e){r(new Error(`Upload Error parse result error: ${o.data}`))}else r(new Error(`Upload error ${o.statusCode}: ${o.errMsg}`))},fail(e){r(e)}});try{e.onUploadStart&&e.onUploadStart(o)}catch(e){console.error("uploadFile: options.onUploadStart error",e),o.abort(),r(e)}e.onUploadProgress&&o.onProgressUpdate((function(t){e.onUploadProgress&&e.onUploadProgress({total:t.totalBytesExpectedToSend,loaded:t.totalBytesSent,percentage:t.progress,percentageText:t.progress+"%"})}))}))}))},getSystemInfo:function(){const e=tt.getSystemInfoSync()||{};return{os:e.platform||"UNIAPP_UNKNOW",browser:"TTAPP",pushDeviceInfo:{PRODUCT:e.model,DEVICE:e.model,MANUFACTURER:e.brand}}}};const tn={WX:Yo,ALI:Xo,BAIDU:Zo,TT:en}["undefined"!=typeof tt&&tt.getSystemInfo?"TT":"undefined"!=typeof wx&&wx.getSystemInfo?"WX":"undefined"!=typeof my&&my.getSystemInfo?"ALI":"undefined"!=typeof swan&&swan.getSystemInfo?"BAIDU":"unknow environment"];return Go.setAdapters(tn),Go}));
|