!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.GoEasyIM=e():t.GoEasyIM=e()}(window,(function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=12)}([function(t,e){t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},function(t,e){function n(t,e){for(var n=0;n0&&t.currentNumber-1&&(e=!0,this.splice(n,1)),this.unshift(t);this.length>300;)this.pop();return e},v.prototype={debug:!1,socket:null,networkStatus:"initial",authorizeResult:null,subscribeBuffer:[],subscriptions:[],subscriptionChannelUUIDs:[],maxRetries:3,_manualConnect:!1,_manualDisconnectStatus:"initial",authorizeStatus:"initial",receivedGuids:new l,_copyConfig:function(t){this._appkey=t.appkey,this._otp=t.otp,this._isEmpty(t.userId)?(this._userId="anonymous-"+Math.floor(1e5*Math.random()+1),t.userId=this._userId):this._userId=this._trim(t.userId),this._isEmpty(t.userData)?this._userData="":this._userData=this._trim(t.userData),1==t.debug&&(this.debug=!0),this._isEmpty(t.type)||(this._type=t.type),this._isEmpty(t.imVersion)||(this._imVersion=t.imVersion)},validateSubscription:function(t){var e=t.channel,n=t.channels;if(void 0===e&&void 0===n)return t.onFailed({code:400,content:"channel is required"}),!1;if(void 0!==e&&void 0!==n)return t.onFailed({code:400,content:"subscribe to either channel or channels, not both"}),!1;if(void 0!==e){if("number"==typeof e&&(e=e.toString()),this._isEmpty(e)&&void 0!==t.onFailed)return t.onFailed({code:400,content:"channel is required"}),!1}else{if(!this._isArray(n)||0===n.length)return t.onFailed({code:400,content:"channels must be an array"}),!1;if(this._isArray(n)&&n.length>500)return t.onFailed({code:400,content:"channels over max length:500"}),!1;if(this._isArray(n)&&n.length>0)for(var r=0;r500?e({code:400,content:"userIds is over max length 500"}):this.socket.emit("hereNowByUserIds",n,(function(t){e(t)})))},history:function(t,e){return"number"==typeof t.channel&&(t.channel=t.channel.toString()),this._isEmpty(t.channel)?void(void 0!==e&&e({code:400,content:"channel is required"})):void this.socket.emit("historyMessages",t,(function(t){void 0!==e&&e(t)}))},disconnect:function(){var t=this;this._manualDisconnectStatus="disconnecting","connected"===this.networkStatus&&"authorized"===this.authorizeStatus&&200===this.authorizeResult.code?t.tryEmit("manualDisconnect",null,(function(){t.socket.disconnect()}),(function(){t._manualDisconnectStatus="disconnected"})):this.socket.disconnect(),t.receivedGuids.splice(0,t.receivedGuids.length)},disconnected:function(){return"disconnected"===this.networkStatus},reconnect:function(){this._manualConnect=!0,this.socket.connect()},tryEmit:function(t,e,n,r){function o(){i.socket.emit(t,e,(function(t){s=!0,void 0!==r&&r(t)}))}var i=this,s=!1,c=0;o();var a=setInterval((function(){var t=c===i.maxRetries;s||t?(clearInterval(a),t&&void 0!==n&&n({code:408,content:"Server unreachable or timeout"})):(c++,e&&"undefined"!==e.retried&&(e.retried=c),o())}),1e3)},_callbackEvents:function(t){var e=this;this.socket.on("message",(function(t,n){var r=JSON.parse(t);if(!e.receivedGuids.unshiftGuid(r.i)){r.a&&e.socket.emit("ack",{publishGuid:r.i});var o=e.subscriptionChannelUUIDs[r.n];if(e._endWith(r.n,"presence"))void 0!==e.subscriptions[o].onPresence&&e.subscriptions[o].onPresence(JSON.parse(r.c));else if(void 0!==e.subscriptions[o].onMessage){var i={time:r.t,channel:r.n,content:r.c};r.s&&(i.senderId=r.s),e.subscriptions[o].onMessage(i)}}})),this.socket.on("connect",(function(){function n(){JSON.stringify(o),e._isEmpty(o.artifactVersion)&&e.sendlogs(),e.socket.emit("authorize",o,(function(n){if(JSON.stringify(n),!i)if(i=!0,e.authorizeStatus="authorized",e._manualDisconnectStatus="initial",null==e.authorizeResult&&(e.authorizeResult={}),e.authorizeResult.code=n.resultCode,e.authorizeResult.content=n.content,200==n.resultCode){if(r(),null==e.authorizeResult.sid)e.authorizeResult.sid=n.sid;else if(e.authorizeResult.sid!=n.sid)for(var o in e.authorizeResult.sid=n.sid,e.subscriptions)e.subscriptions.hasOwnProperty(o)&&(JSON.stringify(e.subscriptions[o]),e.doSubscribeAndCheckAck(e.subscriptions[o]));for(var s in e.subscribeBuffer)e.subscribeBuffer.hasOwnProperty(s)&&(JSON.stringify(e.subscribeBuffer[s]),e.doSubscribeAndCheckAck(e.subscribeBuffer[s]));void 0!==t.onConnected&&t.onConnected()}else void 0!==t.onConnectFailed&&t.onConnectFailed({code:n.resultCode,content:n.content})}))}if("disconnecting"!==e._manualDisconnectStatus&&"disconnected"!==e._manualDisconnectStatus||e._manualConnect){e.authorizeStatus="authorizing",e.networkStatus="connected";var o={manual:e._manualConnect,imVersion:e._imVersion,appkey:e._appkey,userId:e._userId,userData:e._userData,otp:e._otp,artifactVersion:"1.0.21",type:e._type};null!=e.authorizeResult&&(o.sid=e.authorizeResult.sid);var i=!1;n();var s=setInterval((function(){i||"connected"!=e.networkStatus?clearInterval(s):n()}),1300)}})),this.socket.on("connect_error",(function(e){void 0!==t.onConnectFailed&&t.onConnectFailed({code:408,content:e})})),this.socket.on("disconnect",(function(){e.networkStatus="disconnected",e.authorizeStatus="initial",e._manualConnect=!1,null==e.authorizeResult&&(e.authorizeResult={}),e.authorizeResult.code=408,e.authorizeResult.content="Server unreachable or timeout",void 0!==t.onDisconnected&&t.onDisconnected()}))},_isEmpty:function(t){return void 0===t||null==t||0==this._trim(t).length},_trim:function(t){return t.replace(/(^\s*)|(\s*$)/g,"")},_endWith:function(t,e){return new RegExp(e+"$").test(t)},_isArray:function(t){return"[object Array]"==Object.prototype.toString.call(t)},log:function(t){"undefined"!=typeof window&&window.console&&this.debug&&console.log(t)},uuid_goeasy:function(){return s().replace(/-/g,"")},sendlogs:function(){}};var m=function(){var t;return function(e){return t&&!t.disconnected()||(t=new v(e)),t}}();t.exports=m},function(t,e,n){"use strict";function r(t,e){"object"===(void 0===t?"undefined":o(t))&&(e=t,t=void 0),e=e||{};var n,r=i(t),s=r.source,u=r.id,l=r.path,f=a[u]&&l in a[u].nsps;return e.forceNew||e["force new connection"]||!1===e.multiplex||f?n=c(s,e):(a[u]||(a[u]=c(s,e)),n=a[u]),r.query&&!e.query&&(e.query=r.query),n.socket(r.path,e)}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(2),s=n(5),c=n(8);n(4)("socket.io-client"),t.exports=e=r;var a=e.managers={};e.protocol=s.protocol,e.connect=r,e.Manager=n(8),e.Socket=n(30)},function(t,e,n){"use strict";var r=n(3);n(4)("socket.io-client:url"),t.exports=function(t,e){var n=t;e=e||"undefined"!=typeof location&&location,null==t&&(t=e.protocol+"//"+e.host),"string"==typeof t&&("/"===t.charAt(0)&&(t="/"===t.charAt(1)?e.protocol+t:e.host+t),/^(https?|wss?):\/\//.test(t)||(t=void 0!==e?e.protocol+"//"+t:"https://"+t),n=r(t)),n.port||(/^(http|ws)$/.test(n.protocol)?n.port="80":/^(http|ws)s$/.test(n.protocol)&&(n.port="443")),n.path=n.path||"/";var o=-1!==n.host.indexOf(":")?"["+n.host+"]":n.host;return n.id=n.protocol+"://"+o+":"+n.port,n.href=n.protocol+"://"+o+(e&&e.port===n.port?"":":"+n.port),n}},function(t,e){var n=/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,r=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];t.exports=function(t){var e=t,o=t.indexOf("["),i=t.indexOf("]");-1!=o&&-1!=i&&(t=t.substring(0,o)+t.substring(o,i).replace(/:/g,";")+t.substring(i,t.length));for(var s=n.exec(t||""),c={},a=14;a--;)c[r[a]]=s[a]||"";return-1!=o&&-1!=i&&(c.source=e,c.host=c.host.substring(1,c.host.length-1).replace(/;/g,":"),c.authority=c.authority.replace("[","").replace("]","").replace(/;/g,":"),c.ipv6uri=!0),c}},function(t,e){"use strict";t.exports=function(){return function(){}}},function(t,e,n){"use strict";function r(){}function o(t){var n=""+t.type;if(e.BINARY_EVENT!==t.type&&e.BINARY_ACK!==t.type||(n+=t.attachments+"-"),t.nsp&&"/"!==t.nsp&&(n+=t.nsp+","),null!=t.id&&(n+=t.id),null!=t.data){var r=function(t){try{return JSON.stringify(t)}catch(t){return!1}}(t.data);if(!1===r)return f;n+=r}return n}function i(){this.reconstructor=null}function s(t){var n=0,r={type:Number(t.charAt(0))};if(null==e.types[r.type])return a("unknown packet type "+r.type);if(e.BINARY_EVENT===r.type||e.BINARY_ACK===r.type){for(var o="";"-"!==t.charAt(++n)&&(o+=t.charAt(n),n!=t.length););if(o!=Number(o)||"-"!==t.charAt(n))throw new Error("Illegal attachments");r.attachments=Number(o)}if("/"===t.charAt(n+1))for(r.nsp="";++n&&","!==(s=t.charAt(n))&&(r.nsp+=s,n!==t.length););else r.nsp="/";var i=t.charAt(n+1);if(""!==i&&Number(i)==i){for(r.id="";++n;){var s;if(null==(s=t.charAt(n))||Number(s)!=s){--n;break}if(r.id+=t.charAt(n),n===t.length)break}r.id=Number(r.id)}if(t.charAt(++n)){var c=function(t){try{return JSON.parse(t)}catch(t){return!1}}(t.substr(n));if(!1===c||r.type!==e.ERROR&&!l(c))return a("invalid payload");r.data=c}return r}function c(t){this.reconPack=t,this.buffers=[]}function a(t){return{type:e.ERROR,data:"parser error: "+t}}var u=(n(4)("socket.io-parser"),n(6)),l=n(7);e.protocol=4,e.types=["CONNECT","DISCONNECT","EVENT","ACK","ERROR","BINARY_EVENT","BINARY_ACK"],e.CONNECT=0,e.DISCONNECT=1,e.EVENT=2,e.ACK=3,e.ERROR=4,e.BINARY_EVENT=5,e.BINARY_ACK=6,e.Encoder=r,e.Decoder=i;var f=e.ERROR+'"encode error"';r.prototype.encode=function(t,e){e([o(t)])},u(i.prototype),i.prototype.add=function(t){var e;if("string"!=typeof t)throw new Error("Unknown type: "+t);e=s(t),this.emit("decoded",e)},i.prototype.destroy=function(){this.reconstructor&&this.reconstructor.finishedReconstruction()},c.prototype.takeBinaryData=function(t){if(this.buffers.push(t),this.buffers.length===this.reconPack.attachments){var e=binary.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null},c.prototype.finishedReconstruction=function(){this.reconPack=null,this.buffers=[]}},function(t,e,n){function r(t){if(t)return function(t){for(var e in r.prototype)t[e]=r.prototype[e];return t}(t)}t.exports=r,r.prototype.on=r.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},r.prototype.once=function(t,e){function n(){this.off(t,n),e.apply(this,arguments)}return n.fn=e,this.on(t,n),this},r.prototype.off=r.prototype.removeListener=r.prototype.removeAllListeners=r.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n=this._callbacks["$"+t];if(!n)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var r,o=0;o0&&!this.encoding){var t=this.packetBuffer.shift();this.packet(t)}},r.prototype.cleanup=function(){for(var t=this.subs.length,e=0;e=this._reconnectionAttempts)this.backoff.reset(),this.emitAll("reconnect_failed"),this.reconnecting=!1;else{var e=this.backoff.duration();this.reconnecting=!0;var n=setTimeout((function(){t.skipReconnect||(t.emitAll("reconnect_attempt",t.backoff.attempts),t.emitAll("reconnecting",t.backoff.attempts),t.skipReconnect||(function(){var t=!1;return"object"===("undefined"==typeof uni?"undefined":o(uni))&&uni.getSystemInfo&&(t=!0),t&&!0===getApp().uniAppRunningBackend}()?(t.reconnecting=!1,t.reconnect(),t.emitAll("reconnect_error","Uniapp running backend, skipped reconnect...")):t.open((function(e){e?(t.reconnecting=!1,t.reconnect(),t.emitAll("reconnect_error",e.data)):t.onreconnect()}))))}),e);this.subs.push({destroy:function(){clearTimeout(n)}})}},r.prototype.onreconnect=function(){var t=this.backoff.attempts;this.reconnecting=!1,this.backoff.reset(),this.updateSocketIds(),this.emitAll("reconnect",t)}},function(t,e,n){"use strict";t.exports=n(10),t.exports.parser=n(15)},function(t,e,n){"use strict";function r(t,e){return this instanceof r?(e=e||{},t&&"object"===(void 0===t?"undefined":o(t))&&(e=t,t=null),t?(t=u(t),e.hostname=t.host,e.secure="https"===t.protocol||"wss"===t.protocol,e.port=t.port,t.query&&(e.query=t.query)):e.host&&(e.hostname=u(e.host).host),this.secure=null!=e.secure?e.secure:"undefined"!=typeof location&&"https:"===location.protocol,e.hostname&&!e.port&&(e.port=this.secure?"443":"80"),this.agent=e.agent||!1,this.hostname=e.hostname||("undefined"!=typeof location?location.hostname:"localhost"),this.port=e.port||("undefined"!=typeof location&&location.port?location.port:this.secure?443:80),this.query=e.query||{},"string"==typeof this.query&&(this.query=l.decode(this.query)),this.upgrade=!1!==e.upgrade,this.path=(e.path||"/engine.io").replace(/\/$/,"")+"/",this.forceJSONP=!!e.forceJSONP,this.jsonp=!1!==e.jsonp,this.forceBase64=!!e.forceBase64,this.enablesXDR=!!e.enablesXDR,this.timestampParam=e.timestampParam||"t",this.timestampRequests=e.timestampRequests,this.transports=e.transports||["polling","websocket"],this.transportOptions=e.transportOptions||{},this.readyState="",this.writeBuffer=[],this.prevBufferLen=0,this.policyPort=e.policyPort||843,this.rememberUpgrade=e.rememberUpgrade||!1,this.binaryType=null,this.onlyBinaryUpgrades=e.onlyBinaryUpgrades,this.perMessageDeflate=!1!==e.perMessageDeflate&&(e.perMessageDeflate||{}),!0===this.perMessageDeflate&&(this.perMessageDeflate={}),this.perMessageDeflate&&null==this.perMessageDeflate.threshold&&(this.perMessageDeflate.threshold=1024),this.pfx=e.pfx||null,this.key=e.key||null,this.passphrase=e.passphrase||null,this.cert=e.cert||null,this.ca=e.ca||null,this.ciphers=e.ciphers||null,this.rejectUnauthorized=void 0===e.rejectUnauthorized||e.rejectUnauthorized,this.forceNode=!!e.forceNode,this.isReactNative="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),("undefined"==typeof self||this.isReactNative)&&(e.extraHeaders&&Object.keys(e.extraHeaders).length>0&&(this.extraHeaders=e.extraHeaders),e.localAddress&&(this.localAddress=e.localAddress)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingIntervalTimer=null,this.pingTimeoutTimer=null,void this.open()):new r(t,e)}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=n(11),s=n(6),c=(n(4)("engine.io-client:socket"),n(29)),a=n(15),u=n(3),l=n(22);t.exports=r,r.priorWebsocketSuccess=!1,s(r.prototype),r.protocol=a.protocol,r.Socket=r,r.Transport=n(14),r.transports=n(11),r.parser=n(15),r.prototype.createTransport=function(t){var e=function(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}(this.query);e.EIO=a.protocol,e.transport=t;var n=this.transportOptions[t]||{};return this.id&&(e.sid=this.id),new i[t]({query:e,socket:this,agent:n.agent||this.agent,hostname:n.hostname||this.hostname,port:n.port||this.port,secure:n.secure||this.secure,path:n.path||this.path,forceJSONP:n.forceJSONP||this.forceJSONP,jsonp:n.jsonp||this.jsonp,forceBase64:n.forceBase64||this.forceBase64,enablesXDR:n.enablesXDR||this.enablesXDR,timestampRequests:n.timestampRequests||this.timestampRequests,timestampParam:n.timestampParam||this.timestampParam,policyPort:n.policyPort||this.policyPort,pfx:n.pfx||this.pfx,key:n.key||this.key,passphrase:n.passphrase||this.passphrase,cert:n.cert||this.cert,ca:n.ca||this.ca,ciphers:n.ciphers||this.ciphers,rejectUnauthorized:n.rejectUnauthorized||this.rejectUnauthorized,perMessageDeflate:n.perMessageDeflate||this.perMessageDeflate,extraHeaders:n.extraHeaders||this.extraHeaders,forceNode:n.forceNode||this.forceNode,localAddress:n.localAddress||this.localAddress,requestTimeout:n.requestTimeout||this.requestTimeout,protocols:n.protocols||void 0,isReactNative:this.isReactNative})},r.prototype.open=function(){var t;if(this.rememberUpgrade&&r.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))t="websocket";else{if(0===this.transports.length){var e=this;return void setTimeout((function(){e.emit("error","No transports available")}),0)}t=this.transports[0]}this.readyState="opening";try{t=this.createTransport(t)}catch(t){return this.transports.shift(),void this.open()}t.open(),this.setTransport(t)},r.prototype.setTransport=function(t){var e=this;this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",(function(){e.onDrain()})).on("packet",(function(t){e.onPacket(t)})).on("error",(function(t){e.onError(t)})).on("close",(function(){e.onClose("transport close")}))},r.prototype.probe=function(t){function e(){if(f.onlyBinaryUpgrades){var t=!this.supportsBinary&&f.transport.supportsBinary;l=l||t}l||(u.send([{type:"ping",data:"probe"}]),u.once("packet",(function(t){if(!l)if("pong"===t.type&&"probe"===t.data){if(f.upgrading=!0,f.emit("upgrading",u),!u)return;r.priorWebsocketSuccess="websocket"===u.name,f.transport.pause((function(){l||"closed"!==f.readyState&&(a(),f.setTransport(u),u.send([{type:"upgrade"}]),f.emit("upgrade",u),u=null,f.upgrading=!1,f.flush())}))}else{var e=new Error("probe error");e.transport=u.name,f.emit("upgradeError",e)}})))}function n(){l||(l=!0,a(),u.close(),u=null)}function o(t){var e=new Error("probe error: "+t);e.transport=u.name,n(),f.emit("upgradeError",e)}function i(){o("transport closed")}function s(){o("socket closed")}function c(t){u&&t.name!==u.name&&n()}function a(){u.removeListener("open",e),u.removeListener("error",o),u.removeListener("close",i),f.removeListener("close",s),f.removeListener("upgrading",c)}var u=this.createTransport(t,{probe:1}),l=!1,f=this;r.priorWebsocketSuccess=!1,u.once("open",e),u.once("error",o),u.once("close",i),this.once("close",s),this.once("upgrading",c),u.open()},r.prototype.onOpen=function(){if(this.readyState="open",r.priorWebsocketSuccess="websocket"===this.transport.name,this.emit("open"),this.flush(),"open"===this.readyState&&this.upgrade&&this.transport.pause)for(var t=0,e=this.upgrades.length;t';i=document.createElement(t)}catch(t){(i=document.createElement("iframe")).name=o.iframeId,i.src="javascript:0"}i.id=o.iframeId,o.form.appendChild(i),o.iframe=i}var o=this;if(!this.form){var i,s=document.createElement("form"),c=document.createElement("textarea"),a=this.iframeId="eio_iframe_"+this.index;s.className="socketio",s.style.position="absolute",s.style.top="-1000px",s.style.left="-1000px",s.target=a,s.method="POST",s.setAttribute("accept-charset","utf-8"),c.name="d",s.appendChild(c),document.body.appendChild(s),this.form=s,this.area=c}this.form.action=this.uri(),r(),t=t.replace(l,"\\\n"),this.area.value=t.replace(u,"\\n");try{this.form.submit()}catch(t){}this.iframe.attachEvent?this.iframe.onreadystatechange=function(){"complete"===o.iframe.readyState&&n()}:this.iframe.onload=n}}).call(e,function(){return this}())},function(t,e,n){"use strict";function r(t){var e=t&&t.forceBase64;u&&!e||(this.supportsBinary=!1),o.call(this,t)}var o=n(14),i=n(22),s=n(15),c=n(23),a=n(24);n(4)("engine.io-client:polling"),t.exports=r;var u=null!=new(n(25))({xdomain:!1}).responseType;c(r,o),r.prototype.name="polling",r.prototype.doOpen=function(){this.poll()},r.prototype.pause=function(t){function e(){n.readyState="paused",t()}var n=this;if(this.readyState="pausing",this.polling||!this.writable){var r=0;this.polling&&(r++,this.once("pollComplete",(function(){--r||e()}))),this.writable||(r++,this.once("drain",(function(){--r||e()})))}else e()},r.prototype.poll=function(){this.polling=!0,this.doPoll(),this.emit("poll")},r.prototype.onData=function(t){var e=this;s.decodePayload(t,this.socket.binaryType,(function(t,n,r){return"opening"===e.readyState&&e.onOpen(),"close"===t.type?(e.onClose(),!1):void e.onPacket(t)})),"closed"!==this.readyState&&(this.polling=!1,this.emit("pollComplete"),"open"===this.readyState&&this.poll())},r.prototype.doClose=function(){function t(){e.write([{type:"close"}])}var e=this;"open"===this.readyState?t():this.once("open",t)},r.prototype.write=function(t){var e=this;this.writable=!1;var n=function(){e.writable=!0,e.emit("drain")};s.encodePayload(t,this.supportsBinary,(function(t){e.doWrite(t,n)}))},r.prototype.uri=function(){var t=this.query||{},e=this.secure?"https":"http",n="";return!1!==this.timestampRequests&&(t[this.timestampParam]=a()),this.supportsBinary||t.sid||(t.b64=1),t=i.encode(t),this.port&&("https"===e&&443!==Number(this.port)||"http"===e&&80!==Number(this.port))&&(n=":"+this.port),t.length&&(t="?"+t),e+"://"+(-1!==this.hostname.indexOf(":")?"["+this.hostname+"]":this.hostname)+n+this.path+t}},function(t,e,n){"use strict";function r(t){this.path=t.path,this.hostname=t.hostname,this.port=t.port,this.secure=t.secure,this.query=t.query,this.timestampParam=t.timestampParam,this.timestampRequests=t.timestampRequests,this.readyState="",this.agent=t.agent||!1,this.socket=t.socket,this.enablesXDR=t.enablesXDR,this.pfx=t.pfx,this.key=t.key,this.passphrase=t.passphrase,this.cert=t.cert,this.ca=t.ca,this.ciphers=t.ciphers,this.rejectUnauthorized=t.rejectUnauthorized,this.forceNode=t.forceNode,this.isReactNative=t.isReactNative,this.extraHeaders=t.extraHeaders,this.localAddress=t.localAddress}var o=n(15),i=n(6);t.exports=r,i(r.prototype),r.prototype.onError=function(t,e){var n=new Error(t);return n.type="TransportError",n.description=e,this.emit("error",n),this},r.prototype.open=function(){return"closed"!==this.readyState&&""!==this.readyState||(this.readyState="opening",this.doOpen()),this},r.prototype.close=function(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this},r.prototype.send=function(t){if("open"!==this.readyState)throw new Error("Transport not open");this.write(t)},r.prototype.onOpen=function(){this.readyState="open",this.writable=!0,this.emit("open")},r.prototype.onData=function(t){var e=o.decodePacket(t,this.socket.binaryType);this.onPacket(e)},r.prototype.onPacket=function(t){this.emit("packet",t)},r.prototype.onClose=function(){this.readyState="closed",this.emit("close")}},function(t,e,n){"use strict";function r(t,e,n){for(var r=new Array(t.length),o=s(t.length,n),i=function(t,n,o){e(n,(function(e,n){r[t]=n,o(e,r)}))},c=0;c1?{type:u[r],data:t.substring(1)}:{type:u[r]}:l}r=new Uint8Array(t)[0];var o=sliceBuffer(t,1);return f&&"blob"===e&&(o=new f([o])),{type:u[r],data:o}},e.encodePayload=function(t,n,o){"function"==typeof n&&(o=n,n=null);var s=i(t);return t.length?void r(t,(function(t,r){e.encodePacket(t,!!s&&n,!0,(function(t){r(null,function(t){return t.length+":"+t}(t))}))}),(function(t,e){return o(e.join(""))})):o("0:")},e.decodePayload=function(t,n,r){var o;if("function"==typeof n&&(r=n,n=null),""===t)return r(l,0,1);for(var i,s,c="",a=0,u=t.length;a=55296&&e<=56319&&o=55296&&t<=57343){if(e)throw Error("Lone surrogate U+"+t.toString(16).toUpperCase()+" is not a scalar value");return!1}return!0}function o(t,e){return f(t>>e&63|128)}function i(t,e){if(0==(4294967168&t))return f(t);var n="";return 0==(4294965248&t)?n=f(t>>6&31|192):0==(4294901760&t)?(r(t,e)||(t=65533),n=f(t>>12&15|224),n+=o(t,6)):0==(4292870144&t)&&(n=f(t>>18&7|240),n+=o(t,12),n+=o(t,6)),n+f(63&t|128)}function s(){if(l>=u)throw Error("Invalid byte index");var t=255&a[l];if(l++,128==(192&t))return 63&t;throw Error("Invalid continuation byte")}function c(t){var e,n;if(l>u)throw Error("Invalid byte index");if(l==u)return!1;if(e=255&a[l],l++,0==(128&e))return e;if(192==(224&e)){if((n=(31&e)<<6|s())>=128)return n;throw Error("Invalid continuation byte")}if(224==(240&e)){if((n=(15&e)<<12|s()<<6|s())>=2048)return r(n,t)?n:65533;throw Error("Invalid continuation byte")}if(240==(248&e)&&(n=(7&e)<<18|s()<<12|s()<<6|s())>=65536&&n<=1114111)return n;throw Error("Invalid UTF-8 detected")}/*! https://mths.be/utf8js v2.1.2 by @mathias */ var a,u,l,f=String.fromCharCode;t.exports={version:"2.1.2",encode:function(t,e){for(var r=!1!==(e=e||{}).strict,o=n(t),s=o.length,c=-1,a="";++c65535&&(o+=f((e-=65536)>>>10&1023|55296),e=56320|1023&e),o+=f(e);return o}(i)}}},function(t,e){function n(t){return t.map((function(t){if(t.buffer instanceof ArrayBuffer){var e=t.buffer;if(t.byteLength!==e.byteLength){var n=new Uint8Array(t.byteLength);n.set(new Uint8Array(e,t.byteOffset,t.byteLength)),e=n.buffer}return e}return t}))}function r(t,e){e=e||{};var r=new i;return n(t).forEach((function(t){r.append(t)})),e.type?r.getBlob(e.type):r.getBlob()}function o(t,e){return new Blob(n(t),e||{})}var i=void 0!==i?i:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:"undefined"!=typeof MSBlobBuilder?MSBlobBuilder:"undefined"!=typeof MozBlobBuilder&&MozBlobBuilder,s=function(){try{return 2===new Blob(["hi"]).size}catch(t){return!1}}(),c=s&&function(){try{return 2===new Blob([new Uint8Array([1,2])]).size}catch(t){return!1}}(),a=i&&i.prototype.append&&i.prototype.getBlob;"undefined"!=typeof Blob&&(r.prototype=Blob.prototype,o.prototype=Blob.prototype),t.exports=s?c?Blob:o:a?r:void 0},function(t,e){e.encode=function(t){var e="";for(var n in t)t.hasOwnProperty(n)&&(e.length&&(e+="&"),e+=encodeURIComponent(n)+"="+encodeURIComponent(t[n]));return e},e.decode=function(t){for(var e={},n=t.split("&"),r=0,o=n.length;r0);return e}function r(){var t=n(+new Date);return t!==o?(a=0,o=t):t+"."+n(a++)}for(var o,i="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),s=64,c={},a=0,u=0;u0&&t.jitter<=1?t.jitter:0,this.attempts=0}t.exports=n,n.prototype.duration=function(){var t=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),n=Math.floor(e*this.jitter*t);t=0==(1&Math.floor(10*e))?t-n:t+n}return 0|Math.min(t,this.max)},n.prototype.reset=function(){this.attempts=0},n.prototype.setMin=function(t){this.ms=t},n.prototype.setMax=function(t){this.max=t},n.prototype.setJitter=function(t){this.jitter=t}},function(t,e,n){var r,o,i=n(36),s=n(37),c=0,a=0;t.exports=function(t,e,n){var u=e&&n||0,l=e||[],f=(t=t||{}).node||r,p=void 0!==t.clockseq?t.clockseq:o;if(null==f||null==p){var h=i();null==f&&(f=r=[1|h[0],h[1],h[2],h[3],h[4],h[5]]),null==p&&(p=o=16383&(h[6]<<8|h[7]))}var d=void 0!==t.msecs?t.msecs:(new Date).getTime(),y=void 0!==t.nsecs?t.nsecs:a+1,v=d-c+(y-a)/1e4;if(v<0&&void 0===t.clockseq&&(p=p+1&16383),(v<0||d>c)&&void 0===t.nsecs&&(y=0),y>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");c=d,a=y,o=p;var m=(1e4*(268435455&(d+=122192928e5))+y)%4294967296;l[u++]=m>>>24&255,l[u++]=m>>>16&255,l[u++]=m>>>8&255,l[u++]=255&m;var g=d/4294967296*1e4&268435455;l[u++]=g>>>8&255,l[u++]=255&g,l[u++]=g>>>24&15|16,l[u++]=g>>>16&255,l[u++]=p>>>8|128,l[u++]=255&p;for(var b=0;b<6;++b)l[u+b]=f[b];return e||s(l)}},function(t,e){var n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(n){var r=new Uint8Array(16);t.exports=function(){return n(r),r}}else{var o=new Array(16);t.exports=function(){for(var t,e=0;e<16;e++)0==(3&e)&&(t=4294967296*Math.random()),o[e]=t>>>((3&e)<<3)&255;return o}}},function(t,e){for(var n=[],r=0;r<256;++r)n[r]=(r+256).toString(16).substr(1);t.exports=function(t,e){var r=e||0,o=n;return[o[t[r++]],o[t[r++]],o[t[r++]],o[t[r++]],"-",o[t[r++]],o[t[r++]],"-",o[t[r++]],o[t[r++]],"-",o[t[r++]],o[t[r++]],"-",o[t[r++]],o[t[r++]],o[t[r++]],o[t[r++]],o[t[r++]],o[t[r++]]].join("")}}])},function(t,e,n){var r=n(2);t.exports=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=r(t)););return t}},function(t,e){function n(e,r){return t.exports=n=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},n(e,r)}t.exports=n},function(t,e){t.exports=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}},function(t,e,n){"use strict";n.r(e);var r=n(0),o=n.n(r),i=n(1),s=n.n(i),c=n(7),a=n.n(c);function u(t){return"string"==typeof t||"number"==typeof t||"symbol"===a()(t)||"boolean"==typeof t}function l(t){return null!=t}function f(t){return null!==t&&"object"===a()(t)}function p(t){return"string"==typeof t||"number"==typeof t}function h(t){return"string"==typeof t}function d(t){return"number"==typeof t}function y(t){return Array.isArray(t)?0==t.length:f(t)?!l(t):!d(t)&&(h(t)?""==t.trim():void 0)}var v,m="undefined"!=typeof window&&window.navigator.userAgent.toLowerCase(),g=(m&&/msie|trident/.test(m),m&&m.indexOf("msie 9.0"),m&&m.indexOf("edge/")>0);m&&/chrome\/\d+/.test(m),m&&m.match(/firefox\/(\d+)/),"undefined"!=typeof Promise&&("function"==typeof(v=Promise)&&/native code/.test(v.toString()));function b(t,e){if(h(t))try{var n=t.split(e);return n[n.length-1]}catch(t){throw Error(t)}}var k="group",w="private",S="system",E=n(8),R=n.n(E);var P=new(function(){function t(){o()(this,t)}return s()(t,[{key:"connect",value:function(t){return new Promise((function(e,n){if(!l(R.a))throw Error("GoEasy is not define.");t=function(t){if(!f(t))throw Error("TypeError: user require an object.");if(!p(t.id))throw Error("TypeError: id require number or string.");d(t.id)&&(t.id=t.id.toString());if(t.data=l(t.data)?t.data:{},(f(t.data)?JSON.stringify(t.data).length:t.data.length)>300)throw Error("user.data-length limit 300 byte");return t}(t),se.userId=t.id,se.goEasy=new R.a({appkey:se.appKey,host:se.host,userId:t.id,otp:t.otp,type:"im",imVersion:se.version,userData:JSON.stringify(t.data),onConnected:function(){se.im._event.notify(ue.CONNECTED),e()},onDisconnected:function(){se.im._event.notify(ue.DISCONNECT),n({code:400,content:"GoEasy disconnected."})},onConnectFailed:function(t){n(t||{code:408,content:"Failed to connect GoEasy"})}})}))}},{key:"disconnect",value:function(){return new Promise((function(t,e){ae.validateGoEasy();try{se.goEasy.disconnect(),t()}catch(t){e(t||{code:408,content:"disconnect failed"})}}))}}]),t}());function x(t){if(Array.isArray(t)&&0!=t.length){for(var e=0,n=t.length;e30&&(t.limit=30),ae.validateGoEasy(),se.goEasy.tryEmit("imHistory",t,(function(t){n(t||{code:408,content:"Failed to query message"})}),(function(t){if(200==t.code){var r=[];t&&t.content&&t.content.map((function(t){var e=Object.create(null);e.timestamp=t.ts,e.senderId=t.s,e.type=t.mt,e.payload=JSON.parse(t.p),r.push(e)})),e({code:200,content:r})}else n(t)}))}))}}]),t}()),C=function(){function t(){o()(this,t),this.on()}return s()(t,[{key:"on",value:function(){var t=this;se.goEasy.socket.on("imMessage",(function(e){t.newMessageReceived(e)}))}},{key:"newMessageReceived",value:function(t){var e=null;if("string"==typeof t&&(e=JSON.parse(t)),!se.goEasy.receivedGuids.unshiftGuid(e.i)){e.a&&se.goEasy.socket.emit("imAck",{publishGuid:e.i});var n="";switch(e.t){case w:n=ue.PRIVATE_MESSAGE_RECEIVED;break;case k:n=ue.GROUP_MESSAGE_RECEIVED;break;case S:n=ue.SYSTEM_MESSAGE_RECEIVED;break;default:n=""}var r=N(e);se.im._conversations.updateByNewMessage(e),se.im._event.notify(n,r)}}}]),t}();function N(t){if(!l(t))return null;try{var e=Object.create(null);return e.type=t.mt,e.timestamp=t.ts,e.senderId=t.s,e.payload=JSON.parse(t.p),e.messageId=t.i,t.t==k?e.groupId=t.r:e.receiverId=t.r,e}catch(t){return t}}var A=function(){function t(e){o()(this,t),this.type="",this.timestamp=null,this.senderId=null,this.payload=null,this.messageId=null,this.validate(e),this.setType(),this.setPayload(e),this.setSenderId(),this.setMessageId()}return s()(t,[{key:"validate",value:function(t){if(!f(t))throw Error("it is an empty message.")}},{key:"setType",value:function(){this.type="message"}},{key:"setPayload",value:function(t){this.payload=Object.create(null)}},{key:"setSenderId",value:function(){if(!se.userId)throw Error("please call connect() first.");this.senderId=se.userId}},{key:"setMessageId",value:function(){this.messageId=ce.uuid()}}]),t}(),M=n(5),T=n.n(M),D=n(3),j=n.n(D),B=n(4),F=n.n(B),U=n(2),q=n.n(U),z={default:"default",text:"text",image:"image",video:"video",audio:"audio",emoji:"emoji",file:"file",customized:"customized"};function L(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=q()(t);if(e){var o=q()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return F()(this,n)}}var G=function(t){j()(n,t);var e=L(n);function n(t){return o()(this,n),e.call(this,t)}return s()(n,[{key:"validate",value:function(t){if(y(t.text)||""==t.text.trim())throw Error("text is empty")}},{key:"setType",value:function(){this.type=z.text}},{key:"setPayload",value:function(t){T()(q()(n.prototype),"setPayload",this).call(this,t),this.payload.text=t.text}}]),n}(A),V=function(){function t(e){o()(this,t),this.mt=null,this.to=null,this.p=null,this.t=null,this.guid=null,this.validate(e.to,e.message),this.mt=e.message.type,this.to=e.to,this.t=e.conversationType,this.guid=e.message.messageId,this.p=e.message.payload}return s()(t,[{key:"validate",value:function(t,e){if(!(e instanceof A))throw Error("createMessage first.");if(y(t))throw Error("userId is empty.");if(!p(t))throw Error("userId should be a string or number.");if(se.userId==t)throw Error("userId can not be the same as your id.");if(e.type==z.text){if(!(e instanceof G))throw Error("it is not textMessage");if((f(e.payload)?JSON.stringify(e.payload).length:e.payload.length)>3072)throw Error("message-length limit 3kb")}}}]),t}(),H=function t(e){o()(this,t)},J=function(){function t(){o()(this,t)}return s()(t,[{key:"build",value:function(){throw Error("Not implementation yet.")}}]),t}();function W(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=q()(t);if(e){var o=q()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return F()(this,n)}}var X=new(function(t){j()(n,t);var e=W(n);function n(){return o()(this,n),e.call(this)}return s()(n,[{key:"build",value:function(t){return new Promise((function(e,n){try{new H;e(t.payload)}catch(t){n(t)}}))}}]),n}(J)),K=function(){function t(){o()(this,t)}return s()(t,null,[{key:"resolve",value:function(){return function(){try{return!!(l(uni)&&f(uni)&&uni.getSystemInfo)}catch(t){return!1}}()?"uniApp":function(){try{return!!(l(wx)&&f(wx)&&wx.getLocation)&&("function"!=typeof WebSocket||"function"!=typeof XMLHttpRequest)}catch(t){return!1}}()?"wx":"html"}}]),t}(),$=n(6),Y=n.n($),Q=function(){function t(){o()(this,t)}return s()(t,[{key:"upload",value:function(t){throw Error("Not implementation yet.")}}]),t}();function Z(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function tt(t){for(var e=1;e=200&&o.status<300||304==o.status?n({code:o.status,content:at(at({},t.payload),{},{message:o.responseText})}):r({code:o.status,content:o.responseText}))}}))}catch(t){return new Promise((function(e,n){n({code:500,content:t})}))}}}]),n}(Q)),ft=new(function(){function t(){o()(this,t),this.uploader={uniApp:nt,wx:st,html:lt}}return s()(t,[{key:"upload",value:function(t,e){var n=K.resolve();return this.uploader[n].upload(t,e)}}]),t}()),pt=function(){function t(){o()(this,t)}return s()(t,null,[{key:"resolver",value:function(t){return new Promise((function(e,n){se.goEasy.tryEmit("uploadToken",{filename:t},(function(t){n(t)}),(function(t){200==t.code?e(t):n(t)}))}))}}]),t}(),ht="ALI",dt=function t(e,n,r,i,s){o()(this,t),this.host="",this.headers={},this.parameters={},this.file={},this.payload={},this.host=e,this.headers=n,this.parameters=r,this.file=i,this.payload=s},yt=function(){function t(){o()(this,t)}return s()(t,[{key:"build",value:function(t,e){}},{key:"newFileName",value:function(t){return t&&t.newFilename||""}}]),t}();function vt(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=q()(t);if(e){var o=q()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return F()(this,n)}}var mt=new(function(t){j()(n,t);var e=vt(n);function n(){return o()(this,n),e.call(this)}return s()(n,[{key:"url",value:function(t){return t.host+"/"+t.dir+"/"+this.newFileName(t)}},{key:"build",value:function(t,e){var n={key:t.dir+"/"+this.newFileName(t),OSSAccessKeyId:t.accessKeyId,policy:t.policy,signature:t.signature,success_action_status:"200",fileRes:e},r={newFileName:this.newFileName(t),url:this.url(t)};return new dt(t.host,null,n,e,r)}}]),n}(yt));function gt(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=q()(t);if(e){var o=q()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return F()(this,n)}}var bt=new(function(t){j()(n,t);var e=gt(n);function n(){return o()(this,n),e.call(this)}return s()(n,[{key:"url",value:function(t){return t.downloadUrl}},{key:"build",value:function(t,e){var n={key:this.newFileName(t),token:t.token,file:e},r={newFileName:this.newFileName(t),url:this.url(t)};return new dt(t.host,null,n,e,r)}}]),n}(yt)),kt=function t(e){return o()(this,t),e==ht?mt:bt},wt=new(function(){function t(){o()(this,t)}return s()(t,[{key:"build",value:function(t,e){return new Promise((function(n,r){pt.resolver(e).then((function(e){var r=e.content;n(new kt(r.vendor).build(r,t))})).catch((function(t){r(t)}))}))}}]),t}()),St=new(function(){function t(){o()(this,t),this.requestBuilder=wt,this.fileUploader=ft}return s()(t,[{key:"upload",value:function(t,e,n){var r=this;return new Promise((function(o,i){r.requestBuilder.build(t,e).then((function(t){o(r.doUpload(t,n))})).catch((function(t){i(t)}))}))}},{key:"customizeUpload",value:function(t,e){this.doUpload(t,e)}},{key:"doUpload",value:function(t,e){return this.fileUploader.upload(t,e)}}]),t}());function Et(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=q()(t);if(e){var o=q()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return F()(this,n)}}var Rt=function(t){j()(n,t);var e=Et(n);function n(){return o()(this,n),e.call(this)}return s()(n,[{key:"build",value:function(t){var e=this;return new Promise((function(n,r){var o=new H;e.upload(t).then((function(e){var r=e.content,i=void 0===r?{}:r;(o=t.payload).url=i.url,o.name=i.newFileName,n(o)})).catch((function(t){r(t)}))}))}},{key:"upload",value:function(t){var e=t.type==z.video?t.payload.video.name:t.payload.name;return St.upload(t.file,e,t.onProgress)}}]),n}(J),Pt=new Rt;function xt(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=q()(t);if(e){var o=q()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return F()(this,n)}}var Ot=new(function(t){j()(n,t);var e=xt(n);function n(){return o()(this,n),e.call(this)}return s()(n,[{key:"build",value:function(t){var e=this;return new Promise((function(n,r){var o=new H;e.upload(t).then((function(e){e.content;o=t.payload;var r="?x-oss-process=video/snapshot,t_0000,f_jpg,w_"+t.payload.video.width+",m_fast,ar_auto";o.video.url=e.content.url,o.thumbnail.url=e.content.url+r,o.video.name=e.content.newFileName,n(o)})).catch((function(t){r(t)}))}))}}]),n}(Rt)),_t=function t(e){return o()(this,t),e==z.text?X:e==z.video?Ot:Pt},It=new(function(){function t(){o()(this,t)}return s()(t,[{key:"build",value:function(t,e,n){return new Promise((function(r,o){var i=new V({to:t,message:e,conversationType:n}),s=e.type;new _t(s).build(e).then((function(t){i.p=JSON.stringify(t),r(i)})).catch((function(t){o(t)}))}))}}]),t}()),Ct=new(function(){function t(){o()(this,t)}return s()(t,[{key:"send",value:function(t,e,n){return ae.validateGoEasy(),new Promise((function(r,o){It.build(t,e,n).then((function(t){se.goEasy.tryEmit("publishIM",t,(function(){o({code:408,content:"Failed to send private message."})}),(function(t){200==t.resultCode?r({code:200,content:t.content}):o(t)}))})).catch((function(t){o({code:t.code||400,content:t.content||t})}))}))}}]),t}()),Nt=function(){function t(){o()(this,t),this.type="",this.lastMessage=null,this.unread=0,this.lastConsumedTimestamp=0}return s()(t,null,[{key:"buildByNewMessage",value:function(e){var n=new t;return n.type=e.t,n.lastMessage=N(e),n.lastConsumedTimestamp=n.lastMessage.timestamp-1,n.unread=1,e.t==k?n.groupId=e.r:se.userId==e.r?n.userId=e.s:n.userId=e.r,n}},{key:"buildByConversations",value:function(e){var n=new t;return n.type=e.t,n.lastMessage=N(e.lmsg),n.unread=0,n.lastConsumedTimestamp=e.lcts,e.t==k?n.groupId=e.g:n.userId=e.uid,n}}]),t}(),At=function(){function t(){o()(this,t),this.list=[],this.synchronized=!1}return s()(t,[{key:"onUpdated",value:function(){var t=this;this.latestConversations().then((function(){se.im._event.notify(ue.CONVERSATIONS_UPDATED,{unreadTotal:t.getUnreadTotal(t.list),conversations:t.list})}))}},{key:"updateByNewMessage",value:function(t){var e,n=this,r=this.list.findIndex((function(e){return t.t==k&&t.r==e.groupId||t.t==w&&n.getFriendId(t)==e.userId}));r>-1?((e=this.list[r]).unread+=1,this.list.splice(r,1),this.applyLastMessage(e,t)):e=Nt.buildByNewMessage(t),this.insertOne(e),this.onUpdated()}},{key:"imLastConversations",value:function(){return new Promise((function(t,e){ae.validateGoEasy(),se.goEasy.tryEmit("imLastConversations",{},(function(t){e(t)}),(function(n){200==n.code?t(n.content):e(n)}))}))}},{key:"loadServerConversations",value:function(){var t=this;return new Promise((function(e,n){t.imLastConversations().then((function(n){for(var r=function(e,r){var o=t.list.find((function(t){return n[e].t==k&&n[e].g==t.groupId||n[e].t==w&&n[e].uid==t.userId}));l(o)||(o=Nt.buildByConversations(n[e]),t.insertOne(o))},o=0,i=n.length;or.lastMessage.timestamp)return Promise.reject({code:400,content:"Can not set a nonexistent timestamp"});var o={groupId:t,lastTimestamp:e,lastConsumedTimestamp:r.lastConsumedTimestamp},i=this.markAsRead(o,"markGroupMessageAsRead");return new Promise((function(t,o){i.then((function(o){n.resetConversation(r,e,o.content.amount),t({code:200,content:"ok"})})).catch((function(t){o({code:500,content:t})}))}))}},{key:"markAsRead",value:function(t,e){return new Promise((function(n,r){ae.validateGoEasy(),se.goEasy.tryEmit(e,t,(function(t){r(t||{code:408,content:"Failed to query message"})}),(function(t){200==t.code?n(t):r(t)}))}))}},{key:"resetConversation",value:function(t,e,n){t.unread-=n,t.lastConsumedTimestamp=e,this.onUpdated()}},{key:"getUnreadTotal",value:function(t){for(var e=0,n=0,r=t.length;n1;){e=Math.floor((r+o)/2),n=this.list[e];var i=this.compares(t,n);if(0==i)return e;i>0?r=e:o=e}return 0==r&&this.compares(this.list[0],t)>0?-1:r}},{key:"compares",value:function(t,e){var n=e.lastMessage.timestamp-t.lastMessage.timestamp;return n>0?1:0==n?0:-1}},{key:"applyLastMessage",value:function(t,e){t.lastMessage.timestamp31457280)throw Error("message-length limit 30mib")}},{key:"setPayload",value:function(t){T()(q()(n.prototype),"setPayload",this).call(this,t),this.payload.contentType=t.file.type,this.payload.name=t.file.name,this.payload.size=t.file.size;var e=(window.URL||window.webkitURL).createObjectURL(t.file);this.payload.url=e}}]),n}(Tt);function Zt(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=q()(t);if(e){var o=q()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return F()(this,n)}}var te=function(t){j()(n,t);var e=Zt(n);function n(t){return o()(this,n),e.call(this,t)}return s()(n,[{key:"validate",value:function(t){T()(q()(n.prototype),"validate",this).call(this,t);var e=["gif","jpg","png","jpeg"];if(!e.find((function(e){return e==t.file.type.split("/")[1].toLowerCase()})))throw Error("Only "+e.join(",")+" is supported image.")}},{key:"setType",value:function(){this.type=z.image}},{key:"setPayload",value:function(t){var e=this;T()(q()(n.prototype),"setPayload",this).call(this,t);var r=window.URL||window.webkitURL,o=new Image;o.src=r.createObjectURL(t.file),o.onload=function(){e.payload.width=o.width,e.payload.height=o.height,r.revokeObjectURL(o.src)}}}]),n}(Qt);function ee(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=q()(t);if(e){var o=q()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return F()(this,n)}}var ne=function(t){j()(n,t);var e=ee(n);function n(t){return o()(this,n),e.call(this,t)}return s()(n,[{key:"validate",value:function(t){T()(q()(n.prototype),"validate",this).call(this,t);var e=["mp3","ogg","wav","wma","ape","acc","mpeg"];if(!e.find((function(e){return e==t.file.type.split("/")[1].toLowerCase()})))throw Error("Only "+e.join(",")+" is supported audio.")}},{key:"setType",value:function(){this.type=z.audio}},{key:"setPayload",value:function(t){T()(q()(n.prototype),"setPayload",this).call(this,t);var e=this,r=window.URL||window.webkitURL,o=document.createElement("audio");o.src=r.createObjectURL(t.file),o.onloadedmetadata=function(){e.payload.duration=o.duration,r.revokeObjectURL(o.src)}}}]),n}(Qt);function re(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=q()(t);if(e){var o=q()(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return F()(this,n)}}var oe=function(t){j()(n,t);var e=re(n);function n(t){return o()(this,n),e.call(this,t)}return s()(n,[{key:"validate",value:function(t){T()(q()(n.prototype),"validate",this).call(this,t);var e=["avi","mov","rmvb","rm","flv","mp4","3gp","quicktime"];if(!e.find((function(e){return e==t.file.type.split("/")[1].toLowerCase()})))throw Error("Only "+e.join(",")+" is supported video.")}},{key:"setType",value:function(){this.type=z.video}},{key:"setPayload",value:function(t){this.payload=Object.create(null);var e=Object.create(null),n=Object.create(null);e.contentType=t.file.type,e.size=t.file.size,e.duration=0,e.url=n.url="",e.name=t.file.name,e.width=n.width=0,e.height=n.height=0,n.contentType="image/jpg",this.payload.video=e,this.payload.thumbnail=n;var r=this,o=window.URL||window.webkitURL,i=document.createElement("video"),s=o.createObjectURL(t.file);i.src=s,i.onloadedmetadata=function(){r.payload.video.duration=i.duration,r.payload.video.width=r.payload.thumbnail.width=i.videoWidth,r.payload.video.height=r.payload.thumbnail.height=i.videoHeight,r.payload.video.url=s,r.payload.thumbnail.url=function(t){var e=document.createElement("canvas");return e.width=t.videoWidth,e.height=t.videoHeight,e.getContext("2d").drawImage(t,0,0,e.width,e.height),e.toDataURL("image/png")}(i),o.revokeObjectURL(i.src)}}}]),n}(Qt);var ie=new(function(){function t(){o()(this,t),this.messageTypes={wx:{image:Ft,file:jt,audio:qt,video:Lt,text:G},uniApp:{image:$t,file:Vt,audio:Jt,video:Xt,text:G},html:{image:te,file:Qt,audio:ne,video:oe,text:G}}}return s()(t,[{key:"create",value:function(t,e){var n=K.resolve();return new this.messageTypes[n][t](e)}}]),t}()),se=function(){function t(){if(o()(this,t),this._event=le,this._connection=P,this._conversations=null,this._receive=null,this._messageSender=Ct,this._history=I,this._presence=_,!(this instanceof t&&t.appKey&&t.host))throw Error("please call getInstance to structure instance.")}return s()(t,[{key:"on",value:function(t,e){this._event.on(t,e)}},{key:"connect",value:function(t){var e=this,n=this._connection.connect(t);return new Promise((function(t,r){n.then((function(){e._conversations=new At,e._receive=new C,t()})).catch((function(t){r(t)}))}))}},{key:"disconnect",value:function(){return this._connection.disconnect()}},{key:"createTextMessage",value:function(t){return ie.create(z.text,t)}},{key:"createImageMessage",value:function(t){return ie.create(z.image,t)}},{key:"createFileMessage",value:function(t){return ie.create(z.file,t)}},{key:"createAudioMessage",value:function(t){return ie.create(z.audio,t)}},{key:"createVideoMessage",value:function(t){return ie.create(z.video,t)}},{key:"latestConversations",value:function(){return this._conversations?this._conversations.latestConversations():Promise.reject({code:500,content:"Please connect GoEasyIM first."})}},{key:"groupMarkAsRead",value:function(t,e){return this._conversations.groupMarkAsRead(t,e)}},{key:"privateMarkAsRead",value:function(t,e){return this._conversations.privateMarkAsRead(t,e)}},{key:"history",value:function(t){return this._history.history(t)}},{key:"upload",value:function(t,e,n){return St.upload(t,e,n)}},{key:"sendSystemMessage",value:function(t,e){return this._messageSender.send(t,e,S)}},{key:"sendPrivateMessage",value:function(t,e){return this._messageSender.send(t,e,w)}},{key:"subscribeUserPresence",value:function(t){return this._presence.subscribePresence(t,w)}},{key:"unsubscribeUserPresence",value:function(t){return this._presence.unsubscribePresence(t)}},{key:"hereNow",value:function(t){return this._presence.hereNow(t,w)}},{key:"sendGroupMessage",value:function(t,e){return this._messageSender.send(t,e,k)}},{key:"subscribeGroup",value:function(t){return this._presence.subscribe(t)}},{key:"unsubscribeGroup",value:function(t){return this._presence.unSubscribe(t)}},{key:"subscribeGroupPresence",value:function(t){return this._presence.subscribePresence(t,k)}},{key:"unsubscribeGroupPresence",value:function(t){return this._presence.unsubscribePresence(t)}},{key:"groupHereNow",value:function(t){return this._presence.hereNow({groupId:t},k)}},{key:"groupOnlineCount",value:function(t){return this._presence.onlineCount(t)}}],[{key:"getInstance",value:function(e){var n="";if(!f(e))throw n="options is require an object.",Error(n);if(!u(e.appkey)||0==e.appkey.length)throw n="Invalid options: 'appkey' is empty.",Error(n);if(!u(e.appkey)||0==e.appkey.length)throw n="Invalid options:'host' is empty.",Error(n);return null==this.im&&(this.appKey=e.appkey,this.host=e.host,this.im=new t),this.im}}]),t}();se.version=null,se.goEasy=null,se.im=null,se.appKey=void 0,se.host=void 0,se.userId=void 0;var ce=function(){function t(){o()(this,t)}return s()(t,null,[{key:"uuid",value:function(){return se.goEasy.uuid_goeasy()}}]),t}(),ae=new(function(){function t(){o()(this,t)}return s()(t,[{key:"validateGoEasy",value:function(){if(!l(se.goEasy))throw Error("please call connect() first.")}}]),t}()),ue=Object.create(null);ue.PRIVATE_MESSAGE_RECEIVED="PRIVATE_MESSAGE_RECEIVED",ue.GROUP_MESSAGE_RECEIVED="GROUP_MESSAGE_RECEIVED",ue.SYSTEM_MESSAGE_RECEIVED="SYSTEM_MESSAGE_RECEIVED",ue.CONVERSATIONS_UPDATED="CONVERSATIONS_UPDATED",ue.CONNECTED="CONNECTED",ue.DISCONNECTED="DISCONNECTED",ue.USER_PRESENCE="USER_PRESENCE",ue.GROUP_PRESENCE="GROUP_PRESENCE";var le=new(function(){function t(){o()(this,t),this.subs=null,this.subs=Object.create(null)}return s()(t,[{key:"on",value:function(t,e){if(!h(t))throw Error("eventType require a string.");if(!l(ue[t]))throw Error("event not found.");if(!function(t){return"function"==typeof t}(e))throw Error("event require a callback.");this.subs[t]=e}},{key:"notify",value:function(t,e){var n=this.subs[t];n&&n(e)}}]),t}()),fe=null,pe=function(){function t(){if(o()(this,t),!(this instanceof t&&se.appKey&&se.host))throw Error("please call getInstance to structure instance.")}return s()(t,[{key:"on",value:function(t,e){fe.on(t,e)}},{key:"connect",value:function(t){return fe.connect(t)}},{key:"disconnect",value:function(){return fe.disconnect()}},{key:"createTextMessage",value:function(t){return fe.createTextMessage(t)}},{key:"createImageMessage",value:function(t){return fe.createImageMessage(t)}},{key:"createFileMessage",value:function(t){return fe.createFileMessage(t)}},{key:"createAudioMessage",value:function(t){return fe.createAudioMessage(t)}},{key:"createVideoMessage",value:function(t){return fe.createVideoMessage(t)}},{key:"latestConversations",value:function(){return fe.latestConversations()}},{key:"history",value:function(t){return fe.history(t)}},{key:"upload",value:function(t,e,n){return fe.upload(t,e,n)}},{key:"sendSystemMessage",value:function(t,e){return fe.sendSystemMessage(t,e)}},{key:"sendPrivateMessage",value:function(t,e){return fe.sendPrivateMessage(t,e)}},{key:"markGroupMessageAsRead",value:function(t,e){return fe.groupMarkAsRead(t,e)}},{key:"markPrivateMessageAsRead",value:function(t,e){return fe.privateMarkAsRead(t,e)}},{key:"subscribeUserPresence",value:function(t){return fe.subscribeUserPresence(t)}},{key:"unsubscribeUserPresence",value:function(t){return fe.unsubscribeUserPresence(t)}},{key:"hereNow",value:function(t){return fe.hereNow(t)}},{key:"sendGroupMessage",value:function(t,e){return fe.sendGroupMessage(t,e)}},{key:"subscribeGroup",value:function(t){return fe.subscribeGroup(t)}},{key:"unsubscribeGroup",value:function(t){return fe.unsubscribeGroup(t)}},{key:"subscribeGroupPresence",value:function(t){return fe.subscribeGroupPresence(t)}},{key:"unsubscribeGroupPresence",value:function(t){return fe.unsubscribeGroupPresence(t)}},{key:"groupHereNow",value:function(t){return fe.groupHereNow(t)}},{key:"groupOnlineCount",value:function(t){return fe.groupOnlineCount(t)}}],[{key:"getInstance",value:function(e){return null==t.goEasyIM&&(se.version=t.version,fe=se.getInstance(e),this.goEasyIM=new t),this.goEasyIM}}]),t}();pe.goEasyIM=null,pe.EVENT=Object.create(ue),pe.version="1.1.1";e.default=pe}]).default}));