tim-wx.js 345 KB

1
  1. !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).TIM=t()}(this,(function(){var e={SDK_READY:"sdkStateReady",SDK_NOT_READY:"sdkStateNotReady",SDK_DESTROY:"sdkDestroy",MESSAGE_RECEIVED:"onMessageReceived",MESSAGE_REVOKED:"onMessageRevoked",MESSAGE_READ_BY_PEER:"onMessageReadByPeer",CONVERSATION_LIST_UPDATED:"onConversationListUpdated",GROUP_LIST_UPDATED:"onGroupListUpdated",GROUP_SYSTEM_NOTICE_RECEIVED:"receiveGroupSystemNotice",PROFILE_UPDATED:"onProfileUpdated",BLACKLIST_UPDATED:"blacklistUpdated",KICKED_OUT:"kickedOut",ERROR:"error",NET_STATE_CHANGE:"netStateChange"},t={MSG_TEXT:"TIMTextElem",MSG_IMAGE:"TIMImageElem",MSG_SOUND:"TIMSoundElem",MSG_AUDIO:"TIMSoundElem",MSG_FILE:"TIMFileElem",MSG_FACE:"TIMFaceElem",MSG_VIDEO:"TIMVideoFileElem",MSG_GEO:"TIMLocationElem",MSG_GRP_TIP:"TIMGroupTipElem",MSG_GRP_SYS_NOTICE:"TIMGroupSystemNoticeElem",MSG_CUSTOM:"TIMCustomElem",MSG_PRIORITY_HIGH:"High",MSG_PRIORITY_NORMAL:"Normal",MSG_PRIORITY_LOW:"Low",MSG_PRIORITY_LOWEST:"Lowest",CONV_C2C:"C2C",CONV_GROUP:"GROUP",CONV_SYSTEM:"@TIM#SYSTEM",GRP_PRIVATE:"Private",GRP_WORK:"Private",GRP_PUBLIC:"Public",GRP_CHATROOM:"ChatRoom",GRP_MEETING:"ChatRoom",GRP_AVCHATROOM:"AVChatRoom",GRP_MBR_ROLE_OWNER:"Owner",GRP_MBR_ROLE_ADMIN:"Admin",GRP_MBR_ROLE_MEMBER:"Member",GRP_TIP_MBR_JOIN:1,GRP_TIP_MBR_QUIT:2,GRP_TIP_MBR_KICKED_OUT:3,GRP_TIP_MBR_SET_ADMIN:4,GRP_TIP_MBR_CANCELED_ADMIN:5,GRP_TIP_GRP_PROFILE_UPDATED:6,GRP_TIP_MBR_PROFILE_UPDATED:7,MSG_REMIND_ACPT_AND_NOTE:"AcceptAndNotify",MSG_REMIND_ACPT_NOT_NOTE:"AcceptNotNotify",MSG_REMIND_DISCARD:"Discard",GENDER_UNKNOWN:"Gender_Type_Unknown",GENDER_FEMALE:"Gender_Type_Female",GENDER_MALE:"Gender_Type_Male",KICKED_OUT_MULT_ACCOUNT:"multipleAccount",KICKED_OUT_MULT_DEVICE:"multipleDevice",KICKED_OUT_USERSIG_EXPIRED:"userSigExpired",ALLOW_TYPE_ALLOW_ANY:"AllowType_Type_AllowAny",ALLOW_TYPE_NEED_CONFIRM:"AllowType_Type_NeedConfirm",ALLOW_TYPE_DENY_ANY:"AllowType_Type_DenyAny",FORBID_TYPE_NONE:"AdminForbid_Type_None",FORBID_TYPE_SEND_OUT:"AdminForbid_Type_SendOut",JOIN_OPTIONS_FREE_ACCESS:"FreeAccess",JOIN_OPTIONS_NEED_PERMISSION:"NeedPermission",JOIN_OPTIONS_DISABLE_APPLY:"DisableApply",JOIN_STATUS_SUCCESS:"JoinedSuccess",JOIN_STATUS_ALREADY_IN_GROUP:"AlreadyInGroup",JOIN_STATUS_WAIT_APPROVAL:"WaitAdminApproval",GRP_PROFILE_OWNER_ID:"ownerID",GRP_PROFILE_CREATE_TIME:"createTime",GRP_PROFILE_LAST_INFO_TIME:"lastInfoTime",GRP_PROFILE_MEMBER_NUM:"memberNum",GRP_PROFILE_MAX_MEMBER_NUM:"maxMemberNum",GRP_PROFILE_JOIN_OPTION:"joinOption",GRP_PROFILE_INTRODUCTION:"introduction",GRP_PROFILE_NOTIFICATION:"notification",GRP_PROFILE_MUTE_ALL_MBRS:"muteAllMembers",NET_STATE_CONNECTED:"connected",NET_STATE_CONNECTING:"connecting",NET_STATE_DISCONNECTED:"disconnected"};function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function i(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e}function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){s(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expressionzzzzz must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p(e,t)}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function h(){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(e){return!1}}function d(e,t,n){return(d=h()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&p(o,n.prototype),o}).apply(null,arguments)}function f(e){var t="function"==typeof Map?new Map:void 0;return(f=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return d(e,arguments,l(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),p(r,e)})(e)}function g(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function m(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?g(e):t}function y(e){var t=h();return function(){var n,r=l(e);if(t){var o=l(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return m(this,n)}}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var s,a=e[Symbol.iterator]();!(r=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(u){o=!0,i=u}finally{try{r||null==a.return||a.return()}finally{if(o)throw i}}return n}(e,t)||I(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _(e){return function(e){if(Array.isArray(e))return C(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||I(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function I(e,t){if(e){if("string"==typeof e)return C(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?C(e,t):void 0}}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function M(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=I(e))){var t=0,n=function(){};return{s:n,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o,i=!0,s=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return i=e.done,e},e:function(e){s=!0,o=e},f:function(){try{i||null==r.return||r.return()}finally{if(s)throw o}}}}var E=function(){function e(){r(this,e),this.cache=[],this.options=null}return i(e,[{key:"use",value:function(e){if("function"!=typeof e)throw"middleware must be a function";return this.cache.push(e),this}},{key:"next",value:function(e){if(this.middlewares&&this.middlewares.length>0)return this.middlewares.shift().call(this,this.options,this.next.bind(this))}},{key:"run",value:function(e){return this.middlewares=this.cache.map((function(e){return e})),this.options=e,this.next()}}]),e}(),S="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function T(e,t){return e(t={exports:{}},t.exports),t.exports}var D,k,A,R=T((function(e,t){var n,r,o,i,s,a,u,c,l,p,h,d,f,g,m,y,v,_;e.exports=(n="function"==typeof Promise,r="object"==typeof self?self:S,o="undefined"!=typeof Symbol,i="undefined"!=typeof Map,s="undefined"!=typeof Set,a="undefined"!=typeof WeakMap,u="undefined"!=typeof WeakSet,c="undefined"!=typeof DataView,l=o&&void 0!==Symbol.iterator,p=o&&void 0!==Symbol.toStringTag,h=s&&"function"==typeof Set.prototype.entries,d=i&&"function"==typeof Map.prototype.entries,f=h&&Object.getPrototypeOf((new Set).entries()),g=d&&Object.getPrototypeOf((new Map).entries()),m=l&&"function"==typeof Array.prototype[Symbol.iterator],y=m&&Object.getPrototypeOf([][Symbol.iterator]()),v=l&&"function"==typeof String.prototype[Symbol.iterator],_=v&&Object.getPrototypeOf(""[Symbol.iterator]()),function(e){var t=typeof e;if("object"!==t)return t;if(null===e)return"null";if(e===r)return"global";if(Array.isArray(e)&&(!1===p||!(Symbol.toStringTag in e)))return"Array";if("object"==typeof window&&null!==window){if("object"==typeof window.location&&e===window.location)return"Location";if("object"==typeof window.document&&e===window.document)return"Document";if("object"==typeof window.navigator){if("object"==typeof window.navigator.mimeTypes&&e===window.navigator.mimeTypes)return"MimeTypeArray";if("object"==typeof window.navigator.plugins&&e===window.navigator.plugins)return"PluginArray"}if(("function"==typeof window.HTMLElement||"object"==typeof window.HTMLElement)&&e instanceof window.HTMLElement){if("BLOCKQUOTE"===e.tagName)return"HTMLQuoteElement";if("TD"===e.tagName)return"HTMLTableDataCellElement";if("TH"===e.tagName)return"HTMLTableHeaderCellElement"}}var o=p&&e[Symbol.toStringTag];if("string"==typeof o)return o;var l=Object.getPrototypeOf(e);return l===RegExp.prototype?"RegExp":l===Date.prototype?"Date":n&&l===Promise.prototype?"Promise":s&&l===Set.prototype?"Set":i&&l===Map.prototype?"Map":u&&l===WeakSet.prototype?"WeakSet":a&&l===WeakMap.prototype?"WeakMap":c&&l===DataView.prototype?"DataView":i&&l===g?"Map Iterator":s&&l===f?"Set Iterator":m&&l===y?"Array Iterator":v&&l===_?"String Iterator":null===l?"Object":Object.prototype.toString.call(e).slice(8,-1)})})),O="undefined"!=typeof window,N="undefined"!=typeof wx&&"function"==typeof wx.getSystemInfoSync,w=O&&window.navigator&&window.navigator.userAgent||"",L=/AppleWebKit\/([\d.]+)/i.exec(w),P=(L&&parseFloat(L.pop()),/iPad/i.test(w)),G=(/iPhone/i.test(w),/iPod/i.test(w),(D=w.match(/OS (\d+)_/i))&&D[1]&&D[1],/Android/i.test(w)),b=function(){var e=w.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(!e)return null;var t=e[1]&&parseFloat(e[1]),n=e[2]&&parseFloat(e[2]);return t&&n?parseFloat(e[1]+"."+e[2]):t||null}(),U=(G&&/webkit/i.test(w),/Firefox/i.test(w),/Edge/i.test(w)),q=!U&&/Chrome/i.test(w),x=(function(){var e=w.match(/Chrome\/(\d+)/);e&&e[1]&&parseFloat(e[1])}(),/MSIE/.test(w)),F=(/MSIE\s8\.0/.test(w),function(){var e=/MSIE\s(\d+)\.\d/.exec(w),t=e&&parseFloat(e[1]);return!t&&/Trident\/7.0/i.test(w)&&/rv:11.0/.test(w)&&(t=11),t}()),H=(/Safari/i.test(w),/TBS\/\d+/i.test(w)),K=(function(){var e=w.match(/TBS\/(\d+)/i);if(e&&e[1])e[1]}(),!H&&/MQQBrowser\/\d+/i.test(w),!H&&/ QQBrowser\/\d+/i.test(w),/(micromessenger|webbrowser)/i.test(w)),B=(/Windows/i.test(w),/MAC OS X/i.test(w),/MicroMessenger/i.test(w),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});k="undefined"!=typeof console?console:void 0!==B&&B.console?B.console:"undefined"!=typeof window&&window.console?window.console:{};for(var V=function(){},j=["assert","clear","count","debug","dir","dirxml","error","exception","group","groupCollapsed","groupEnd","info","log","markTimeline","profile","profileEnd","table","time","timeEnd","timeStamp","trace","warn"],Y=j.length;Y--;)A=j[Y],console[A]||(k[A]=V);k.methods=j;var $=k,W=0,z=new Map;function X(){var e=new Date;return"TIM "+e.toLocaleTimeString("en-US",{hour12:!1})+"."+function(e){var t;switch(e.toString().length){case 1:t="00"+e;break;case 2:t="0"+e;break;default:t=e}return t}(e.getMilliseconds())+":"}var J={_data:[],_length:0,_visible:!1,arguments2String:function(e){var t;if(1===e.length)t=X()+e[0];else{t=X();for(var n=0,r=e.length;n<r;n++)ie(e[n])?ae(e[n])?t+=de(e[n]):t+=JSON.stringify(e[n]):t+=e[n],t+=" "}return t},debug:function(){if(W<=-1){var e=this.arguments2String(arguments);J.record(e,"debug"),$.debug(e)}},log:function(){if(W<=0){var e=this.arguments2String(arguments);J.record(e,"log"),$.log(e)}},info:function(){if(W<=1){var e=this.arguments2String(arguments);J.record(e,"info"),$.info(e)}},warn:function(){if(W<=2){var e=this.arguments2String(arguments);J.record(e,"warn"),$.warn(e)}},error:function(){if(W<=3){var e=this.arguments2String(arguments);J.record(e,"error"),$.error(e)}},time:function(e){z.set(e,pe.now())},timeEnd:function(e){if(z.has(e)){var t=pe.now()-z.get(e);return z.delete(e),t}return $.warn("未找到对应label: ".concat(e,", 请在调用 logger.timeEnd 前,调用 logger.time")),0},setLevel:function(e){e<4&&$.log(X()+"set level from "+W+" to "+e),W=e},record:function(e,t){1100===J._length&&(J._data.splice(0,100),J._length=1e3),J._length++,J._data.push("".concat(e," [").concat(t,"] \n"))},getLog:function(){return J._data}},Q=function(e){return"file"===ue(e)},Z=function(e){return null!==e&&("number"==typeof e&&!isNaN(e-0)||"object"===n(e)&&e.constructor===Number)},ee=function(e){return"string"==typeof e},te=function(e){return null!==e&&"object"===n(e)},ne=function(e){if("object"!==n(e)||null===e)return!1;var t=Object.getPrototypeOf(e);if(null===t)return!0;for(var r=t;null!==Object.getPrototypeOf(r);)r=Object.getPrototypeOf(r);return t===r},re=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"array"===ue(e)},oe=function(e){return void 0===e},ie=function(e){return re(e)||te(e)},se=function(e){return"function"==typeof e},ae=function(e){return e instanceof Error},ue=function(e){return Object.prototype.toString.call(e).match(/^\[object (.*)\]$/)[1].toLowerCase()},ce=function(e){if("string"!=typeof e)return!1;var t=e[0];return!/[^a-zA-Z0-9]/.test(t)},le=0;Date.now||(Date.now=function(){return(new Date).getTime()});var pe={now:function(){0===le&&(le=Date.now()-1);var e=Date.now()-le;return e>4294967295?(le+=4294967295,Date.now()-le):e},utc:function(){return Math.round(Date.now()/1e3)}},he=function e(t,n,r,o){if(!ie(t)||!ie(n))return 0;for(var i,s=0,a=Object.keys(n),u=0,c=a.length;u<c;u++)if(i=a[u],!(oe(n[i])||r&&r.includes(i)))if(ie(t[i])&&ie(n[i]))s+=e(t[i],n[i],r,o);else{if(o&&o.includes(n[i]))continue;t[i]!==n[i]&&(t[i]=n[i],s+=1)}return s},de=function(e){return JSON.stringify(e,["message","code"])},fe=function(){var e=new Date,t=e.toISOString(),n=e.getTimezoneOffset()/60,r="";return r=n<0?n>-10?"+0"+Math.abs(100*n):"+"+Math.abs(100*n):n>=10?"-"+100*n:"-0"+100*n,t.replace("Z",r)},ge=function(e){if(0===e.length)return 0;for(var t=0,n=0,r="undefined"!=typeof document&&void 0!==document.characterSet?document.characterSet:"UTF-8";void 0!==e[t];)n+=e[t++].charCodeAt[t]<=255?1:!1===r?3:2;return n},me=function(e){var t=e||99999999;return Math.round(Math.random()*t)},ye="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",ve=ye.length,_e=function(e,t){for(var n in e)if(e[n]===t)return!0;return!1},Ie={},Ce=function(){if(N)return"https:";var e=window.location.protocol;return["http:","https:"].indexOf(e)<0&&(e="http:"),e},Me=function(e){return-1===e.indexOf("http://")||-1===e.indexOf("https://")?"https://"+e:e.replace(/https|http/,"https")};function Ee(e,t){re(e)&&re(t)?t.forEach((function(t){var n=t.key,r=t.value,o=e.find((function(e){return e.key===n}));o?o.value=r:e.push({key:n,value:r})})):J.warn("updateCustomField target 或 source 不是数组,忽略此次更新。")}var Se=function(e){return e===t.GRP_PUBLIC},Te=function(e){return e===t.GRP_MEETING},De=function(e){return e===t.GRP_AVCHATROOM},ke=function(e){return ee(e)&&e===t.CONV_SYSTEM};function Ae(e,t){var n={};return Object.keys(e).forEach((function(r){n[r]=t(e[r],r)})),n}var Re=Object.prototype.hasOwnProperty;function Oe(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e)return 0===e.length;if("function"==typeof e)return 0===e.length;if(Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(ne(e)){for(var t in e)if(Re.call(e,t))return!1;return!0}return!("map"!==ue(e)&&!function(e){return"set"===ue(e)}(e)&&!Q(e))&&0===e.size}function Ne(e,t,n){if(void 0===t)return!0;var r=!0;if("object"===R(t).toLowerCase())Object.keys(t).forEach((function(o){var i=1===e.length?e[0][o]:void 0;r=!!we(i,t[o],n,o)&&r}));else if("array"===R(t).toLowerCase())for(var o=0;o<t.length;o++)r=!!we(e[o],t[o],n,t[o].name)&&r;if(r)return r;throw new Error("Params validate failed.")}function we(e,t,n,r){if(void 0===t)return!0;var o=!0;return t.required&&Oe(e)&&($.error("TIM [".concat(n,'] Missing required params: "').concat(r,'".')),o=!1),Oe(e)||R(e).toLowerCase()===t.type.toLowerCase()||($.error("TIM [".concat(n,'] Invalid params: type check failed for "').concat(r,'".Expected ').concat(t.type,".")),o=!1),t.validator&&!t.validator(e)&&($.error("TIM [".concat(n,"] Invalid params: custom validator check failed for params.")),o=!1),o}var Le={SUCCESS:"JoinedSuccess",WAIT_APPROVAL:"WaitAdminApproval"},Pe={SUCCESS:0},Ge={IS_LOGIN:1,IS_NOT_LOGIN:0},be={UNSEND:"unSend",SUCCESS:"success",FAIL:"fail"},Ue={NOT_START:"notStart",PENDING:"pengding",RESOLVED:"resolved",REJECTED:"rejected"},qe=function(){function e(n){r(this,e),this.type=t.MSG_TEXT,this.content={text:n.text||""}}return i(e,[{key:"setText",value:function(e){this.content.text=e}},{key:"sendable",value:function(){return 0!==this.content.text.length}}]),e}(),xe={JSON:{TYPE:{C2C:{NOTICE:1,COMMON:9,EVENT:10},GROUP:{COMMON:3,TIP:4,SYSTEM:5,TIP2:6},FRIEND:{NOTICE:7},PROFILE:{NOTICE:8}},SUBTYPE:{C2C:{COMMON:0,READED:92,KICKEDOUT:96},GROUP:{COMMON:0,LOVEMESSAGE:1,TIP:2,REDPACKET:3}},OPTIONS:{GROUP:{JOIN:1,QUIT:2,KICK:3,SET_ADMIN:4,CANCEL_ADMIN:5,MODIFY_GROUP_INFO:6,MODIFY_MEMBER_INFO:7}}},PROTOBUF:{},IMAGE_TYPES:{ORIGIN:1,LARGE:2,SMALL:3},IMAGE_FORMAT:{JPG:1,JPEG:1,GIF:2,PNG:3,BMP:4,UNKNOWN:255}},Fe=1,He=2,Ke=3,Be=4,Ve=5,je=7,Ye=8,$e=9,We=10,ze=15,Xe=255,Je=2,Qe=0,Ze=1,et={NICK:"Tag_Profile_IM_Nick",GENDER:"Tag_Profile_IM_Gender",BIRTHDAY:"Tag_Profile_IM_BirthDay",LOCATION:"Tag_Profile_IM_Location",SELFSIGNATURE:"Tag_Profile_IM_SelfSignature",ALLOWTYPE:"Tag_Profile_IM_AllowType",LANGUAGE:"Tag_Profile_IM_Language",AVATAR:"Tag_Profile_IM_Image",MESSAGESETTINGS:"Tag_Profile_IM_MsgSettings",ADMINFORBIDTYPE:"Tag_Profile_IM_AdminForbidType",LEVEL:"Tag_Profile_IM_Level",ROLE:"Tag_Profile_IM_Role"},tt={UNKNOWN:"Gender_Type_Unknown",FEMALE:"Gender_Type_Female",MALE:"Gender_Type_Male"},nt={NONE:"AdminForbid_Type_None",SEND_OUT:"AdminForbid_Type_SendOut"},rt={NEED_CONFIRM:"AllowType_Type_NeedConfirm",ALLOW_ANY:"AllowType_Type_AllowAny",DENY_ANY:"AllowType_Type_DenyAny"},ot=function(){function e(n){r(this,e),this._imageMemoryURL="",this._file=n.file,N?this.createImageDataASURLInWXMiniApp(n.file):this.createImageDataASURLInWeb(n.file),this._initImageInfoModel(),this.type=t.MSG_IMAGE,this._percent=0,this.content={imageFormat:xe.IMAGE_FORMAT[n.imageFormat]||xe.IMAGE_FORMAT.UNKNOWN,uuid:n.uuid,imageInfoArray:[]},this.initImageInfoArray(n.imageInfoArray),this._defaultImage="http://imgcache.qq.com/open/qcloud/video/act/webim-images/default.jpg",this._autoFixUrl()}return i(e,[{key:"_initImageInfoModel",value:function(){var e=this;this._ImageInfoModel=function(t){this.instanceID=me(9999999),this.sizeType=t.type||0,this.size=t.size||0,this.width=t.width||0,this.height=t.height||0,this.imageUrl=t.url||"",this.url=t.url||e._imageMemoryURL||e._defaultImage},this._ImageInfoModel.prototype={setSizeType:function(e){this.sizeType=e},setImageUrl:function(e){e&&(this.imageUrl=e)},getImageUrl:function(){return this.imageUrl}}}},{key:"initImageInfoArray",value:function(e){for(var t=2,n=null,r=null;t>=0;)r=void 0===e||void 0===e[t]?{type:0,size:0,width:0,height:0,url:""}:e[t],(n=new this._ImageInfoModel(r)).setSizeType(t+1),this.addImageInfo(n),t--}},{key:"updateImageInfoArray",value:function(e){for(var t,n=this.content.imageInfoArray.length,r=0;r<n;r++)t=this.content.imageInfoArray[r],e.size&&(t.size=e.size),e.url&&t.setImageUrl(e.url),e.width&&(t.width=e.width),e.height&&(t.height=e.height)}},{key:"_autoFixUrl",value:function(){for(var e=this.content.imageInfoArray.length,t="",n="",r=["http","https"],o=null,i=0;i<e;i++)this.content.imageInfoArray[i].url&&""!==(o=this.content.imageInfoArray[i]).imageUrl&&(n=o.imageUrl.slice(0,o.imageUrl.indexOf("://")+1),t=o.imageUrl.slice(o.imageUrl.indexOf("://")+1),r.indexOf(n)<0&&(n="https:"),this.content.imageInfoArray[i].setImageUrl([n,t].join("")))}},{key:"updatePercent",value:function(e){this._percent=e,this._percent>1&&(this._percent=1)}},{key:"updateImageFormat",value:function(e){this.content.imageFormat=e}},{key:"createImageDataASURLInWeb",value:function(e){void 0!==e&&e.files.length>0&&(this._imageMemoryURL=window.URL.createObjectURL(e.files[0]))}},{key:"createImageDataASURLInWXMiniApp",value:function(e){e&&e.url&&(this._imageMemoryURL=e.url)}},{key:"replaceImageInfo",value:function(e,t){this.content.imageInfoArray[t]instanceof this._ImageInfoModel||(this.content.imageInfoArray[t]=e)}},{key:"addImageInfo",value:function(e){this.content.imageInfoArray.length>=3||this.content.imageInfoArray.push(e)}},{key:"sendable",value:function(){return 0!==this.content.imageInfoArray.length&&(""!==this.content.imageInfoArray[0].imageUrl&&0!==this.content.imageInfoArray[0].size)}}]),e}(),it=function(){function e(n){r(this,e),this.type=t.MSG_FACE,this.content=n||null}return i(e,[{key:"sendable",value:function(){return null!==this.content}}]),e}(),st=function(){function e(n){r(this,e),this.type=t.MSG_AUDIO,this._percent=0,this.content={downloadFlag:2,second:n.second,size:n.size,url:n.url,remoteAudioUrl:"",uuid:n.uuid}}return i(e,[{key:"updatePercent",value:function(e){this._percent=e,this._percent>1&&(this._percent=1)}},{key:"updateAudioUrl",value:function(e){this.content.remoteAudioUrl=e}},{key:"sendable",value:function(){return""!==this.content.remoteAudioUrl}}]),e}(),at={from:!0,groupID:!0,groupName:!0,to:!0},ut=function(){function e(n){r(this,e),this.type=t.MSG_GRP_TIP,this.content={},this._initContent(n)}return i(e,[{key:"_initContent",value:function(e){var t=this;Object.keys(e).forEach((function(n){switch(n){case"remarkInfo":break;case"groupProfile":t.content.groupProfile={},t._initGroupProfile(e[n]);break;case"operatorInfo":case"memberInfoList":break;case"msgMemberInfo":t.content.memberList=e[n],Object.defineProperty(t.content,"msgMemberInfo",{get:function(){return J.warn("!!! 禁言的群提示消息中的 payload.msgMemberInfo 属性即将废弃,请使用 payload.memberList 属性替代。 \n","msgMemberInfo 中的 shutupTime 属性对应更改为 memberList 中的 muteTime 属性,表示禁言时长。 \n","参考:群提示消息 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/Message.html#.GroupTipPayload"),t.content.memberList.map((function(e){return{userID:e.userID,shutupTime:e.muteTime}}))}});break;default:t.content[n]=e[n]}})),this.content.userIDList||(this.content.userIDList=[this.content.operatorID])}},{key:"_initGroupProfile",value:function(e){for(var t=Object.keys(e),n=0;n<t.length;n++){var r=t[n];at[r]&&(this.content.groupProfile[r]=e[r])}}}]),e}(),ct={from:!0,groupID:!0,name:!0,to:!0},lt=function(){function e(n){r(this,e),this.type=t.MSG_GRP_SYS_NOTICE,this.content={},this._initContent(n)}return i(e,[{key:"_initContent",value:function(e){var t=this;Object.keys(e).forEach((function(n){switch(n){case"memberInfoList":break;case"remarkInfo":t.content.handleMessage=e[n];break;case"groupProfile":t.content.groupProfile={},t._initGroupProfile(e[n]);break;default:t.content[n]=e[n]}}))}},{key:"_initGroupProfile",value:function(e){for(var t=Object.keys(e),n=0;n<t.length;n++){var r=t[n];ct[r]&&(this.content.groupProfile[r]=e[r])}}}]),e}(),pt={70001:"UserSig 已过期,请重新生成。建议 UserSig 有效期设置不小于24小时。",70002:"UserSig 长度为0,请检查传入的 UserSig 是否正确。",70003:"UserSig 非法,请使用官网提供的 API 重新生成 UserSig(https://cloud.tencent.com/document/product/269/32688)。",70005:"UserSig 非法,请使用官网提供的 API 重新生成 UserSig(https://cloud.tencent.com/document/product/269/32688)。",70009:"UserSig 验证失败,可能因为生成 UserSig 时混用了其他 SDKAppID 的私钥或密钥导致,请使用对应 SDKAppID 下的私钥或密钥重新生成 UserSig(https://cloud.tencent.com/document/product/269/32688)。",70013:"请求中的 UserID 与生成 UserSig 时使用的 UserID 不匹配,您可以在即时通信 IM 控制台的【开发辅助工具(https://console.cloud.tencent.com/im-detail/tool-usersig)】页面校验 UserSig。",70014:"请求中的 SDKAppID 与生成 UserSig 时使用的 SDKAppID 不匹配,您可以在即时通信 IM 控制台的【开发辅助工具(https://console.cloud.tencent.com/im-detail/tool-usersig)】页面校验 UserSig。",70016:"密钥不存在,UserSig 验证失败,请在即时通信 IM 控制台获取密钥(https://cloud.tencent.com/document/product/269/32578#.E8.8E.B7.E5.8F.96.E5.AF.86.E9.92.A5)。",70020:"SDKAppID 未找到,请在即时通信 IM 控制台确认应用信息。",70050:"UserSig 验证次数过于频繁。请检查 UserSig 是否正确,并于1分钟后重新验证。您可以在即时通信 IM 控制台的【开发辅助工具(https://console.cloud.tencent.com/im-detail/tool-usersig)】页面校验 UserSig。",70051:"帐号被拉入黑名单。",70052:"UserSig 已经失效,请重新生成,再次尝试。",70107:"因安全原因被限制登录,请不要频繁登录。",70169:"请求的用户帐号不存在。",70114:"服务端内部超时,请稍后重试。",70202:"服务端内部超时,请稍后重试。",70206:"请求中批量数量不合法。",70402:"参数非法,请检查必填字段是否填充,或者字段的填充是否满足协议要求。",70403:"请求失败,需要 App 管理员权限。",70398:"帐号数超限。如需创建多于100个帐号,请将应用升级为专业版,具体操作指引请参见购买指引(https://cloud.tencent.com/document/product/269/32458)。",70500:"服务端内部错误,请稍后重试。",71e3:"删除帐号失败。仅支持删除体验版帐号,您当前应用为专业版,暂不支持帐号删除。",20001:"请求包非法。",20002:"UserSig 或 A2 失效。",20003:"消息发送方或接收方 UserID 无效或不存在,请检查 UserID 是否已导入即时通信 IM。",20004:"网络异常,请重试。",20005:"服务端内部错误,请重试。",20006:"触发发送单聊消息之前回调,App 后台返回禁止下发该消息。",20007:"发送单聊消息,被对方拉黑,禁止发送。消息发送状态默认展示为失败,您可以登录控制台修改该场景下的消息发送状态展示结果,具体操作请参见消息保留设置(https://cloud.tencent.com/document/product/269/38656)。",20009:"消息发送双方互相不是好友,禁止发送(配置单聊消息校验好友关系才会出现)。",20010:"发送单聊消息,自己不是对方的好友(单向关系),禁止发送。",20011:"发送单聊消息,对方不是自己的好友(单向关系),禁止发送。",20012:"发送方被禁言,该条消息被禁止发送。",20016:"消息撤回超过了时间限制(默认2分钟)。",20018:"删除漫游内部错误。",90001:"JSON 格式解析失败,请检查请求包是否符合 JSON 规范。",90002:"JSON 格式请求包中 MsgBody 不符合消息格式描述,或者 MsgBody 不是 Array 类型,请参考 TIMMsgElement 对象的定义(https://cloud.tencent.com/document/product/269/2720#.E6.B6.88.E6.81.AF.E5.85.83.E7.B4.A0-timmsgelement)。",90003:"JSON 格式请求包体中缺少 To_Account 字段或者 To_Account 帐号不存在。",90005:"JSON 格式请求包体中缺少 MsgRandom 字段或者 MsgRandom 字段不是 Integer 类型。",90006:"JSON 格式请求包体中缺少 MsgTimeStamp 字段或者 MsgTimeStamp 字段不是 Integer 类型。",90007:"JSON 格式请求包体中 MsgBody 类型不是 Array 类型,请将其修改为 Array 类型。",90008:"JSON 格式请求包体中缺少 From_Account 字段或者 From_Account 帐号不存在。",90009:"请求需要 App 管理员权限。",90010:"JSON 格式请求包不符合消息格式描述,请参考 TIMMsgElement 对象的定义(https://cloud.tencent.com/document/product/269/2720#.E6.B6.88.E6.81.AF.E5.85.83.E7.B4.A0-timmsgelement)。",90011:"批量发消息目标帐号超过500,请减少 To_Account 中目标帐号数量。",90012:"To_Account 没有注册或不存在,请确认 To_Account 是否导入即时通信 IM 或者是否拼写错误。",90026:"消息离线存储时间错误(最多不能超过7天)。",90031:"JSON 格式请求包体中 SyncOtherMachine 字段不是 Integer 类型。",90044:"JSON 格式请求包体中 MsgLifeTime 字段不是 Integer 类型。",90048:"请求的用户帐号不存在。",90054:"撤回请求中的 MsgKey 不合法。",90994:"服务内部错误,请重试。",90995:"服务内部错误,请重试。",91e3:"服务内部错误,请重试。",90992:"服务内部错误,请重试;如果所有请求都返回该错误码,且 App 配置了第三方回调,请检查 App 服务端是否正常向即时通信 IM 后台服务端返回回调结果。",93e3:"JSON 数据包超长,消息包体请不要超过8k。",91101:"Web 端长轮询被踢(Web 端同时在线实例个数超出限制)。",10002:"服务端内部错误,请重试。",10003:"请求中的接口名称错误,请核对接口名称并重试。",10004:"参数非法,请根据错误描述检查请求是否正确。",10005:"请求包体中携带的帐号数量过多。",10006:"操作频率限制,请尝试降低调用的频率。",10007:"操作权限不足,例如 Work 群组中普通成员尝试执行踢人操作,但只有 App 管理员才有权限。",10008:"请求非法,可能是请求中携带的签名信息验证不正确,请再次尝试。",10009:"该群不允许群主主动退出。",10010:"群组不存在,或者曾经存在过,但是目前已经被解散。",10011:"解析 JSON 包体失败,请检查包体的格式是否符合 JSON 格式。",10012:"发起操作的 UserID 非法,请检查发起操作的用户 UserID 是否填写正确。",10013:"被邀请加入的用户已经是群成员。",10014:"群已满员,无法将请求中的用户加入群组,如果是批量加人,可以尝试减少加入用户的数量。",10015:"找不到指定 ID 的群组。",10016:"App 后台通过第三方回调拒绝本次操作。",10017:"因被禁言而不能发送消息,请检查发送者是否被设置禁言。",10018:"应答包长度超过最大包长(1MB),请求的内容过多,请尝试减少单次请求的数据量。",10019:"请求的用户帐号不存在。",10021:"群组 ID 已被使用,请选择其他的群组 ID。",10023:"发消息的频率超限,请延长两次发消息时间的间隔。",10024:"此邀请或者申请请求已经被处理。",10025:"群组 ID 已被使用,并且操作者为群主,可以直接使用。",10026:"该 SDKAppID 请求的命令字已被禁用。",10030:"请求撤回的消息不存在。",10031:"消息撤回超过了时间限制(默认2分钟)。",10032:"请求撤回的消息不支持撤回操作。",10033:"群组类型不支持消息撤回操作。",10034:"该消息类型不支持删除操作。",10035:"直播群和在线成员广播大群不支持删除消息。",10036:"直播群创建数量超过了限制,请参考价格说明(https://cloud.tencent.com/document/product/269/11673)购买预付费套餐“IM直播群”。",10037:"单个用户可创建和加入的群组数量超过了限制,请参考价格说明(https://cloud.tencent.com/document/product/269/11673)购买或升级预付费套餐“单人可创建与加入群组数”。",10038:"群成员数量超过限制,请参考价格说明(https://cloud.tencent.com/document/product/269/11673)购买或升级预付费套餐“扩展群人数上限”。",10041:"该应用(SDKAppID)已配置不支持群消息撤回。"},ht=function(e){c(n,e);var t=y(n);function n(e){var o;return r(this,n),(o=t.call(this)).code=e.code,o.message=pt[e.code]||e.message,o.data=e.data||{},o}return n}(f(Error)),dt={NO_SDKAPPID:2e3,NO_ACCOUNT_TYPE:2001,NO_IDENTIFIER:2002,NO_USERSIG:2003,NO_TINYID:2022,NO_A2KEY:2023,COS_UNDETECTED:2040,MESSAGE_SEND_FAIL:2100,MESSAGE_LIST_CONSTRUCTOR_NEED_OPTIONS:2103,MESSAGE_SEND_NEED_MESSAGE_INSTANCE:2105,MESSAGE_SEND_INVALID_CONVERSATION_TYPE:2106,MESSAGE_FILE_IS_EMPTY:2108,MESSAGE_ONPROGRESS_FUNCTION_ERROR:2109,MESSAGE_REVOKE_FAIL:2110,MESSAGE_IMAGE_SELECT_FILE_FIRST:2251,MESSAGE_IMAGE_TYPES_LIMIT:2252,MESSAGE_IMAGE_SIZE_LIMIT:2253,MESSAGE_AUDIO_UPLOAD_FAIL:2300,MESSAGE_AUDIO_SIZE_LIMIT:2301,MESSAGE_VIDEO_UPLOAD_FAIL:2350,MESSAGE_VIDEO_SIZE_LIMIT:2351,MESSAGE_VIDEO_TYPES_LIMIT:2352,MESSAGE_FILE_UPLOAD_FAIL:2400,MESSAGE_FILE_SELECT_FILE_FIRST:2401,MESSAGE_FILE_SIZE_LIMIT:2402,MESSAGE_FILE_URL_IS_EMPTY:2403,CONVERSATION_NOT_FOUND:2500,USER_OR_GROUP_NOT_FOUND:2501,CONVERSATION_UN_RECORDED_TYPE:2502,ILLEGAL_GROUP_TYPE:2600,CANNOT_JOIN_WORK:2601,CANNOT_CHANGE_OWNER_IN_AVCHATROOM:2620,CANNOT_CHANGE_OWNER_TO_SELF:2621,CANNOT_DISMISS_Work:2622,JOIN_GROUP_FAIL:2660,CANNOT_ADD_MEMBER_IN_AVCHATROOM:2661,CANNOT_JOIN_NON_AVCHATROOM_WITHOUT_LOGIN:2662,CANNOT_KICK_MEMBER_IN_AVCHATROOM:2680,NOT_OWNER:2681,CANNOT_SET_MEMBER_ROLE_IN_WORK_AND_AVCHATROOM:2682,INVALID_MEMBER_ROLE:2683,CANNOT_SET_SELF_MEMBER_ROLE:2684,CANNOT_MUTE_SELF:2685,DEL_FRIEND_INVALID_PARAM:2700,UPDATE_PROFILE_INVALID_PARAM:2721,UPDATE_PROFILE_NO_KEY:2722,ADD_BLACKLIST_INVALID_PARAM:2740,DEL_BLACKLIST_INVALID_PARAM:2741,CANNOT_ADD_SELF_TO_BLACKLIST:2742,NETWORK_ERROR:2800,NETWORK_TIMEOUT:2801,NETWORK_BASE_OPTIONS_NO_URL:2802,NETWORK_UNDEFINED_SERVER_NAME:2803,NETWORK_PACKAGE_UNDEFINED:2804,NO_NETWORK:2805,CONVERTOR_IRREGULAR_PARAMS:2900,NOTICE_RUNLOOP_UNEXPECTED_CONDITION:2901,NOTICE_RUNLOOP_OFFSET_LOST:2902,UNCAUGHT_ERROR:2903,GET_LONGPOLL_ID_FAILED:2904,SDK_IS_NOT_READY:2999,LONG_POLL_KICK_OUT:91101,MESSAGE_A2KEY_EXPIRED:20002,ACCOUNT_A2KEY_EXPIRED:70001,LONG_POLL_API_PARAM_ERROR:90001},ft="无 SDKAppID",gt="无 accountType",mt="无 userID",yt="无 userSig",vt="无 tinyID",_t="无 a2key",It="未检测到 COS 上传插件",Ct="消息发送失败",Mt="MessageController.constructor() 需要参数 options",Et="需要 Message 的实例",St='Message.conversationType 只能为 "C2C" 或 "GROUP"',Tt="无法发送空文件",Dt="回调函数运行时遇到错误,请检查接入侧代码",kt="消息撤回失败",At="请先选择一个图片",Rt="只允许上传 jpg png jpeg gif 格式的图片",Ot="图片大小超过20M,无法发送",Nt="语音上传失败",wt="语音大小大于20M,无法发送",Lt="视频上传失败",Pt="视频大小超过100M,无法发送",Gt="只允许上传 mp4 格式的视频",bt="文件上传失败",Ut="请先选择一个文件",qt="文件大小超过100M,无法发送 ",xt="缺少必要的参数文件 URL",Ft="没有找到相应的会话,请检查传入参数",Ht="没有找到相应的用户或群组,请检查传入参数",Kt="未记录的会话类型",Bt="非法的群类型,请检查传入参数",Vt="不能加入 Work 类型的群组",jt="AVChatRoom 类型的群组不能转让群主",Yt="不能把群主转让给自己",$t="不能解散 Work 类型的群组",Wt="加群失败,请检查传入参数或重试",zt="AVChatRoom 类型的群不支持邀请群成员",Xt="非 AVChatRoom 类型的群组不允许匿名加群,请先登录后再加群",Jt="不能在 AVChatRoom 类型的群组踢人",Qt="你不是群主,只有群主才有权限操作",Zt="不能在 Work / AVChatRoom 类型的群中设置群成员身份",en="不合法的群成员身份,请检查传入参数",tn="不能设置自己的群成员身份,请检查传入参数",nn="不能将自己禁言,请检查传入参数",rn="传入 deleteFriend 接口的参数无效",on="传入 updateMyProfile 接口的参数无效",sn="updateMyProfile 无标配资料字段或自定义资料字段",an="传入 addToBlacklist 接口的参数无效",un="传入 removeFromBlacklist 接口的参数无效",cn="不能拉黑自己",ln="网络层初始化错误,缺少 URL 参数",pn="打包错误,未定义的 serverName",hn="未定义的 packageConfig",dn="未连接到网络",fn="不规范的参数名称",gn="意料外的通知条件",mn="_syncOffset 丢失",yn="获取 longpolling id 失败",vn="接口需要 SDK 处于 ready 状态后才能调用",_n=["jpg","jpeg","gif","png"],In=["mp4"],Cn=function(){function e(n){r(this,e);var o=this._check(n);if(o instanceof ht)throw o;this.type=t.MSG_FILE,this._percent=0;var i=this._getFileInfo(n);this.content={downloadFlag:2,fileUrl:n.url||"",uuid:n.uuid,fileName:i.name||"",fileSize:i.size||0}}return i(e,[{key:"_getFileInfo",value:function(e){if(e.fileName&&e.fileSize)return{size:e.fileSize,name:e.fileName};if(N)return{};var t=e.file.files[0];return{size:t.size,name:t.name,type:t.type.slice(t.type.lastIndexOf("/")+1).toLowerCase()}}},{key:"updatePercent",value:function(e){this._percent=e,this._percent>1&&(this._percent=1)}},{key:"updateFileUrl",value:function(e){this.content.fileUrl=e}},{key:"_check",value:function(e){if(e.size>104857600)return new ht({code:dt.MESSAGE_FILE_SIZE_LIMIT,message:"".concat(qt,": ").concat(104857600," bytes")})}},{key:"sendable",value:function(){return""!==this.content.fileUrl&&(""!==this.content.fileName&&0!==this.content.fileSize)}}]),e}(),Mn=function(){function e(n){r(this,e),this.type=t.MSG_CUSTOM,this.content={data:n.data||"",description:n.description||"",extension:n.extension||""}}return i(e,[{key:"setData",value:function(e){return this.content.data=e,this}},{key:"setDescription",value:function(e){return this.content.description=e,this}},{key:"setExtension",value:function(e){return this.content.extension=e,this}},{key:"sendable",value:function(){return 0!==this.content.data.length||0!==this.content.description.length||0!==this.content.extension.length}}]),e}(),En=function(){function e(n){r(this,e),this.type=t.MSG_VIDEO,this._percent=0,this.content={remoteVideoUrl:n.remoteVideoUrl,videoFormat:n.videoFormat,videoSecond:parseInt(n.videoSecond,10),videoSize:n.videoSize,videoUrl:n.videoUrl,videoDownloadFlag:2,videoUUID:n.videoUUID,thumbUUID:n.thumbUUID,thumbFormat:n.thumbFormat,thumbWidth:n.thumbWidth,thumbHeight:n.thumbHeight,thumbSize:n.thumbSize,thumbDownloadFlag:2,thumbUrl:n.thumbUrl}}return i(e,[{key:"updatePercent",value:function(e){this._percent=e,this._percent>1&&(this._percent=1)}},{key:"updateVideoUrl",value:function(e){e&&(this.content.remoteVideoUrl=e)}},{key:"sendable",value:function(){return""!==this.content.remoteVideoUrl}}]),e}(),Sn=function e(n){r(this,e),this.type=t.MSG_GEO,this.content=n},Tn={1:t.MSG_PRIORITY_HIGH,2:t.MSG_PRIORITY_NORMAL,3:t.MSG_PRIORITY_LOW,4:t.MSG_PRIORITY_LOWEST},Dn=function(){function e(n){r(this,e),this.ID="",this.conversationID=n.conversationID||null,this.conversationType=n.conversationType||t.CONV_C2C,this.conversationSubType=n.conversationSubType,this.time=n.time||Math.ceil(Date.now()/1e3),this.sequence=n.sequence||0,this.clientSequence=n.clientSequence||n.sequence||0,this.random=n.random||me(),this.priority=this._computePriority(n.priority),this.nick="",this.avatar="",this.isPeerRead=!1,this._elements=[],this.isPlaceMessage=n.isPlaceMessage||0,this.isRevoked=2===n.isPlaceMessage||8===n.msgFlagBits,this.geo={},this.from=n.from||null,this.to=n.to||null,this.flow="",this.isSystemMessage=n.isSystemMessage||!1,this.protocol=n.protocol||"JSON",this.isResend=!1,this.isRead=!1,this.status=n.status||be.SUCCESS,this.reInitialize(n.currentUser),this.extractGroupInfo(n.groupProfile||null)}return i(e,[{key:"getElements",value:function(){return this._elements}},{key:"extractGroupInfo",value:function(e){null!==e&&(ee(e.fromAccountNick)&&(this.nick=e.fromAccountNick),ee(e.fromAccountHeadurl)&&(this.avatar=e.fromAccountHeadurl))}},{key:"_initProxy",value:function(){this.payload=this._elements[0].content,this.type=this._elements[0].type}},{key:"reInitialize",value:function(e){e&&(this.status=this.from?be.SUCCESS:be.UNSEND,!this.from&&(this.from=e)),this._initFlow(e),this._initielizeSequence(e),this._concactConversationID(e),this.generateMessageID(e)}},{key:"isSendable",value:function(){return 0!==this._elements.length&&("function"!=typeof this._elements[0].sendable?(J.warn("".concat(this._elements[0].type,' need "boolean : sendable()" method')),!1):this._elements[0].sendable())}},{key:"_initTo",value:function(e){this.conversationType===t.CONV_GROUP&&(this.to=e.groupID)}},{key:"_initielizeSequence",value:function(e){0===this.clientSequence&&e&&(this.clientSequence=function(e){if(!e)return J.error("autoincrementIndex(string: key) need key parameter"),!1;if(void 0===Ie[e]){var t=new Date,n="3".concat(t.getHours()).slice(-2),r="0".concat(t.getMinutes()).slice(-2),o="0".concat(t.getSeconds()).slice(-2);Ie[e]=parseInt([n,r,o,"0001"].join("")),n=null,r=null,o=null,J.warn("utils.autoincrementIndex() create new sequence : ".concat(e," = ").concat(Ie[e]))}return Ie[e]++}(e)),0===this.sequence&&this.conversationType===t.CONV_C2C&&(this.sequence=this.clientSequence)}},{key:"generateMessageID",value:function(e){var t=e===this.from?1:0,n=this.sequence>0?this.sequence:this.clientSequence;this.ID="".concat(this.conversationID,"-").concat(n,"-").concat(this.random,"-").concat(t)}},{key:"_initFlow",value:function(e){""!==e&&(e===this.from?(this.flow="out",this.isRead=!0):this.flow="in")}},{key:"_concactConversationID",value:function(e){var n=this.to,r="",o=this.conversationType;o!==t.CONV_SYSTEM?(r=o===t.CONV_C2C?e===this.from?n:this.from:this.to,this.conversationID="".concat(o).concat(r)):this.conversationID=t.CONV_SYSTEM}},{key:"isElement",value:function(e){return e instanceof qe||e instanceof ot||e instanceof it||e instanceof st||e instanceof Cn||e instanceof En||e instanceof ut||e instanceof lt||e instanceof Mn||e instanceof Sn}},{key:"setElement",value:function(e){var n=this;if(this.isElement(e))return this._elements=[e],void this._initProxy();var r=function(e){switch(e.type){case t.MSG_TEXT:n.setTextElement(e.content);break;case t.MSG_IMAGE:n.setImageElement(e.content);break;case t.MSG_AUDIO:n.setAudioElement(e.content);break;case t.MSG_FILE:n.setFileElement(e.content);break;case t.MSG_VIDEO:n.setVideoElement(e.content);break;case t.MSG_CUSTOM:n.setCustomElement(e.content);break;case t.MSG_GEO:n.setGEOElement(e.content);break;case t.MSG_GRP_TIP:n.setGroupTipElement(e.content);break;case t.MSG_GRP_SYS_NOTICE:n.setGroupSystemNoticeElement(e.content);break;case t.MSG_FACE:n.setFaceElement(e.content);break;default:J.warn(e.type,e.content,"no operation......")}};if(Array.isArray(e))for(var o=0;o<e.length;o++)r(e[o]);else r(e);this._initProxy()}},{key:"setTextElement",value:function(e){var t="string"==typeof e?e:e.text,n=new qe({text:t});this._elements.push(n)}},{key:"setImageElement",value:function(e){var t=new ot(e);this._elements.push(t)}},{key:"setAudioElement",value:function(e){var t=new st(e);this._elements.push(t)}},{key:"setFileElement",value:function(e){var t=new Cn(e);this._elements.push(t)}},{key:"setVideoElement",value:function(e){var t=new En(e);this._elements.push(t)}},{key:"setGEOElement",value:function(e){var t=new Sn(e);this._elements.push(t)}},{key:"setCustomElement",value:function(e){var t=new Mn(e);this._elements.push(t)}},{key:"setGroupTipElement",value:function(e){var n={},r=e.operationType;Oe(e.memberInfoList)||r!==t.GRP_TIP_MBR_JOIN&&r!==t.GRP_TIP_MBR_KICKED_OUT?e.operatorInfo&&(n=e.operatorInfo):n=e.memberInfoList[0];var o=n,i=o.nick,s=o.avatar;ee(i)&&(this.nick=i),ee(s)&&(this.avatar=s);var a=new ut(e);this._elements.push(a)}},{key:"setGroupSystemNoticeElement",value:function(e){var t=new lt(e);this._elements.push(t)}},{key:"setFaceElement",value:function(e){var t=new it(e);this._elements.push(t)}},{key:"setIsRead",value:function(e){this.isRead=e}},{key:"_computePriority",value:function(e){if(oe(e))return t.MSG_PRIORITY_NORMAL;if(ee(e)&&-1!==Object.values(Tn).indexOf(e))return e;if(Z(e)){var n=""+e;if(-1!==Object.keys(Tn).indexOf(n))return Tn[n]}return t.MSG_PRIORITY_NORMAL}},{key:"elements",get:function(){return J.warn("!!!Message 实例的 elements 属性即将废弃,请尽快修改。使用 type 和 payload 属性处理单条消息,兼容组合消息使用 _elements 属性!!!"),this._elements}}]),e}(),kn=function(e){return!!e&&(!!(function(e){return ee(e)&&e.slice(0,3)===t.CONV_C2C}(e)||function(e){return ee(e)&&e.slice(0,5)===t.CONV_GROUP}(e)||ke(e))||(console.warn("非法的会话 ID:".concat(e,"。会话 ID 组成方式:\n C2C + userID(单聊)\n GROUP + groupID(群聊)\n @TIM#SYSTEM(系统通知会话)")),!1))},An={login:{userID:{type:"String",required:!0},userSig:{type:"String",required:!0}},addToBlacklist:{userIDList:{type:"Array",required:!0}},mutilParam:[{name:"paramName",type:"Number",required:!0},{name:"paramName",type:"String",required:!0}],on:[{name:"eventName",type:"String",validator:function(e){return"string"==typeof e&&0!==e.length||(console.warn("on 接口的 eventName 参数必须是 String 类型,且不能为空。"),!1)}},{name:"handler",type:"Function",validator:function(e){return"function"!=typeof e?(console.warn("on 接口的 handler 参数必须是 Function 类型。"),!1):(""===e.name&&console.warn("on 接口的 handler 参数推荐使用具名函数。具名函数可以使用 off 接口取消订阅,匿名函数无法取消订阅。"),!0)}}],once:[{name:"eventName",type:"String",validator:function(e){return"string"==typeof e&&0!==e.length||(console.warn("once 接口的 eventName 参数必须是 String 类型,且不能为空。"),!1)}},{name:"handler",type:"Function",validator:function(e){return"function"!=typeof e?(console.warn("once 接口的 handler 参数必须是 Function 类型。"),!1):(""===e.name&&console.warn("once 接口的 handler 参数推荐使用具名函数。"),!0)}}],off:[{name:"eventName",type:"String",validator:function(e){return"string"==typeof e&&0!==e.length||(console.warn("off 接口的 eventName 参数必须是 String 类型,且不能为空。"),!1)}},{name:"handler",type:"Function",validator:function(e){return"function"!=typeof e?(console.warn("off 接口的 handler 参数必须是 Function 类型。"),!1):(""===e.name&&console.warn("off 接口的 handler 参数为匿名函数,无法取消订阅。"),!0)}}],sendMessage:[{name:"message",type:"Object",required:!0}],getMessageList:{conversationID:{type:"String",required:!0,validator:function(e){return kn(e)}},nextReqMessageID:{type:"String"},count:{type:"Number",validator:function(e){return!(!oe(e)&&!/^[1-9][0-9]*$/.test(e))||(console.warn("getMessageList 接口的 count 参数必须为正整数"),!1)}}},setMessageRead:{conversationID:{type:"String",required:!0,validator:function(e){return kn(e)}}},getConversationProfile:[{name:"conversationID",type:"String",required:!0,validator:function(e){return kn(e)}}],deleteConversation:[{name:"conversationID",type:"String",required:!0,validator:function(e){return kn(e)}}],getGroupList:{groupProfileFilter:{type:"Array"}},getGroupProfile:{groupID:{type:"String",required:!0},groupCustomFieldFilter:{type:"Array"},memberCustomFieldFilter:{type:"Array"}},getGroupProfileAdvance:{groupIDList:{type:"Array",required:!0}},createGroup:{name:{type:"String",required:!0}},joinGroup:{groupID:{type:"String",required:!0},type:{type:"String"},applyMessage:{type:"String"}},quitGroup:[{name:"groupID",type:"String",required:!0}],handleApplication:{message:{type:"Object",required:!0},handleAction:{type:"String",required:!0},handleMessage:{type:"String"}},changeGroupOwner:{groupID:{type:"String",required:!0},newOwnerID:{type:"String",required:!0}},updateGroupProfile:{groupID:{type:"String",required:!0},muteAllMembers:{type:"Boolean"}},dismissGroup:[{name:"groupID",type:"String",required:!0}],searchGroupByID:[{name:"groupID",type:"String",required:!0}],getGroupMemberList:{groupID:{type:"String",required:!0},offset:{type:"Number"},count:{type:"Number"}},getGroupMemberProfile:{groupID:{type:"String",required:!0},userIDList:{type:"Array",required:!0},memberCustomFieldFilter:{type:"Array"}},addGroupMemeber:{groupID:{type:"String",required:!0},userIDList:{type:"Array",required:!0}},setGroupMemberRole:{groupID:{type:"String",required:!0},userID:{type:"String",required:!0},role:{type:"String",required:!0}},setGroupMemberMuteTime:{groupID:{type:"String",required:!0},userID:{type:"String",required:!0},muteTime:{type:"Number",validator:function(e){return e>=0}}},setGroupMemberNameCard:{groupID:{type:"String",required:!0},userID:{type:"String"},nameCard:{type:"String",required:!0,validator:function(e){return!0!==/^\s+$/.test(e)}}},setMessageRemindType:{groupID:{type:"String",required:!0},messageRemindType:{type:"String",required:!0}},setGroupMemberCustomField:{groupID:{type:"String",required:!0},userID:{type:"String"},memberCustomField:{type:"Array",required:!0}},deleteGroupMember:{groupID:{type:"String",required:!0}},createTextMessage:{to:{type:"String",required:!0},conversationType:{type:"String",required:!0},payload:{type:"Object",required:!0,validator:function(e){return ee(e.text)?0!==e.text.length||(console.warn("createTextMessage 消息内容不能为空。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createTextMessage"),!1):(console.warn("createTextMessage payload.text 类型必须为字符串。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createTextMessage"),!1)}}},createCustomMessage:{to:{type:"String",required:!0},conversationType:{type:"String",required:!0},payload:{type:"Object",required:!0,validator:function(e){return e.data&&!ee(e.data)?(console.warn("createCustomMessage payload.data 类型必须为 String。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createCustomMessage"),!1):e.description&&!ee(e.description)?(console.warn("createCustomMessage payload.description 类型必须为 String。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createCustomMessage"),!1):!(e.extension&&!ee(e.extension))||(console.warn("createCustomMessage payload.extension 类型必须为 String。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createCustomMessage"),!1)}}},createImageMessage:{to:{type:"String",required:!0},conversationType:{type:"String",required:!0},payload:{type:"Object",required:!0,validator:function(e){if(oe(e.file))return console.warn("createImageMessage payload.file 不能为 undefined。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createImageMessage"),!1;if(O){if(!(e.file instanceof HTMLInputElement||Q(e.file)))return console.warn("createImageMessage payload.file 的类型必须是 HTMLInputElement 或 File。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createImageMessage"),!1;if(e.file instanceof HTMLInputElement&&0===e.file.files.length)return console.warn("createImageMessage 您没有选择文件,无法发送。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createImageMessage"),!1}return!0},onProgress:{type:"Function",required:!1,validator:function(e){return oe(e)&&console.warn("createImageMessage 没有 onProgress 回调,您将无法获取图片上传进度。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createImageMessage"),!0}}}},createAudioMessage:{to:{type:"String",required:!0},conversationType:{type:"String",required:!0},payload:{type:"Object",required:!0},onProgress:{type:"Function",required:!1,validator:function(e){return oe(e)&&console.warn("createAudioMessage 没有 onProgress 回调,您将无法获取音频上传进度。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createAudioMessage"),!0}}},createVideoMessage:{to:{type:"String",required:!0},conversationType:{type:"String",required:!0},payload:{type:"Object",required:!0,validator:function(e){if(oe(e.file))return console.warn("createVideoMessage payload.file 不能为 undefined。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createVideoMessage"),!1;if(O){if(!(e.file instanceof HTMLInputElement||Q(e.file)))return console.warn("createVideoMessage payload.file 的类型必须是 HTMLInputElement 或 File。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createVideoMessage"),!1;if(e.file instanceof HTMLInputElement&&0===e.file.files.length)return console.warn("createVideoMessage 您没有选择文件,无法发送。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createVideoMessage"),!1}return!0}},onProgress:{type:"Function",required:!1,validator:function(e){return oe(e)&&console.warn("createVideoMessage 没有 onProgress 回调,您将无法获取视频上传进度。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createVideoMessage"),!0}}},createFaceMessage:{to:{type:"String",required:!0},conversationType:{type:"String",required:!0},payload:{type:"Object",required:!0,validator:function(e){return!!ne(e)&&(Z(e.index)?!!ee(e.data)||(console.warn("createFaceMessage payload.data 类型必须为 String!"),!1):(console.warn("createFaceMessage payload.index 类型必须为 Number!"),!1))}}},createFileMessage:{to:{type:"String",required:!0},conversationType:{type:"String",required:!0},payload:{type:"Object",required:!0,validator:function(e){if(oe(e.file))return console.warn("createFileMessage payload.file 不能为 undefined。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createFileMessage"),!1;if(O){if(!(e.file instanceof HTMLInputElement||Q(e.file)))return console.warn("createFileMessage payload.file 的类型必须是 HTMLInputElement 或 File。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createFileMessage"),!1;if(e.file instanceof HTMLInputElement&&0===e.file.files.length)return console.warn("createFileMessage 您没有选择文件,无法发送。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createFileMessage"),!1}return!0}},onProgress:{type:"Function",required:!1,validator:function(e){return oe(e)&&console.warn("createFileMessage 没有 onProgress 回调,您将无法获取文件上传进度。请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#createFileMessage"),!0}}},revokeMessage:[{name:"message",type:"Object",required:!0,validator:function(e){return e instanceof Dn?e.conversationType===t.CONV_SYSTEM?(console.warn("revokeMessage 不能撤回系统会话消息,只能撤回单聊消息或群消息"),!1):!0!==e.isRevoked||(console.warn("revokeMessage 消息已经被撤回,请勿重复操作"),!1):(console.warn("revokeMessage 参数 message 必须为 Message(https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/Message.html) 实例。"),!1)}}],getUserProfile:{userIDList:{type:"Array",validator:function(e){return re(e)?(0===e.length&&console.warn("getUserProfile userIDList 不能为空数组,请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#getUserProfile"),!0):(console.warn("getUserProfile userIDList 必须为数组,请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#getUserProfile"),!1)}}},updateMyProfile:{profileCustomField:{type:"Array",validator:function(e){return!!oe(e)||(!!re(e)||(console.warn("updateMyProfile profileCustomField 必须为数组,请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#updateMyProfile"),!1))}}}},Rn={login:"login",logout:"logout",on:"on",once:"once",off:"off",setLogLevel:"setLogLevel",downloadLog:"downloadLog",registerPlugin:"registerPlugin",destroy:"destroy",createTextMessage:"createTextMessage",createImageMessage:"createImageMessage",createAudioMessage:"createAudioMessage",createVideoMessage:"createVideoMessage",createCustomMessage:"createCustomMessage",createFaceMessage:"createFaceMessage",createFileMessage:"createFileMessage",sendMessage:"sendMessage",resendMessage:"resendMessage",getMessageList:"getMessageList",setMessageRead:"setMessageRead",revokeMessage:"revokeMessage",getConversationList:"getConversationList",getConversationProfile:"getConversationProfile",deleteConversation:"deleteConversation",getGroupList:"getGroupList",getGroupProfile:"getGroupProfile",createGroup:"createGroup",joinGroup:"joinGroup",updateGroupProfile:"updateGroupProfile",quitGroup:"quitGroup",dismissGroup:"dismissGroup",changeGroupOwner:"changeGroupOwner",searchGroupByID:"searchGroupByID",setMessageRemindType:"setMessageRemindType",handleGroupApplication:"handleGroupApplication",getGroupMemberProfile:"getGroupMemberProfile",getGroupMemberList:"getGroupMemberList",addGroupMember:"addGroupMember",deleteGroupMember:"deleteGroupMember",setGroupMemberNameCard:"setGroupMemberNameCard",setGroupMemberMuteTime:"setGroupMemberMuteTime",setGroupMemberRole:"setGroupMemberRole",setGroupMemberCustomField:"setGroupMemberCustomField",getMyProfile:"getMyProfile",getUserProfile:"getUserProfile",updateMyProfile:"updateMyProfile",getBlacklist:"getBlacklist",addToBlacklist:"addToBlacklist",removeFromBlacklist:"removeFromBlacklist",getFriendList:"getFriendList"},On="1.7.3",Nn="537048168",wn="10",Ln="protobuf",Pn="json",Gn={HOST:{TYPE:3,ACCESS_LAYER_TYPES:{SANDBOX:1,TEST:2,PRODUCTION:3},CURRENT:{COMMON:"https://webim.tim.qq.com",PIC:"https://pic.tim.qq.com",COS:"https://yun.tim.qq.com"},PRODUCTION:{COMMON:"https://webim.tim.qq.com",PIC:"https://pic.tim.qq.com",COS:"https://yun.tim.qq.com"},SANDBOX:{COMMON:"https://events.tim.qq.com",PIC:"https://pic.tim.qq.com",COS:"https://yun.tim.qq.com"},TEST:{COMMON:"https://test.tim.qq.com",PIC:"https://pic.tim.qq.com",COS:"https://test.tim.qq.com"},setCurrent:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3;switch(e){case this.ACCESS_LAYER_TYPES.SANDBOX:this.CURRENT=this.SANDBOX,this.TYPE=this.ACCESS_LAYER_TYPES.SANDBOX;break;case this.ACCESS_LAYER_TYPES.TEST:this.CURRENT=this.TEST,this.TYPE=this.ACCESS_LAYER_TYPES.TEST;break;default:this.CURRENT=this.PRODUCTION,this.TYPE=this.ACCESS_LAYER_TYPES.PRODUCTION}}},NAME:{OPEN_IM:"openim",GROUP:"group_open_http_svc",FRIEND:"sns",PROFILE:"profile",RECENT_CONTACT:"recentcontact",PIC:"openpic",BIG_GROUP_NO_AUTH:"group_open_http_noauth_svc",BIG_GROUP_LONG_POLLING_NO_AUTH:"group_open_long_polling_http_noauth_svc",IM_OPEN_STAT:"imopenstat",WEB_IM:"webim",IM_COS_SIGN:"im_cos_sign_svr"},CMD:{ACCESS_LAYER:"accesslayer",LOGIN:"login",LOGOUT_LONG_POLL:"longpollinglogout",LOGOUT_ALL:"logout",PORTRAIT_GET:"portrait_get_all",PORTRAIT_SET:"portrait_set",GET_LONG_POLL_ID:"getlongpollingid",LONG_POLL:"longpolling",AVCHATROOM_LONG_POLL:"get_msg",FRIEND_ADD:"friend_add",FRIEND_GET_ALL:"friend_get_all",FRIEND_DELETE:"friend_delete",RESPONSE_PENDENCY:"friend_response",GET_PENDENCY:"pendency_get",DELETE_PENDENCY:"pendency_delete",GET_GROUP_PENDENCY:"get_pendency",GET_BLACKLIST:"black_list_get",ADD_BLACKLIST:"black_list_add",DELETE_BLACKLIST:"black_list_delete",CREATE_GROUP:"create_group",GET_JOINED_GROUPS:"get_joined_group_list",SEND_MESSAGE:"sendmsg",REVOKE_C2C_MESSAGE:"msgwithdraw",SEND_GROUP_MESSAGE:"send_group_msg",REVOKE_GROUP_MESSAGE:"group_msg_recall",GET_GROUP_INFO:"get_group_info",GET_GROUP_MEMBER_INFO:"get_specified_group_member_info",GET_GROUP_MEMBER_LIST:"get_group_member_info",QUIT_GROUP:"quit_group",CHANGE_GROUP_OWNER:"change_group_owner",DESTROY_GROUP:"destroy_group",ADD_GROUP_MEMBER:"add_group_member",DELETE_GROUP_MEMBER:"delete_group_member",SEARCH_GROUP_BY_ID:"get_group_public_info",APPLY_JOIN_GROUP:"apply_join_group",HANDLE_APPLY_JOIN_GROUP:"handle_apply_join_group",MODIFY_GROUP_INFO:"modify_group_base_info",MODIFY_GROUP_MEMBER_INFO:"modify_group_member_info",DELETE_GROUP_SYSTEM_MESSAGE:"deletemsg",GET_CONVERSATION_LIST:"get",PAGING_GET_CONVERSATION_LIST:"page_get",DELETE_CONVERSATION:"delete",GET_MESSAGES:"getmsg",GET_C2C_ROAM_MESSAGES:"getroammsg",GET_GROUP_ROAM_MESSAGES:"group_msg_get",SET_C2C_MESSAGE_READ:"msgreaded",GET_PEER_READ_TIME:"get_peer_read_time",SET_GROUP_MESSAGE_READ:"msg_read_report",FILE_READ_AND_WRITE_AUTHKEY:"authkey",FILE_UPLOAD:"pic_up",COS_SIGN:"cos",TIM_WEB_REPORT:"tim_web_report",BIG_DATA_HALLWAY_AUTH_KEY:"authkey"},CHANNEL:{SOCKET:1,XHR:2,AUTO:0},NAME_VERSION:{openim:"v4",group_open_http_svc:"v4",sns:"v4",profile:"v4",recentcontact:"v4",openpic:"v4",group_open_http_noauth_svc:"v1",group_open_long_polling_http_noauth_svc:"v1",imopenstat:"v4",im_cos_sign_svr:"v4",webim:"v4"}};Gn.HOST.setCurrent(Gn.HOST.ACCESS_LAYER_TYPES.PRODUCTION);var bn={request:{toAccount:"To_Account",fromAccount:"From_Account",to:"To_Account",from:"From_Account",groupID:"GroupId",avatar:"FaceUrl"},response:{GroupId:"groupID",Member_Account:"userID",MsgList:"messageList",SyncFlag:"syncFlag",To_Account:"to",From_Account:"from",MsgSeq:"sequence",MsgRandom:"random",MsgTimeStamp:"time",MsgContent:"content",MsgBody:"elements",GroupWithdrawInfoArray:"revokedInfos",WithdrawC2cMsgNotify:"c2cMessageRevokedNotify",C2cWithdrawInfoArray:"revokedInfos",C2cReadedReceipt:"c2cMessageReadReceipt",LastReadTime:"peerReadTime",MsgRand:"random",MsgType:"type",MsgShow:"messageShow",NextMsgSeq:"nextMessageSeq",FaceUrl:"avatar",ProfileDataMod:"profileModify",Profile_Account:"userID",ValueBytes:"value",ValueNum:"value",NoticeSeq:"noticeSequence",NotifySeq:"notifySequence",MsgFrom_AccountExtraInfo:"messageFromAccountExtraInformation",Operator_Account:"operatorID",OpType:"operationType",ReportType:"operationType",UserId:"userID",User_Account:"userID",List_Account:"userIDList",MsgOperatorMemberExtraInfo:"operatorInfo",MsgMemberExtraInfo:"memberInfoList",ImageUrl:"avatar",NickName:"nick",MsgGroupNewInfo:"newGroupProfile",MsgAppDefinedData:"groupCustomField",Owner_Account:"ownerID",GroupName:"name",GroupFaceUrl:"avatar",GroupIntroduction:"introduction",GroupNotification:"notification",GroupApplyJoinOption:"joinOption",MsgKey:"messageKey",GroupInfo:"groupProfile",ShutupTime:"muteTime",Desc:"description",Ext:"extension"},ignoreKeyWord:["C2C","ID","USP"]},Un="_contextWasUpdated",qn="_contextWasReset",xn="_a2KeyAndTinyIDUpdated",Fn="_specifiedConfigUpdated",Hn="_noticeIsSynchronizing",Kn="_noticeIsSynchronized",Bn="_messageSent",Vn="_syncMessageProcessing",jn="_syncMessageFinished",Yn="_receiveInstantMessage",$n="_receiveGroupInstantMessage",Wn="_receveGroupSystemNotice",zn="_messageRevoked",Xn="_longPollGetIDFailed",Jn="_longPollRequestFailed",Qn="_longPollResponseOK",Zn="_longPollFastStart",er="_longPollSlowStart",tr="_longPollKickedOut",nr="_longPollMitipuleDeviceKickedOut",rr="_longPollGetNewC2CNotice",or="_longPollGetNewGroupMessages",ir="_longPollGetNewGroupTips",sr="_longPollGetNewGroupNotice",ar="_longPollGetNewFriendMessages",ur="_longPollProfileModified",cr="_longPollNoticeReceiveSystemOrders",lr=" _longpollGroupMessageRevoked",pr="_longpollC2CMessageRevoked",hr="_longpollC2CMessageReadReceipt",dr="_avlongPollRequestFailed",fr="_avlongPollResponseOK",gr="_onGroupListUpdated",mr="_loginSuccess",yr="_signLogoutExcuting",vr="_logoutSuccess",_r="_a2keyExpired",Ir="_errorHasBeenDetected",Cr="_onConversationListUpdated",Mr="_onConversationListProfileUpdated",Er="_conversationDeleted",Sr="onProfileUpdated",Tr="joinAVChatRoomSuccess",Dr="joinAVChatRoomSuccessNoAuth",kr="_sdkStateReady";function Ar(e,t){if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("Expected the input to be `string | string[]`");t=Object.assign({pascalCase:!1},t);var n;return 0===(e=Array.isArray(e)?e.map((function(e){return e.trim()})).filter((function(e){return e.length})).join("-"):e.trim()).length?"":1===e.length?t.pascalCase?e.toUpperCase():e.toLowerCase():(e!==e.toLowerCase()&&(e=Rr(e)),e=e.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(function(e,t){return t.toUpperCase()})).replace(/\d+(\w|$)/g,(function(e){return e.toUpperCase()})),n=e,t.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n)}var Rr=function(e){for(var t=!1,n=!1,r=!1,o=0;o<e.length;o++){var i=e[o];t&&/[a-zA-Z]/.test(i)&&i.toUpperCase()===i?(e=e.slice(0,o)+"-"+e.slice(o),t=!1,r=n,n=!0,o++):n&&r&&/[a-zA-Z]/.test(i)&&i.toLowerCase()===i?(e=e.slice(0,o-1)+"-"+e.slice(o-1),r=n,n=!1,t=!0):(t=i.toLowerCase()===i&&i.toUpperCase()!==i,r=n,n=i.toUpperCase()===i&&i.toLowerCase()!==i)}return e};function Or(e,t,n){var r=[],o=0,i=function e(t,n){if(++o>10)return o--,t;if(re(t)){var i=t.map((function(t){return te(t)?e(t,n):t}));return o--,i}if(te(t)){var s=(a=t,u=function(e,t){if(!ce(t))return!1;if((s=t)!==Ar(s)){for(var o=!0,i=0;i<bn.ignoreKeyWord.length;i++)if(t.includes(bn.ignoreKeyWord[i])){o=!1;break}o&&r.push(t)}var s;return oe(n[t])?function(e){return"OPPOChannelID"===e?e:e[0].toUpperCase()+Ar(e).slice(1)}(t):n[t]},c=Object.create(null),Object.keys(a).forEach((function(e){var t=u(a[e],e);t&&(c[t]=a[e])})),c);return s=Ae(s,(function(t,r){return re(t)||te(t)?e(t,n):t})),o--,s}var a,u,c}(e,t=u(u({},bn.request),t));return r.length>0&&n.innerEmitter.emit(Ir,{code:dt.CONVERTOR_IRREGULAR_PARAMS,message:fn}),i}function Nr(e,t){if(t=u(u({},bn.response),t),re(e))return e.map((function(e){return te(e)?Nr(e,t):e}));if(te(e)){var n=(r=e,o=function(e,n){return oe(t[n])?Ar(n):t[n]},i={},Object.keys(r).forEach((function(e){i[o(r[e],e)]=r[e]})),i);return n=Ae(n,(function(e){return re(e)||te(e)?Nr(e,t):e}))}var r,o,i}var wr=function(){function e(t){var n=this;r(this,e),this.url="",this.requestData=null,this.method=t.method||"POST",this.callback=function(e){return Nr(e=t.decode(e),n._getResponseMap(t))},this._initializeServerMap(),this._initializeURL(t),this._initializeRequestData(t)}return i(e,[{key:"_initializeServerMap",value:function(){this._serverMap=Object.create(null);var e="";for(var t in Gn.NAME)if(Object.prototype.hasOwnProperty.call(Gn.NAME,t))switch(e=Gn.NAME[t]){case Gn.NAME.PIC:this._serverMap[e]=Gn.HOST.CURRENT.PIC;break;case Gn.NAME.IM_COS_SIGN:this._serverMap[e]=Gn.HOST.CURRENT.COS;break;default:this._serverMap[e]=Gn.HOST.CURRENT.COMMON}}},{key:"_getHost",value:function(e){if(void 0!==this._serverMap[e])return this._serverMap[e];throw new ht({code:dt.NETWORK_UNDEFINED_SERVER_NAME,message:pn})}},{key:"_initializeURL",value:function(e){var t=e.serverName,n=e.cmd,r=this._getHost(t),o="".concat(r,"/").concat(Gn.NAME_VERSION[t],"/").concat(t,"/").concat(n);o+="?".concat(this._getQueryString(e.queryString)),this.url=o}},{key:"getUrl",value:function(){return this.url.replace(/&reqtime=(\d+)/,"&reqtime=".concat(Math.ceil(+new Date/1e3)))}},{key:"_initializeRequestData",value:function(e){var t,n=e.requestData;t=this._requestDataCleaner(n),this.requestData=e.encode(t)}},{key:"_requestDataCleaner",value:function(e){var t=Array.isArray(e)?[]:Object.create(null);for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&ce(r)&&null!==e[r]&&("object"!==n(e[r])?t[r]=e[r]:t[r]=this._requestDataCleaner.bind(this)(e[r]));return t}},{key:"_getQueryString",value:function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&("function"!=typeof e[n]?t.push("".concat(n,"=").concat(e[n])):t.push("".concat(n,"=").concat(e[n]())));return t.join("&")}},{key:"_getResponseMap",value:function(e){if(e.keyMaps&&e.keyMaps.response&&Object.keys(e.keyMaps.response).length>0)return e.keyMaps.response}}]),e}();function Lr(e){this.mixin(e)}Lr.mixin=function(e){var t=e.prototype||e;t._isReady=!1,t.ready=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e)return this._isReady?void(t?e.call(this):setTimeout(e,1)):(this._readyQueue=this._readyQueue||[],void this._readyQueue.push(e))},t.triggerReady=function(){var e=this;this._isReady=!0,setTimeout((function(){var t=e._readyQueue;e._readyQueue=[],t&&t.length>0&&t.forEach((function(e){e.call(this)}),e)}),1)},t.resetReady=function(){this._isReady=!1,this._readyQueue=[]},t.isReady=function(){return this._isReady}};var Pr=function(){function e(t){r(this,e),Lr.mixin(this),this.tim=t}return i(e,[{key:"isLoggedIn",value:function(){return this.tim.context.login===Ge.IS_LOGIN||!!this.tim.context.a2Key}},{key:"createTransportCapsule",value:function(e){var t=this.tim.packageConfig.get(e);return t?new wr(t):null}},{key:"request",value:function(e){var t=this.createTransportCapsule(e);return t||J.error("unknown transport capsule, please check!",e),this.tim.connectionController.request(t)}},{key:"emitInnerEvent",value:function(e,t){this.tim.innerEmitter.emit(e,t)}},{key:"emitOuterEvent",value:function(e,t){this.tim.outerEmitter.emit(e,t)}},{key:"reset",value:function(){J.warn(["method: IMController.reset() method must be implemented"].join())}},{key:"probeNetwork",value:function(){return this.tim.netMonitor.probe()}},{key:"getNetworkType",value:function(){return this.tim.netMonitor.getNetworkType()}},{key:"getPlatform",value:function(){var e="web";return K?e="wechat":N&&(e="wxmp"),e}}]),e}(),Gr=function(){function e(t,n){r(this,e),this.data=t,this._innerEmitter=n,this.defaultData={},Object.assign(this.defaultData,t),this.initGetterAndSetter()}return i(e,[{key:"initGetterAndSetter",value:function(){var e=this,t=function(t){Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){return e.data[t]},set:function(n){e.data[t]!==n&&(e.data[t]=n,e.onChange.bind(e)(t,n))}})};for(var n in e.data)Object.prototype.hasOwnProperty.call(e.data,n)&&t(n)}},{key:"onChange",value:function(e,t){this._innerEmitter.emit(Un,{key:e,value:t})}},{key:"reset",value:function(){for(var e in J.log("Context.reset"),this.data)Object.prototype.hasOwnProperty.call(this.data,e)&&(this.data[e]=this.defaultData.hasOwnProperty(e)?this.defaultData[e]:null)}}]),e}(),br=function(e){c(n,e);var t=y(n);function n(e){var o;r(this,n);var i=(o=t.call(this,e)).tim.loginInfo;return o._context=new Gr({login:Ge.IS_NOT_LOGIN,SDKAppID:i.SDKAppID,appIDAt3rd:null,accountType:i.accountType,identifier:i.identifier,tinyID:null,identifierNick:i.identifierNick,userSig:i.userSig,a2Key:null,contentType:"json",apn:1,unlimitedAVChatRoom:i.unlimitedAVChatRoom,scene:i.scene},o.tim.innerEmitter),o._initListener(),o}return i(n,[{key:"reset",value:function(){this._context.reset(),this.emitInnerEvent(qn)}},{key:"_initListener",value:function(){this.tim.innerEmitter.on(Un,this._onContextMemberChange,this),this.tim.innerEmitter.on(mr,this._updateA2KeyAndTinyID,this)}},{key:"_updateA2KeyAndTinyID",value:function(e){var t=e.data,n=t.a2Key,r=t.tinyID;this._context.a2Key=n,this._context.tinyID=r,this.emitInnerEvent(xn),this.triggerReady()}},{key:"getContext",value:function(){return this._context}},{key:"_onContextMemberChange",value:function(e){var t=e.data,n=t.key,r=t.value;("tinyID"===n||"a2Key"===n)&&(r.length<=0?this._context.login=Ge.IS_NOT_LOGIN:this._context.login=null!==this._context.a2Key?Ge.IS_LOGIN:Ge.IS_NOT_LOGIN)}}]),n}(Pr),Ur=function e(t){r(this,e),this.code=0,this.data=t||{}},qr=null,xr=function(e){qr=e},Fr=function(e){return e instanceof Ur?(J.warn("IMPromise.resolve 此函数会自动用options创建IMResponse实例,调用侧不需创建,建议修改!"),Promise.resolve(e)):Promise.resolve(new Ur(e))},Hr=function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t instanceof ht)return n&&null!==qr&&qr.emit(e.ERROR,t),Promise.reject(t);if(t instanceof Error){var r=new ht({code:dt.UNCAUGHT_ERROR,message:t.message});return n&&null!==qr&&qr.emit(e.ERROR,r),Promise.reject(r)}if(oe(t)||oe(t.code)||oe(t.message))J.error("IMPromise.reject 必须指定code(错误码)和message(错误信息)!!!");else{if(Z(t.code)&&ee(t.message)){var o=new ht(t);return n&&null!==qr&&qr.emit(e.ERROR,o),Promise.reject(o)}J.error("IMPromise.reject code(错误码)必须为数字,message(错误信息)必须为字符串!!!")}},Kr="sdkReady",Br="login",Vr="longpolling",jr="longpollingAV",Yr="sendMessage",$r="sendMessageC2C",Wr="sendMessageGroupWork",zr="sendMessageGroupPublic",Xr="sendMessageGroupMeeting",Jr="sendMessageGroupAV",Qr="messageReceived",Zr="messageReceivedAV",eo="initConversationList",to="initGroupList",no="upload",ro=function(){function e(){r(this,e),this.SDKAppID="",this.version="",this.tinyID="",this.userID="",this.platform="",this.method="",this.time="",this.startts=0,this.endts=0,this.timespan=0,this.codeint=0,this.message="",this.text="",this.msgType="",this.networkType="",this.platform="",this.scene="",this._sentFlag=!1}return i(e,[{key:"setCommonInfo",value:function(e){var t=e.SDKAppID,n=e.version,r=e.tinyID,o=e.userID,i=e.platform,s=e.scene;this.SDKAppID="".concat(t),this.version="".concat(n),this.tinyID=r,this.userID=o,this.platform=i,this.scene=s,this.time=fe(),this.startts&&this.endts&&!this.timespan&&(this.timespan=Math.abs(this.endts-this.startts))}},{key:"setMethod",value:function(e){return this.method=e,this}},{key:"setStart",value:function(){this.startts=Date.now()}},{key:"setEnd",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._sentFlag||(this.endts=Date.now(),t?(this._sentFlag=!0,this._eventStatController.pushIn(this)):setTimeout((function(){e._sentFlag=!0,e._eventStatController.pushIn(e)}),0))}},{key:"setError",value:function(e,t,n){return e instanceof Error?(this._sentFlag||(this.setNetworkType(n),t?(e.code&&this.setCode(e.code),e.message&&this.setMessage(e.message)):(this.setCode(dt.NO_NETWORK),this.setMessage(dn))),this):(J.warn("SSOLogData.setError value not instanceof Error, please check!"),this)}},{key:"setCode",value:function(e){return oe(e)||this._sentFlag||("ECONNABORTED"===e&&(this.codeint=103),Z(e)?this.codeint=e:J.warn("SSOLogData.setCode value not a number, please check!",e,n(e))),this}},{key:"setMessage",value:function(e){return oe(e)||this._sentFlag?this:ee(e)?(this.message=e,this):this}},{key:"setText",value:function(e){return Z(e)?this.text=e.toString():ee(e)&&(this.text=e),this}},{key:"setMessageType",value:function(e){return this.msgType=e,this}},{key:"setNetworkType",value:function(e){return oe(e)?J.warn("SSOLogData.setNetworkType value is undefined, please check!"):this.networkType=e,this}}],[{key:"bindController",value:function(t){e.prototype._eventStatController=t}}]),e}(),oo="sdkConstruct",io="sdkReady",so="accessLayer",ao="login",uo="logout",co="kickedOut",lo="registerPlugin",po="getCosAuthKey",ho="upload",fo="sendMessage",go="getC2CRoamingMessages",mo="getGroupRoamingMessages",yo="revokeMessage",vo="setC2CMessageRead",_o="setGroupMessageRead",Io="emptyMessageBody",Co="getPeerReadTime",Mo="getConversationList",Eo="getConversationProfile",So="deleteConversation",To="getConversationListInStorage",Do="syncConversationList",ko="createGroup",Ao="applyJoinGroup",Ro="quitGroup",Oo="searchGroupByID",No="changeGroupOwner",wo="handleGroupApplication",Lo="setMessageRemindType",Po="dismissGroup",Go="updateGroupProfile",bo="getGroupList",Uo="getGroupProfile",qo="getGroupListInStorage",xo="getGroupLastSequence",Fo="getGroupMemberList",Ho="getGroupMemberProfile",Ko="addGroupMember",Bo="deleteGroupMember",Vo="setGroupMemberMuteTime",jo="setGroupMemberNameCard",Yo="setGroupMemberRole",$o="setGroupMemberCustomField",Wo="getLongPollID",zo="longPollingError",Xo="networkJitter",Jo="fastStart",Qo="slowStart",Zo="messageLoss",ei="messageStacked",ti="getUserProfile",ni="updateMyProfile",ri="getBlacklist",oi="addToBlacklist",ii="removeFromBlacklist",si="mpHideToShow",ai="callbackFunctionError",ui="exceptionError",ci=function(n){c(s,n);var o=y(s);function s(e){var t;return r(this,s),(t=o.call(this,e))._initializeListener(),t}return i(s,[{key:"login",value:function(e){if(this.isLoggedIn()){var t="您已经登录账号".concat(e.identifier,"!如需切换账号登录,请先调用 logout 接口登出,再调用 login 接口登录。");return J.warn(t),Fr({actionStatus:"OK",errorCode:0,errorInfo:t,repeatLogin:!0})}J.log("SignController.login userID=",e.identifier),J.time(Br);var n=this._checkLoginInfo(e);return Oe(n)?(this.tim.context.identifier=e.identifier,this.tim.context.userSig=e.userSig,this.tim.context.identifier&&this.tim.context.userSig?this._accessLayer():void 0):Hr(n)}},{key:"_isLoginCurrentUser",value:function(e){return this.tim.context.identifier===e}},{key:"_initializeListener",value:function(){var e=this.tim.innerEmitter;e.on(tr,this._onMultipleAccountKickedOut,this),e.on(nr,this._onMultipleDeviceKickedOut,this),e.on(_r,this._onUserSigExpired,this)}},{key:"_accessLayer",value:function(){var e=this,t=new ro;return t.setMethod(so).setStart(),J.log("SignController._accessLayer."),this.request({name:"accessLayer",action:"query"}).then((function(n){return t.setCode(0).setNetworkType(e.getNetworkType()).setText(n.data.webImAccessLayer).setEnd(),J.log("SignController._accessLayer ok. webImAccessLayer=".concat(n.data.webImAccessLayer)),1===n.data.webImAccessLayer&&Gn.HOST.setCurrent(n.data.webImAccessLayer),e._login()})).catch((function(n){return e.probeNetwork().then((function(r){var o=v(r,2),i=o[0],s=o[1];t.setError(n,i,s).setEnd(!0),e.tim.eventStatController.reportAtOnce()})),J.error("SignController._accessLayer failed. error:",n),Hr(n)}))}},{key:"_login",value:function(){var e=this,t=new ro;return t.setMethod(ao).setStart(),this.request({name:"login",action:"query"}).then((function(n){var r=null;if(!n.data.tinyID)throw r=new ht({code:dt.NO_TINYID,message:vt}),t.setError(r,!0,e.getNetworkType()).setEnd(),r;if(!n.data.a2Key)throw r=new ht({code:dt.NO_A2KEY,message:_t}),t.setError(r,!0,e.getNetworkType()).setEnd(),r;return t.setCode(0).setNetworkType(e.getNetworkType()).setText("".concat(e.tim.loginInfo.identifier)).setEnd(),J.log("SignController.login ok. userID=".concat(e.tim.loginInfo.identifier," loginCost=").concat(J.timeEnd(Br),"ms")),e.emitInnerEvent(mr,{a2Key:n.data.a2Key,tinyID:n.data.tinyID}),Fr(n.data)})).catch((function(n){return e.probeNetwork().then((function(e){var r=v(e,2),o=r[0],i=r[1];t.setError(n,o,i).setEnd(!0)})),J.error("SignController.login failed. error:",n),Hr(n)}))}},{key:"logout",value:function(){var e=new ro;return e.setMethod(uo).setStart(),e.setCode(0).setNetworkType(this.getNetworkType()).setText("userID=".concat(this.tim.loginInfo.identifier," type=").concat("longPollLogout")).setEnd(!0),J.info("SignController.logout"),this.emitInnerEvent(yr),this._logout(Ze).then(this._emitLogoutSuccess.bind(this)).catch(this._emitLogoutSuccess.bind(this))}},{key:"_logout",value:function(e){var t=this.tim.notificationController,n=e===Qe?"logout":"longPollLogout",r=e===Qe?{name:n,action:"query"}:{name:n,action:"query",param:{longPollID:t.getLongPollID()}};return this.request(r).catch((function(e){return J.error("SignController._logout error:",e),Hr(e)}))}},{key:"_checkLoginInfo",value:function(e){var t=0,n="";return null===e.SDKAppID?(t=dt.NO_SDKAPPID,n=ft):null===e.accountType?(t=dt.NO_ACCOUNT_TYPE,n=gt):null===e.identifier?(t=dt.NO_IDENTIFIER,n=mt):null===e.userSig&&(t=dt.NO_USERSIG,n=yt),Oe(t)||Oe(n)?{}:{code:t,message:n}}},{key:"_emitLogoutSuccess",value:function(){return this.emitInnerEvent(vr),Fr({})}},{key:"_onMultipleAccountKickedOut",value:function(){var n=this,r=new ro;r.setMethod(co).setStart(),r.setCode(0).setNetworkType(this.getNetworkType()).setText(t.KICKED_OUT_MULT_ACCOUNT).setEnd(!0),J.warn("SignController._onMultipleAccountKickedOut kicked out. userID=".concat(this.tim.loginInfo.identifier)),this.tim.logout().then((function(){n.emitOuterEvent(e.KICKED_OUT,{type:t.KICKED_OUT_MULT_ACCOUNT})}))}},{key:"_onMultipleDeviceKickedOut",value:function(){var n=this,r=new ro;r.setMethod(co).setStart(),r.setCode(0).setNetworkType(this.getNetworkType()).setText(t.KICKED_OUT_MULT_DEVICE).setEnd(!0),J.warn("SignController._onMultipleDeviceKickedOut kicked out. userID=".concat(this.tim.loginInfo.identifier)),this.tim.logout().then((function(){n.emitOuterEvent(e.KICKED_OUT,{type:t.KICKED_OUT_MULT_DEVICE})}))}},{key:"_onUserSigExpired",value:function(){var n=new ro;n.setMethod(co).setStart(),n.setCode(0).setNetworkType(this.getNetworkType()).setText(t.KICKED_OUT_USERSIG_EXPIRED).setEnd(!0),J.warn("SignController._onUserSigExpired: userSig 签名过期被踢下线"),this.emitOuterEvent(e.KICKED_OUT,{type:t.KICKED_OUT_USERSIG_EXPIRED}),this.tim.resetSDK()}},{key:"reset",value:function(){J.info("SignController.reset")}}]),s}(Pr),li=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return e.apply(t,n)}},pi=Object.prototype.toString;function hi(e){return"[object Array]"===pi.call(e)}function di(e){return void 0===e}function fi(e){return null!==e&&"object"==typeof e}function gi(e){return"[object Function]"===pi.call(e)}function mi(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),hi(e))for(var n=0,r=e.length;n<r;n++)t.call(null,e[n],n,e);else for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.call(null,e[o],o,e)}var yi={isArray:hi,isArrayBuffer:function(e){return"[object ArrayBuffer]"===pi.call(e)},isBuffer:function(e){return null!==e&&!di(e)&&null!==e.constructor&&!di(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},isFormData:function(e){return"undefined"!=typeof FormData&&e instanceof FormData},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer},isString:function(e){return"string"==typeof e},isNumber:function(e){return"number"==typeof e},isObject:fi,isUndefined:di,isDate:function(e){return"[object Date]"===pi.call(e)},isFile:function(e){return"[object File]"===pi.call(e)},isBlob:function(e){return"[object Blob]"===pi.call(e)},isFunction:gi,isStream:function(e){return fi(e)&&gi(e.pipe)},isURLSearchParams:function(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:mi,merge:function e(){var t={};function n(n,r){"object"==typeof t[r]&&"object"==typeof n?t[r]=e(t[r],n):t[r]=n}for(var r=0,o=arguments.length;r<o;r++)mi(arguments[r],n);return t},deepMerge:function e(){var t={};function n(n,r){"object"==typeof t[r]&&"object"==typeof n?t[r]=e(t[r],n):t[r]="object"==typeof n?e({},n):n}for(var r=0,o=arguments.length;r<o;r++)mi(arguments[r],n);return t},extend:function(e,t,n){return mi(t,(function(t,r){e[r]=n&&"function"==typeof t?li(t,n):t})),e},trim:function(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}};function vi(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var _i=function(e,t,n){if(!t)return e;var r;if(n)r=n(t);else if(yi.isURLSearchParams(t))r=t.toString();else{var o=[];yi.forEach(t,(function(e,t){null!=e&&(yi.isArray(e)?t+="[]":e=[e],yi.forEach(e,(function(e){yi.isDate(e)?e=e.toISOString():yi.isObject(e)&&(e=JSON.stringify(e)),o.push(vi(t)+"="+vi(e))})))})),r=o.join("&")}if(r){var i=e.indexOf("#");-1!==i&&(e=e.slice(0,i)),e+=(-1===e.indexOf("?")?"?":"&")+r}return e};function Ii(){this.handlers=[]}Ii.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},Ii.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},Ii.prototype.forEach=function(e){yi.forEach(this.handlers,(function(t){null!==t&&e(t)}))};var Ci=Ii,Mi=function(e,t,n){return yi.forEach(n,(function(n){e=n(e,t)})),e},Ei=function(e){return!(!e||!e.__CANCEL__)};function Si(){throw new Error("setTimeout has not been defined")}function Ti(){throw new Error("clearTimeout has not been defined")}var Di=Si,ki=Ti;function Ai(e){if(Di===setTimeout)return setTimeout(e,0);if((Di===Si||!Di)&&setTimeout)return Di=setTimeout,setTimeout(e,0);try{return Di(e,0)}catch(t){try{return Di.call(null,e,0)}catch(t){return Di.call(this,e,0)}}}"function"==typeof B.setTimeout&&(Di=setTimeout),"function"==typeof B.clearTimeout&&(ki=clearTimeout);var Ri,Oi=[],Ni=!1,wi=-1;function Li(){Ni&&Ri&&(Ni=!1,Ri.length?Oi=Ri.concat(Oi):wi=-1,Oi.length&&Pi())}function Pi(){if(!Ni){var e=Ai(Li);Ni=!0;for(var t=Oi.length;t;){for(Ri=Oi,Oi=[];++wi<t;)Ri&&Ri[wi].run();wi=-1,t=Oi.length}Ri=null,Ni=!1,function(e){if(ki===clearTimeout)return clearTimeout(e);if((ki===Ti||!ki)&&clearTimeout)return ki=clearTimeout,clearTimeout(e);try{ki(e)}catch(t){try{return ki.call(null,e)}catch(t){return ki.call(this,e)}}}(e)}}function Gi(e,t){this.fun=e,this.array=t}Gi.prototype.run=function(){this.fun.apply(null,this.array)};function bi(){}var Ui=bi,qi=bi,xi=bi,Fi=bi,Hi=bi,Ki=bi,Bi=bi;var Vi=B.performance||{},ji=Vi.now||Vi.mozNow||Vi.msNow||Vi.oNow||Vi.webkitNow||function(){return(new Date).getTime()};var Yi=new Date;var $i={nextTick:function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];Oi.push(new Gi(e,t)),1!==Oi.length||Ni||Ai(Pi)},title:"browser",browser:!0,env:{},argv:[],version:"",versions:{},on:Ui,addListener:qi,once:xi,off:Fi,removeListener:Hi,removeAllListeners:Ki,emit:Bi,binding:function(e){throw new Error("process.binding is not supported")},cwd:function(){return"/"},chdir:function(e){throw new Error("process.chdir is not supported")},umask:function(){return 0},hrtime:function(e){var t=.001*ji.call(Vi),n=Math.floor(t),r=Math.floor(t%1*1e9);return e&&(n-=e[0],(r-=e[1])<0&&(n--,r+=1e9)),[n,r]},platform:"browser",release:{},config:{},uptime:function(){return(new Date-Yi)/1e3}},Wi=function(e,t){yi.forEach(e,(function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])}))},zi=function(e,t,n,r,o){return function(e,t,n,r,o){return e.config=t,n&&(e.code=n),e.request=r,e.response=o,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}(new Error(e),t,n,r,o)},Xi=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"],Ji=yi.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function r(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=r(window.location.href),function(t){var n=yi.isString(t)?r(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0},Qi=yi.isStandardBrowserEnv()?{write:function(e,t,n,r,o,i){var s=[];s.push(e+"="+encodeURIComponent(t)),yi.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),yi.isString(r)&&s.push("path="+r),yi.isString(o)&&s.push("domain="+o),!0===i&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}},Zi=function(e){return new Promise((function(t,n){var r=e.data,o=e.headers;yi.isFormData(r)&&delete o["Content-Type"];var i=new XMLHttpRequest;if(e.auth){var s=e.auth.username||"",a=e.auth.password||"";o.Authorization="Basic "+btoa(s+":"+a)}var u,c,l=(u=e.baseURL,c=e.url,u&&!/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(c)?function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}(u,c):c);if(i.open(e.method.toUpperCase(),_i(l,e.params,e.paramsSerializer),!0),i.timeout=e.timeout,i.onreadystatechange=function(){if(i&&4===i.readyState&&(0!==i.status||i.responseURL&&0===i.responseURL.indexOf("file:"))){var r,o,s,a,u,c="getAllResponseHeaders"in i?(r=i.getAllResponseHeaders(),u={},r?(yi.forEach(r.split("\n"),(function(e){if(a=e.indexOf(":"),o=yi.trim(e.substr(0,a)).toLowerCase(),s=yi.trim(e.substr(a+1)),o){if(u[o]&&Xi.indexOf(o)>=0)return;u[o]="set-cookie"===o?(u[o]?u[o]:[]).concat([s]):u[o]?u[o]+", "+s:s}})),u):u):null,l={data:e.responseType&&"text"!==e.responseType?i.response:i.responseText,status:i.status,statusText:i.statusText,headers:c,config:e,request:i};!function(e,t,n){var r=n.config.validateStatus;!r||r(n.status)?e(n):t(zi("Request failed with status code "+n.status,n.config,null,n.request,n))}(t,n,l),i=null}},i.onabort=function(){i&&(n(zi("Request aborted",e,"ECONNABORTED",i)),i=null)},i.onerror=function(){n(zi("Network Error",e,null,i)),i=null},i.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(zi(t,e,"ECONNABORTED",i)),i=null},yi.isStandardBrowserEnv()){var p=Qi,h=(e.withCredentials||Ji(l))&&e.xsrfCookieName?p.read(e.xsrfCookieName):void 0;h&&(o[e.xsrfHeaderName]=h)}if("setRequestHeader"in i&&yi.forEach(o,(function(e,t){void 0===r&&"content-type"===t.toLowerCase()?delete o[t]:i.setRequestHeader(t,e)})),yi.isUndefined(e.withCredentials)||(i.withCredentials=!!e.withCredentials),e.responseType)try{i.responseType=e.responseType}catch(d){if("json"!==e.responseType)throw d}"function"==typeof e.onDownloadProgress&&i.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&i.upload&&i.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){i&&(i.abort(),n(e),i=null)})),void 0===r&&(r=null),i.send(r)}))},es={"Content-Type":"application/x-www-form-urlencoded"};function ts(e,t){!yi.isUndefined(e)&&yi.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var ns,rs={adapter:(("undefined"!=typeof XMLHttpRequest||void 0!==$i&&"[object process]"===Object.prototype.toString.call($i))&&(ns=Zi),ns),transformRequest:[function(e,t){return Wi(t,"Accept"),Wi(t,"Content-Type"),yi.isFormData(e)||yi.isArrayBuffer(e)||yi.isBuffer(e)||yi.isStream(e)||yi.isFile(e)||yi.isBlob(e)?e:yi.isArrayBufferView(e)?e.buffer:yi.isURLSearchParams(e)?(ts(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):yi.isObject(e)?(ts(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(t){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};rs.headers={common:{Accept:"application/json, text/plain, */*"}},yi.forEach(["delete","get","head"],(function(e){rs.headers[e]={}})),yi.forEach(["post","put","patch"],(function(e){rs.headers[e]=yi.merge(es)}));var os=rs;function is(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var ss=function(e){return is(e),e.headers=e.headers||{},e.data=Mi(e.data,e.headers,e.transformRequest),e.headers=yi.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),yi.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||os.adapter)(e).then((function(t){return is(e),t.data=Mi(t.data,t.headers,e.transformResponse),t}),(function(t){return Ei(t)||(is(e),t&&t.response&&(t.response.data=Mi(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))},as=function(e,t){t=t||{};var n={},r=["url","method","params","data"],o=["headers","auth","proxy"],i=["baseURL","url","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"];yi.forEach(r,(function(e){void 0!==t[e]&&(n[e]=t[e])})),yi.forEach(o,(function(r){yi.isObject(t[r])?n[r]=yi.deepMerge(e[r],t[r]):void 0!==t[r]?n[r]=t[r]:yi.isObject(e[r])?n[r]=yi.deepMerge(e[r]):void 0!==e[r]&&(n[r]=e[r])})),yi.forEach(i,(function(r){void 0!==t[r]?n[r]=t[r]:void 0!==e[r]&&(n[r]=e[r])}));var s=r.concat(o).concat(i),a=Object.keys(t).filter((function(e){return-1===s.indexOf(e)}));return yi.forEach(a,(function(r){void 0!==t[r]?n[r]=t[r]:void 0!==e[r]&&(n[r]=e[r])})),n};function us(e){this.defaults=e,this.interceptors={request:new Ci,response:new Ci}}us.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=as(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[ss,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));t.length;)n=n.then(t.shift(),t.shift());return n},us.prototype.getUri=function(e){return e=as(this.defaults,e),_i(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},yi.forEach(["delete","get","head","options"],(function(e){us.prototype[e]=function(t,n){return this.request(yi.merge(n||{},{method:e,url:t}))}})),yi.forEach(["post","put","patch"],(function(e){us.prototype[e]=function(t,n,r){return this.request(yi.merge(r||{},{method:e,url:t,data:n}))}}));var cs=us;function ls(e){this.message=e}ls.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},ls.prototype.__CANCEL__=!0;var ps=ls;function hs(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new ps(e),t(n.reason))}))}hs.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},hs.source=function(){var e;return{token:new hs((function(t){e=t})),cancel:e}};var ds=hs;function fs(e){var t=new cs(e),n=li(cs.prototype.request,t);return yi.extend(n,cs.prototype,t),yi.extend(n,t),n}var gs=fs(os);gs.Axios=cs,gs.create=function(e){return fs(as(gs.defaults,e))},gs.Cancel=ps,gs.CancelToken=ds,gs.isCancel=Ei,gs.all=function(e){return Promise.all(e)},gs.spread=function(e){return function(t){return e.apply(null,t)}};var ms=gs,ys=gs;ms.default=ys;var vs=ms,_s=vs.create({timeout:3e4,headers:{"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"}});_s.interceptors.response.use((function(e){var t=e.data,n=t.error_code,r=t.ErrorCode;return Z(n)&&(r=n),r!==Pe.SUCCESS&&(e.data.ErrorCode=Number(r)),e}),(function(e){return"Network Error"===e.message&&(!0===_s.defaults.withCredentials&&J.warn("Network Error, try to close `IMAxios.defaults.withCredentials` to false. (IMAxios.js)"),_s.defaults.withCredentials=!1),Promise.reject(e)}));var Is=function(){function e(){r(this,e)}return i(e,[{key:"request",value:function(e){console.warn("请注意: ConnectionBase.request() 方法必须被派生类重写:"),console.log("参数如下:\n * @param {String} options.url string 是 开发者服务器接口地址\n * @param {*} options.data - string/object/ArrayBuffer 否 请求的参数\n * @param {Object} options.header - Object 否 设置请求的 header,\n * @param {String} options.method - string GET 否 HTTP 请求方法\n * @param {String} options.dataType - string json 否 返回的数据格式\n * @param {String} options.responseType - string text 否 响应的数据类型\n * @param {Boolean} isRetry - string text false 是否为重试的请求\n ")}},{key:"_checkOptions",value:function(e){if(!1==!!e.url)throw new ht({code:dt.NETWORK_BASE_OPTIONS_NO_URL,message:ln})}},{key:"_initOptions",value:function(e){e.method=["POST","GET","PUT","DELETE","OPTION"].indexOf(e.method)>=0?e.method:"POST",e.dataType=e.dataType||"json",e.responseType=e.responseType||"json"}}]),e}(),Cs=function(e){c(n,e);var t=y(n);function n(){var e;return r(this,n),(e=t.call(this)).retry=2,e}return i(n,[{key:"request",value:function(e){return this._checkOptions(e),this._initOptions(e),this._requestWithRetry({url:e.url,data:e.data,method:e.method})}},{key:"_requestWithRetry",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return _s(e).catch((function(r){return t.retry&&n<t.retry?t._requestWithRetry(e,++n):Hr(new ht({code:r.code||"",message:r.message||""}))}))}}]),n}(Is),Ms=[],Es=[],Ss="undefined"!=typeof Uint8Array?Uint8Array:Array,Ts=!1;function Ds(){Ts=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,n=e.length;t<n;++t)Ms[t]=e[t],Es[e.charCodeAt(t)]=t;Es["-".charCodeAt(0)]=62,Es["_".charCodeAt(0)]=63}function ks(e,t,n){for(var r,o,i=[],s=t;s<n;s+=3)r=(e[s]<<16)+(e[s+1]<<8)+e[s+2],i.push(Ms[(o=r)>>18&63]+Ms[o>>12&63]+Ms[o>>6&63]+Ms[63&o]);return i.join("")}function As(e){var t;Ts||Ds();for(var n=e.length,r=n%3,o="",i=[],s=0,a=n-r;s<a;s+=16383)i.push(ks(e,s,s+16383>a?a:s+16383));return 1===r?(t=e[n-1],o+=Ms[t>>2],o+=Ms[t<<4&63],o+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],o+=Ms[t>>10],o+=Ms[t>>4&63],o+=Ms[t<<2&63],o+="="),i.push(o),i.join("")}function Rs(e,t,n,r,o){var i,s,a=8*o-r-1,u=(1<<a)-1,c=u>>1,l=-7,p=n?o-1:0,h=n?-1:1,d=e[t+p];for(p+=h,i=d&(1<<-l)-1,d>>=-l,l+=a;l>0;i=256*i+e[t+p],p+=h,l-=8);for(s=i&(1<<-l)-1,i>>=-l,l+=r;l>0;s=256*s+e[t+p],p+=h,l-=8);if(0===i)i=1-c;else{if(i===u)return s?NaN:Infinity*(d?-1:1);s+=Math.pow(2,r),i-=c}return(d?-1:1)*s*Math.pow(2,i-r)}function Os(e,t,n,r,o,i){var s,a,u,c=8*i-o-1,l=(1<<c)-1,p=l>>1,h=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:i-1,f=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||Infinity===t?(a=isNaN(t)?1:0,s=l):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),(t+=s+p>=1?h/u:h*Math.pow(2,1-p))*u>=2&&(s++,u/=2),s+p>=l?(a=0,s=l):s+p>=1?(a=(t*u-1)*Math.pow(2,o),s+=p):(a=t*Math.pow(2,p-1)*Math.pow(2,o),s=0));o>=8;e[n+d]=255&a,d+=f,a/=256,o-=8);for(s=s<<o|a,c+=o;c>0;e[n+d]=255&s,d+=f,s/=256,c-=8);e[n+d-f]|=128*g}var Ns={}.toString,ws=Array.isArray||function(e){return"[object Array]"==Ns.call(e)};function Ls(){return Gs.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Ps(e,t){if(Ls()<t)throw new RangeError("Invalid typed array length");return Gs.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=Gs.prototype:(null===e&&(e=new Gs(t)),e.length=t),e}function Gs(e,t,n){if(!(Gs.TYPED_ARRAY_SUPPORT||this instanceof Gs))return new Gs(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return qs(this,e)}return bs(this,e,t,n)}function bs(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r);Gs.TYPED_ARRAY_SUPPORT?(e=t).__proto__=Gs.prototype:e=xs(e,t);return e}(e,t,n,r):"string"==typeof t?function(e,t,n){"string"==typeof n&&""!==n||(n="utf8");if(!Gs.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|Ks(t,n),o=(e=Ps(e,r)).write(t,n);o!==r&&(e=e.slice(0,o));return e}(e,t,n):function(e,t){if(Hs(t)){var n=0|Fs(t.length);return 0===(e=Ps(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?Ps(e,0):xs(e,t);if("Buffer"===t.type&&ws(t.data))return xs(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function Us(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function qs(e,t){if(Us(t),e=Ps(e,t<0?0:0|Fs(t)),!Gs.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function xs(e,t){var n=t.length<0?0:0|Fs(t.length);e=Ps(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function Fs(e){if(e>=Ls())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Ls().toString(16)+" bytes");return 0|e}function Hs(e){return!(null==e||!e._isBuffer)}function Ks(e,t){if(Hs(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return fa(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return ga(e).length;default:if(r)return fa(e).length;t=(""+t).toLowerCase(),r=!0}}function Bs(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return ra(this,t,n);case"utf8":case"utf-8":return ea(this,t,n);case"ascii":return ta(this,t,n);case"latin1":case"binary":return na(this,t,n);case"base64":return Zs(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return oa(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function Vs(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function js(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof t&&(t=Gs.from(t,r)),Hs(t))return 0===t.length?-1:Ys(e,t,n,r,o);if("number"==typeof t)return t&=255,Gs.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):Ys(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function Ys(e,t,n,r,o){var i,s=1,a=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;s=2,a/=2,u/=2,n/=2}function c(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(o){var l=-1;for(i=n;i<a;i++)if(c(e,i)===c(t,-1===l?0:i-l)){if(-1===l&&(l=i),i-l+1===u)return l*s}else-1!==l&&(i-=i-l),l=-1}else for(n+u>a&&(n=a-u),i=n;i>=0;i--){for(var p=!0,h=0;h<u;h++)if(c(e,i+h)!==c(t,h)){p=!1;break}if(p)return i}return-1}function $s(e,t,n,r){n=Number(n)||0;var o=e.length-n;r?(r=Number(r))>o&&(r=o):r=o;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");r>i/2&&(r=i/2);for(var s=0;s<r;++s){var a=parseInt(t.substr(2*s,2),16);if(isNaN(a))return s;e[n+s]=a}return s}function Ws(e,t,n,r){return ma(fa(t,e.length-n),e,n,r)}function zs(e,t,n,r){return ma(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function Xs(e,t,n,r){return zs(e,t,n,r)}function Js(e,t,n,r){return ma(ga(t),e,n,r)}function Qs(e,t,n,r){return ma(function(e,t){for(var n,r,o,i=[],s=0;s<e.length&&!((t-=2)<0);++s)n=e.charCodeAt(s),r=n>>8,o=n%256,i.push(o),i.push(r);return i}(t,e.length-n),e,n,r)}function Zs(e,t,n){return 0===t&&n===e.length?As(e):As(e.slice(t,n))}function ea(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o<n;){var i,s,a,u,c=e[o],l=null,p=c>239?4:c>223?3:c>191?2:1;if(o+p<=n)switch(p){case 1:c<128&&(l=c);break;case 2:128==(192&(i=e[o+1]))&&(u=(31&c)<<6|63&i)>127&&(l=u);break;case 3:i=e[o+1],s=e[o+2],128==(192&i)&&128==(192&s)&&(u=(15&c)<<12|(63&i)<<6|63&s)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:i=e[o+1],s=e[o+2],a=e[o+3],128==(192&i)&&128==(192&s)&&128==(192&a)&&(u=(15&c)<<18|(63&i)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(l=u)}null===l?(l=65533,p=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=p}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=4096));return n}(r)}Gs.TYPED_ARRAY_SUPPORT=void 0===B.TYPED_ARRAY_SUPPORT||B.TYPED_ARRAY_SUPPORT,Gs.poolSize=8192,Gs._augment=function(e){return e.__proto__=Gs.prototype,e},Gs.from=function(e,t,n){return bs(null,e,t,n)},Gs.TYPED_ARRAY_SUPPORT&&(Gs.prototype.__proto__=Uint8Array.prototype,Gs.__proto__=Uint8Array),Gs.alloc=function(e,t,n){return function(e,t,n,r){return Us(t),t<=0?Ps(e,t):void 0!==n?"string"==typeof r?Ps(e,t).fill(n,r):Ps(e,t).fill(n):Ps(e,t)}(null,e,t,n)},Gs.allocUnsafe=function(e){return qs(null,e)},Gs.allocUnsafeSlow=function(e){return qs(null,e)},Gs.isBuffer=function(e){return null!=e&&(!!e._isBuffer||ya(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&ya(e.slice(0,0))}(e))},Gs.compare=function(e,t){if(!Hs(e)||!Hs(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,o=0,i=Math.min(n,r);o<i;++o)if(e[o]!==t[o]){n=e[o],r=t[o];break}return n<r?-1:r<n?1:0},Gs.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Gs.concat=function(e,t){if(!ws(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return Gs.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=Gs.allocUnsafe(t),o=0;for(n=0;n<e.length;++n){var i=e[n];if(!Hs(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(r,o),o+=i.length}return r},Gs.byteLength=Ks,Gs.prototype._isBuffer=!0,Gs.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)Vs(this,t,t+1);return this},Gs.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)Vs(this,t,t+3),Vs(this,t+1,t+2);return this},Gs.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)Vs(this,t,t+7),Vs(this,t+1,t+6),Vs(this,t+2,t+5),Vs(this,t+3,t+4);return this},Gs.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?ea(this,0,e):Bs.apply(this,arguments)},Gs.prototype.equals=function(e){if(!Hs(e))throw new TypeError("Argument must be a Buffer");return this===e||0===Gs.compare(this,e)},Gs.prototype.inspect=function(){var e="";return this.length>0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),"<Buffer "+e+">"},Gs.prototype.compare=function(e,t,n,r,o){if(!Hs(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(this===e)return 0;for(var i=(o>>>=0)-(r>>>=0),s=(n>>>=0)-(t>>>=0),a=Math.min(i,s),u=this.slice(r,o),c=e.slice(t,n),l=0;l<a;++l)if(u[l]!==c[l]){i=u[l],s=c[l];break}return i<s?-1:s<i?1:0},Gs.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},Gs.prototype.indexOf=function(e,t,n){return js(this,e,t,n,!0)},Gs.prototype.lastIndexOf=function(e,t,n){return js(this,e,t,n,!1)},Gs.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var o=this.length-t;if((void 0===n||n>o)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var i=!1;;)switch(r){case"hex":return $s(this,e,t,n);case"utf8":case"utf-8":return Ws(this,e,t,n);case"ascii":return zs(this,e,t,n);case"latin1":case"binary":return Xs(this,e,t,n);case"base64":return Js(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Qs(this,e,t,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},Gs.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function ta(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(127&e[o]);return r}function na(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(e[o]);return r}function ra(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var o="",i=t;i<n;++i)o+=da(e[i]);return o}function oa(e,t,n){for(var r=e.slice(t,n),o="",i=0;i<r.length;i+=2)o+=String.fromCharCode(r[i]+256*r[i+1]);return o}function ia(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function sa(e,t,n,r,o,i){if(!Hs(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||t<i)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function aa(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-n,2);o<i;++o)e[n+o]=(t&255<<8*(r?o:1-o))>>>8*(r?o:1-o)}function ua(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-n,4);o<i;++o)e[n+o]=t>>>8*(r?o:3-o)&255}function ca(e,t,n,r,o,i){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function la(e,t,n,r,o){return o||ca(e,0,n,4),Os(e,t,n,r,23,4),n+4}function pa(e,t,n,r,o){return o||ca(e,0,n,8),Os(e,t,n,r,52,8),n+8}Gs.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),Gs.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=Gs.prototype;else{var o=t-e;n=new Gs(o,void 0);for(var i=0;i<o;++i)n[i]=this[i+e]}return n},Gs.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||ia(e,t,this.length);for(var r=this[e],o=1,i=0;++i<t&&(o*=256);)r+=this[e+i]*o;return r},Gs.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||ia(e,t,this.length);for(var r=this[e+--t],o=1;t>0&&(o*=256);)r+=this[e+--t]*o;return r},Gs.prototype.readUInt8=function(e,t){return t||ia(e,1,this.length),this[e]},Gs.prototype.readUInt16LE=function(e,t){return t||ia(e,2,this.length),this[e]|this[e+1]<<8},Gs.prototype.readUInt16BE=function(e,t){return t||ia(e,2,this.length),this[e]<<8|this[e+1]},Gs.prototype.readUInt32LE=function(e,t){return t||ia(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Gs.prototype.readUInt32BE=function(e,t){return t||ia(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Gs.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||ia(e,t,this.length);for(var r=this[e],o=1,i=0;++i<t&&(o*=256);)r+=this[e+i]*o;return r>=(o*=128)&&(r-=Math.pow(2,8*t)),r},Gs.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||ia(e,t,this.length);for(var r=t,o=1,i=this[e+--r];r>0&&(o*=256);)i+=this[e+--r]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},Gs.prototype.readInt8=function(e,t){return t||ia(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Gs.prototype.readInt16LE=function(e,t){t||ia(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},Gs.prototype.readInt16BE=function(e,t){t||ia(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},Gs.prototype.readInt32LE=function(e,t){return t||ia(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Gs.prototype.readInt32BE=function(e,t){return t||ia(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Gs.prototype.readFloatLE=function(e,t){return t||ia(e,4,this.length),Rs(this,e,!0,23,4)},Gs.prototype.readFloatBE=function(e,t){return t||ia(e,4,this.length),Rs(this,e,!1,23,4)},Gs.prototype.readDoubleLE=function(e,t){return t||ia(e,8,this.length),Rs(this,e,!0,52,8)},Gs.prototype.readDoubleBE=function(e,t){return t||ia(e,8,this.length),Rs(this,e,!1,52,8)},Gs.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||sa(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,i=0;for(this[t]=255&e;++i<n&&(o*=256);)this[t+i]=e/o&255;return t+n},Gs.prototype.writeUIntBE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||sa(this,e,t,n,Math.pow(2,8*n)-1,0);var o=n-1,i=1;for(this[t+o]=255&e;--o>=0&&(i*=256);)this[t+o]=e/i&255;return t+n},Gs.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||sa(this,e,t,1,255,0),Gs.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Gs.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||sa(this,e,t,2,65535,0),Gs.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):aa(this,e,t,!0),t+2},Gs.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||sa(this,e,t,2,65535,0),Gs.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):aa(this,e,t,!1),t+2},Gs.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||sa(this,e,t,4,4294967295,0),Gs.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):ua(this,e,t,!0),t+4},Gs.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||sa(this,e,t,4,4294967295,0),Gs.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):ua(this,e,t,!1),t+4},Gs.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);sa(this,e,t,n,o-1,-o)}var i=0,s=1,a=0;for(this[t]=255&e;++i<n&&(s*=256);)e<0&&0===a&&0!==this[t+i-1]&&(a=1),this[t+i]=(e/s>>0)-a&255;return t+n},Gs.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);sa(this,e,t,n,o-1,-o)}var i=n-1,s=1,a=0;for(this[t+i]=255&e;--i>=0&&(s*=256);)e<0&&0===a&&0!==this[t+i+1]&&(a=1),this[t+i]=(e/s>>0)-a&255;return t+n},Gs.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||sa(this,e,t,1,127,-128),Gs.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Gs.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||sa(this,e,t,2,32767,-32768),Gs.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):aa(this,e,t,!0),t+2},Gs.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||sa(this,e,t,2,32767,-32768),Gs.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):aa(this,e,t,!1),t+2},Gs.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||sa(this,e,t,4,2147483647,-2147483648),Gs.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):ua(this,e,t,!0),t+4},Gs.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||sa(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Gs.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):ua(this,e,t,!1),t+4},Gs.prototype.writeFloatLE=function(e,t,n){return la(this,e,t,!0,n)},Gs.prototype.writeFloatBE=function(e,t,n){return la(this,e,t,!1,n)},Gs.prototype.writeDoubleLE=function(e,t,n){return pa(this,e,t,!0,n)},Gs.prototype.writeDoubleBE=function(e,t,n){return pa(this,e,t,!1,n)},Gs.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var o,i=r-n;if(this===e&&n<t&&t<r)for(o=i-1;o>=0;--o)e[o+t]=this[o+n];else if(i<1e3||!Gs.TYPED_ARRAY_SUPPORT)for(o=0;o<i;++o)e[o+t]=this[o+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+i),t);return i},Gs.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!Gs.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var i;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(i=t;i<n;++i)this[i]=e;else{var s=Hs(e)?e:fa(new Gs(e,r).toString()),a=s.length;for(i=0;i<n-t;++i)this[i+t]=s[i%a]}return this};var ha=/[^+\/0-9A-Za-z-_]/g;function da(e){return e<16?"0"+e.toString(16):e.toString(16)}function fa(e,t){var n;t=t||Infinity;for(var r=e.length,o=null,i=[],s=0;s<r;++s){if((n=e.charCodeAt(s))>55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function ga(e){return function(e){var t,n,r,o,i,s;Ts||Ds();var a=e.length;if(a%4>0)throw new Error("Invalid string. Length must be a multiple of 4");i="="===e[a-2]?2:"="===e[a-1]?1:0,s=new Ss(3*a/4-i),r=i>0?a-4:a;var u=0;for(t=0,n=0;t<r;t+=4,n+=3)o=Es[e.charCodeAt(t)]<<18|Es[e.charCodeAt(t+1)]<<12|Es[e.charCodeAt(t+2)]<<6|Es[e.charCodeAt(t+3)],s[u++]=o>>16&255,s[u++]=o>>8&255,s[u++]=255&o;return 2===i?(o=Es[e.charCodeAt(t)]<<2|Es[e.charCodeAt(t+1)]>>4,s[u++]=255&o):1===i&&(o=Es[e.charCodeAt(t)]<<10|Es[e.charCodeAt(t+1)]<<4|Es[e.charCodeAt(t+2)]>>2,s[u++]=o>>8&255,s[u++]=255&o),s}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(ha,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function ma(e,t,n,r){for(var o=0;o<r&&!(o+n>=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function ya(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var va=function(e){c(n,e);var t=y(n);function n(){var e;return r(this,n),(e=t.call(this)).retry=2,e._request=e.promisify(wx.request),e}return i(n,[{key:"request",value:function(e){return this._checkOptions(e),this._initOptions(e),e=u(u({},e),{},{responseType:"text"}),this._requestWithRetry(e)}},{key:"_requestWithRetry",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this._request(e).then(this._handleResolve).catch((function(r){if(ee(r.errMsg)){if(r.errMsg.includes("abort"))return Fr({});if(r.errMsg.includes("timeout"))return t.retry>0&&n<t.retry?t._requestWithRetry(e,++n):Hr(new ht({code:dt.NETWORK_TIMEOUT,message:r.errMsg}));if(r.errMsg.includes("fail"))return t.retry>0&&n<t.retry?t._requestWithRetry(e,++n):Hr(new ht({code:dt.NETWORK_ERROR,message:r.errMsg}))}return Hr(new ht(u({code:dt.UNCAUGHT_ERROR,message:r.message},r)))}))}},{key:"_handleResolve",value:function(e){var t=e.data,n=t.error_code,r=t.ErrorCode;return"number"==typeof n&&(r=n),r!==Pe.SUCCESS&&(e.data.ErrorCode=Number("".concat(r))),e}},{key:"promisify",value:function(e){return function(t){return new Promise((function(n,r){var o=e(Object.assign({},t,{success:n,fail:r}));t.updateAbort&&t.updateAbort((function(){o&&se(o.abort)&&o.abort()}))}))}}}]),n}(Is),_a=function(){function e(){r(this,e),this.request=0,this.success=0,this.fail=0,this.reportRate=10,this.requestTimeCost=[]}return i(e,[{key:"report",value:function(){if(1!==this.request){if(this.request%this.reportRate!=0)return null;var e=this.avgRequestTime(),t="runLoop reports: success=".concat(this.success,",fail=").concat(this.fail,",total=").concat(this.request,",avg=").concat(e,",cur=").concat(this.requestTimeCost[this.requestTimeCost.length-1],",max=").concat(Math.max.apply(null,this.requestTimeCost),",min=").concat(Math.min.apply(null,this.requestTimeCost));J.log(t)}}},{key:"setRequestTime",value:function(e,t){var n=Math.abs(t-e);100===this.requestTimeCost.length&&this.requestTimeCost.shift(),this.requestTimeCost.push(n)}},{key:"avgRequestTime",value:function(){for(var e,t=this.requestTimeCost.length,n=0,r=0;r<t;r++)n+=this.requestTimeCost[r];return e=n/t,Math.round(100*e)/100}}]),e}(),Ia=vs.create({timeout:6e3,headers:{"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"}});Ia.interceptors.response.use((function(e){var t=e.data,n=t.error_code,r=t.ErrorCode;return Z(n)&&(r=n),r!==Pe.SUCCESS&&(e.data.ErrorCode=Number(r)),e}),(function(e){return"Network Error"===e.message&&(!0===Ia.defaults.withCredentials&&J.warn("Network Error, try to close `IMAxiosAVChatroom.defaults.withCredentials` to false. (IMAxiosAVChatroom.js)"),Ia.defaults.withCredentials=!1),Promise.reject(e)}));var Ca=vs.CancelToken,Ma=function(){function e(t){r(this,e),this._initializeOptions(t),this._initializeMembers(),this.status=new _a}return i(e,[{key:"destructor",value:function(){clearTimeout(this._seedID);var e=this._index();for(var t in this)Object.prototype.hasOwnProperty.call(this,t)&&(this[t]=null);return e}},{key:"setIndex",value:function(e){this._index=e}},{key:"getIndex",value:function(){return this._index}},{key:"isRunning",value:function(){return!this._stoped}},{key:"_initializeOptions",value:function(e){this.options=e}},{key:"_initializeMembers",value:function(){this._index=-1,this._seedID=0,this._requestStatus=!1,this._stoped=!1,this._intervalTime=0,this._intervalIncreaseStep=1e3,this._intervalDecreaseStep=1e3,this._intervalTimeMax=5e3,this._protectTimeout=3e3,this._getNoticeSeq=this.options.getNoticeSeq,this._retryCount=0,this._responseTime=Date.now(),this._responseTimeThreshold=2e3,this.options.isAVChatRoomLoop?this.requestor=Ia:this.requestor=_s,J.log("XHRRunLoop._initializeMembers isAVChatRoomLoop=".concat(!!this.options.isAVChatRoomLoop)),this.abort=null}},{key:"start",value:function(){0===this._seedID?(this._stoped=!1,this._send()):J.log('XHRRunLoop.start(), XHRRunLoop is running now, if you want to restart runLoop , please run "stop()" first.')}},{key:"_reset",value:function(){J.log("XHRRunLoop._reset(), reset long poll _intervalTime",this._intervalTime),this.stop(),this.start()}},{key:"_intervalTimeIncrease",value:function(){this._intervalTime!==this._responseTimeThreshold&&(this._intervalTime<this._responseTimeThreshold&&(this._intervalTime+=this._intervalIncreaseStep),this._intervalTime>this._responseTimeThreshold&&(this._intervalTime=this._responseTimeThreshold))}},{key:"_intervalTimeDecrease",value:function(){0!==this._intervalTime&&(this._intervalTime>0&&(this._intervalTime-=this._intervalDecreaseStep),this._intervalTime<0&&(this._intervalTime=0))}},{key:"_intervalTimeAdjustment",value:function(){var e=Date.now();100*Math.floor((e-this._responseTime)/100)<=this._responseTimeThreshold?this._intervalTimeIncrease():this._intervalTimeDecrease(),this._responseTime=e}},{key:"_intervalTimeAdjustmentBaseOnResponseData",value:function(e){e.ErrorCode===Pe.SUCCESS?this._intervalTimeDecrease():this._intervalTimeIncrease()}},{key:"_send",value:function(){var e=this;if(!0!==this._requestStatus){this._requestStatus=!0,this.status.request++,"function"==typeof this.options.before&&this.options.before(this.options.pack.requestData);var t=Date.now(),n=0;this.requestor.request({url:this.options.pack.getUrl(),data:this.options.pack.requestData,method:this.options.pack.method,cancelToken:new Ca((function(t){e.abort=t}))}).then((function(r){if(e._intervalTimeAdjustmentBaseOnResponseData.bind(e)(r.data),e._retryCount>0&&(e._retryCount=0),e.status.success++,n=Date.now(),e.status.setRequestTime(t,n),r.data.timecost=n-t,"function"==typeof e.options.success)try{e.options.success({pack:e.options.pack,error:!1,data:e.options.pack.callback(r.data)})}catch(o){J.warn("XHRRunLoop._send(), error:",o)}e._requestStatus=!1,!1===e._stoped&&(e._seedID=setTimeout(e._send.bind(e),e._intervalTime)),e.status.report()})).catch((function(r){if(e.status.fail++,e._retryCount++,e._intervalTimeAdjustment.bind(e)(),!1===e._stoped&&(e._seedID=setTimeout(e._send.bind(e),e._intervalTime)),e._requestStatus=!1,"function"==typeof e.options.fail&&void 0!==r.request)try{e.options.fail({pack:e.options.pack,error:r,data:!1})}catch(o){J.warn("XHRRunLoop._send(), fail callback error:",o),J.error(o)}n=Date.now(),e.status.setRequestTime(t,n),e.status.report()}))}}},{key:"stop",value:function(){this._clearAllTimeOut(),this._stoped=!0}},{key:"_clearAllTimeOut",value:function(){clearTimeout(this._seedID),this._seedID=0}}]),e}(),Ea=function(){function e(t){r(this,e),this._initializeOptions(t),this._initializeMembers(),this.status=new _a}return i(e,[{key:"destructor",value:function(){clearTimeout(this._seedID);var e=this._index();for(var t in this)Object.prototype.hasOwnProperty.call(this,t)&&(this[t]=null);return e}},{key:"setIndex",value:function(e){this._index=e}},{key:"isRunning",value:function(){return!this._stoped}},{key:"getIndex",value:function(){return this._index}},{key:"_initializeOptions",value:function(e){this.options=e}},{key:"_initializeMembers",value:function(){this._index=-1,this._seedID=0,this._requestStatus=!1,this._stoped=!1,this._intervalTime=0,this._intervalIncreaseStep=1e3,this._intervalDecreaseStep=1e3,this._intervalTimeMax=5e3,this._protectTimeout=3e3,this._getNoticeSeq=this.options.getNoticeSeq,this._retryCount=0,this._responseTime=Date.now(),this._responseTimeThreshold=2e3,this.requestor=new va,this.abort=null}},{key:"start",value:function(){0===this._seedID?(this._stoped=!1,this._send()):J.log('WXRunLoop.start(): WXRunLoop is running now, if you want to restart runLoop , please run "stop()" first.')}},{key:"_reset",value:function(){J.log("WXRunLoop.reset(), long poll _intervalMaxRate",this._intervalMaxRate),this.stop(),this.start()}},{key:"_intervalTimeIncrease",value:function(){this._intervalTime!==this._responseTimeThreshold&&(this._intervalTime<this._responseTimeThreshold&&(this._intervalTime+=this._intervalIncreaseStep),this._intervalTime>this._responseTimeThreshold&&(this._intervalTime=this._responseTimeThreshold))}},{key:"_intervalTimeDecrease",value:function(){0!==this._intervalTime&&(this._intervalTime>0&&(this._intervalTime-=this._intervalDecreaseStep),this._intervalTime<0&&(this._intervalTime=0))}},{key:"_intervalTimeAdjustment",value:function(){var e=Date.now();100*Math.floor((e-this._responseTime)/100)<=this._responseTimeThreshold?this._intervalTimeIncrease():this._intervalTimeDecrease(),this._responseTime=e}},{key:"_intervalTimeAdjustmentBaseOnResponseData",value:function(e){e.ErrorCode===Pe.SUCCESS?this._intervalTimeDecrease():this._intervalTimeIncrease()}},{key:"_send",value:function(){var e=this;if(!0!==this._requestStatus){var t=this;this._requestStatus=!0,this.status.request++,"function"==typeof this.options.before&&this.options.before(t.options.pack.requestData);var n=Date.now(),r=0;this.requestor.request({url:t.options.pack.getUrl(),data:t.options.pack.requestData,method:t.options.pack.method,updateAbort:function(t){e.abort=t}}).then((function(o){if(t._intervalTimeAdjustmentBaseOnResponseData.bind(e)(o.data),t._retryCount>0&&(t._retryCount=0),e.status.success++,r=Date.now(),e.status.setRequestTime(n,r),o.data.timecost=r-n,"function"==typeof t.options.success)try{e.options.success({pack:e.options.pack,error:!1,data:e.options.pack.callback(o.data)})}catch(i){J.warn("WXRunLoop._send(), error:",i)}t._requestStatus=!1,!1===t._stoped&&(t._seedID=setTimeout(t._send.bind(t),t._intervalTime)),e.status.report()})).catch((function(o){if(e.status.fail++,t._retryCount++,t._intervalTimeAdjustment.bind(e)(),!1===t._stoped&&(t._seedID=setTimeout(t._send.bind(t),t._intervalTime)),t._requestStatus=!1,"function"==typeof t.options.fail)try{e.options.fail({pack:e.options.pack,error:o,data:!1})}catch(i){J.warn("WXRunLoop._send(), fail callback error:",i),J.error(i)}r=Date.now(),e.status.setRequestTime(n,r),e.status.report()}))}}},{key:"stop",value:function(){this._clearAllTimeOut(),this._stoped=!0}},{key:"_clearAllTimeOut",value:function(){clearTimeout(this._seedID),this._seedID=0}}]),e}(),Sa=function(){function e(t){r(this,e),this.tim=t,this.httpConnection=N?new va:new Cs,this.keepAliveConnections=[]}return i(e,[{key:"initializeListener",value:function(){this.tim.innerEmitter.on(yr,this._stopAllRunLoop,this)}},{key:"request",value:function(e){var t={url:e.url,data:e.requestData,method:e.method,callback:e.callback};return this.httpConnection.request(t).then((function(t){return t.data=e.callback(t.data),t.data.errorCode!==Pe.SUCCESS?Hr(new ht({code:t.data.errorCode,message:t.data.errorInfo})):t}))}},{key:"createRunLoop",value:function(e){var t=this.createKeepAliveConnection(e);return t.setIndex(this.keepAliveConnections.push(t)-1),t}},{key:"stopRunLoop",value:function(e){e.stop()}},{key:"_stopAllRunLoop",value:function(){for(var e=this.keepAliveConnections.length,t=0;t<e;t++)this.keepAliveConnections[t].stop()}},{key:"destroyRunLoop",value:function(e){e.stop();var t=e.destructor();this.keepAliveConnections.slice(t,1)}},{key:"startRunLoopExclusive",value:function(e){for(var t=e.getIndex(),n=0;n<this.keepAliveConnections.length;n++)n!==t&&this.keepAliveConnections[n].stop();e.start()}},{key:"createKeepAliveConnection",value:function(e){return N?new Ea(e):(this.tim.options.runLoopNetType===Je||this.tim.options.runLoopNetType,new Ma(e))}},{key:"clearAll",value:function(){this.conn.cancelAll()}},{key:"reset",value:function(){this.keepAliveConnections=[]}}]),e}(),Ta=function(){function t(e){r(this,t),this.tim=e,this.tim.innerEmitter.on(Ir,this._onErrorDetected,this)}return i(t,[{key:"_onErrorDetected",value:function(t){var n=t.data,r=new ro;r.setMethod(ui).setStart(),r.setCode(0).setText("code=".concat(n.code," message=").concat(n.message)).setNetworkType(this.tim.netMonitor.getNetworkType()).setEnd(),n.code?J.warn("Oops! code:".concat(n.code," message:").concat(n.message)):J.warn("Oops! message:".concat(n.message," stack:").concat(n.stack)),this.tim.outerEmitter.emit(e.ERROR,n)}}]),t}(),Da=function(){function e(n){var o=this;r(this,e),Oe(n)||(this.userID=n.userID||"",this.nick=n.nick||"",this.gender=n.gender||"",this.birthday=n.birthday||0,this.location=n.location||"",this.selfSignature=n.selfSignature||"",this.allowType=n.allowType||t.ALLOW_TYPE_ALLOW_ANY,this.language=n.language||0,this.avatar=n.avatar||"",this.messageSettings=n.messageSettings||0,this.adminForbidType=n.adminForbidType||t.FORBID_TYPE_NONE,this.level=n.level||0,this.role=n.role||0,this.lastUpdatedTime=0,this.profileCustomField=[],Oe(n.profileCustomField)||n.profileCustomField.forEach((function(e){o.profileCustomField.push({key:e.key,value:e.value})})))}return i(e,[{key:"validate",value:function(e){var t=!0,n="";if(Oe(e))return{valid:!1,tips:"empty options"};if(e.profileCustomField)for(var r=e.profileCustomField.length,o=null,i=0;i<r;i++){if(o=e.profileCustomField[i],!ee(o.key)||-1===o.key.indexOf("Tag_Profile_Custom"))return{valid:!1,tips:"自定义资料字段的前缀必须是 Tag_Profile_Custom"};if(!ee(o.value))return{valid:!1,tips:"自定义资料字段的 value 必须是字符串"}}for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){if("profileCustomField"===s)continue;if(Oe(e[s])&&!ee(e[s])&&!Z(e[s])){n="key:"+s+", invalid value:"+e[s],t=!1;continue}switch(s){case"nick":ee(e[s])||(n="nick should be a string",t=!1),ge(e[s])>500&&(n="nick name limited: must less than or equal to ".concat(500," bytes, current size: ").concat(ge(e[s])," bytes"),t=!1);break;case"gender":_e(tt,e.gender)||(n="key:gender, invalid value:"+e.gender,t=!1);break;case"birthday":Z(e.birthday)||(n="birthday should be a number",t=!1);break;case"location":ee(e.location)||(n="location should be a string",t=!1);break;case"selfSignature":ee(e.selfSignature)||(n="selfSignature should be a string",t=!1);break;case"allowType":_e(rt,e.allowType)||(n="key:allowType, invalid value:"+e.allowType,t=!1);break;case"language":Z(e.language)||(n="language should be a number",t=!1);break;case"avatar":ee(e.avatar)||(n="avatar should be a string",t=!1);break;case"messageSettings":0!==e.messageSettings&&1!==e.messageSettings&&(n="messageSettings should be 0 or 1",t=!1);break;case"adminForbidType":_e(nt,e.adminForbidType)||(n="key:adminForbidType, invalid value:"+e.adminForbidType,t=!1);break;case"level":Z(e.level)||(n="level should be a number",t=!1);break;case"role":Z(e.role)||(n="role should be a number",t=!1);break;default:n="unknown key:"+s+" "+e[s],t=!1}}return{valid:t,tips:n}}}]),e}(),ka=function(){function t(e){r(this,t),this.userController=e,this.TAG="profile",this.Actions={Q:"query",U:"update"},this.accountProfileMap=new Map,this.expirationTime=864e5}return i(t,[{key:"setExpirationTime",value:function(e){this.expirationTime=e}},{key:"getUserProfile",value:function(e){var t=this,n=e.userIDList;e.fromAccount=this.userController.getMyAccount(),n.length>100&&(J.warn("ProfileHandler.getUserProfile 获取用户资料人数不能超过100人"),n.length=100);for(var r,o=[],i=[],s=0,a=n.length;s<a;s++)r=n[s],this.userController.isMyFriend(r)&&this._containsAccount(r)?i.push(this._getProfileFromMap(r)):o.push(r);if(0===o.length)return Fr(i);e.toAccount=o;var u=e.bFromGetMyProfile||!1,c=[];e.toAccount.forEach((function(e){c.push({toAccount:e,standardSequence:0,customSequence:0})})),e.userItem=c;var l=new ro;l.setMethod(ti).setText(n.length>5?"userIDList.length=".concat(n.length):"userIDList=".concat(n)).setStart();var p=this.userController.generateConfig(this.TAG,this.Actions.Q,e);return this.userController.request(p).then((function(e){l.setCode(0).setNetworkType(t.userController.getNetworkType()).setEnd(),J.info("ProfileHandler.getUserProfile ok");var n=t._handleResponse(e).concat(i);return u?(t.userController.onGotMyProfile(),new Ur(n[0])):new Ur(n)})).catch((function(e){return t.userController.probeNetwork().then((function(t){var n=v(t,2),r=n[0],o=n[1];l.setError(e,r,o).setEnd()})),J.error("ProfileHandler.getUserProfile error:",e),Hr(e)}))}},{key:"getMyProfile",value:function(){var e=this.userController.getMyAccount();if(J.log("ProfileHandler.getMyProfile myAccount="+e),this._fillMap(),this._containsAccount(e)){var t=this._getProfileFromMap(e);return J.debug("ProfileHandler.getMyProfile from cache, myProfile:"+JSON.stringify(t)),this.userController.onGotMyProfile(),Fr(t)}return this.getUserProfile({fromAccount:e,userIDList:[e],bFromGetMyProfile:!0})}},{key:"_handleResponse",value:function(e){for(var t,n,r=pe.now(),o=e.data.userProfileItem,i=[],s=0,a=o.length;s<a;s++)"@TLS#NOT_FOUND"!==o[s].to&&""!==o[s].to&&(t=o[s].to,n=this._updateMap(t,this._getLatestProfileFromResponse(t,o[s].profileItem)),i.push(n));return J.log("ProfileHandler._handleResponse cost "+(pe.now()-r)+" ms"),i}},{key:"_getLatestProfileFromResponse",value:function(e,t){var n={};if(n.userID=e,n.profileCustomField=[],!Oe(t))for(var r=0,o=t.length;r<o;r++)if(t[r].tag.indexOf("Tag_Profile_Custom")>-1)n.profileCustomField.push({key:t[r].tag,value:t[r].value});else switch(t[r].tag){case et.NICK:n.nick=t[r].value;break;case et.GENDER:n.gender=t[r].value;break;case et.BIRTHDAY:n.birthday=t[r].value;break;case et.LOCATION:n.location=t[r].value;break;case et.SELFSIGNATURE:n.selfSignature=t[r].value;break;case et.ALLOWTYPE:n.allowType=t[r].value;break;case et.LANGUAGE:n.language=t[r].value;break;case et.AVATAR:n.avatar=t[r].value;break;case et.MESSAGESETTINGS:n.messageSettings=t[r].value;break;case et.ADMINFORBIDTYPE:n.adminForbidType=t[r].value;break;case et.LEVEL:n.level=t[r].value;break;case et.ROLE:n.role=t[r].value;break;default:J.warn("ProfileHandler._handleResponse unkown tag->",t[r].tag,t[r].value)}return n}},{key:"updateMyProfile",value:function(t){var n=this,r=new ro;r.setMethod(ni).setText(JSON.stringify(t)).setStart();var o=(new Da).validate(t);if(!o.valid)return r.setCode(dt.UPDATE_PROFILE_INVALID_PARAM).setMessage("ProfileHandler.updateMyProfile info:".concat(o.tips)).setNetworkType(this.userController.getNetworkType()).setEnd(),J.error("ProfileHandler.updateMyProfile info:".concat(o.tips,",请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#updateMyProfile")),Hr({code:dt.UPDATE_PROFILE_INVALID_PARAM,message:on});var i=[];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&("profileCustomField"===s?t.profileCustomField.forEach((function(e){i.push({tag:e.key,value:e.value})})):i.push({tag:et[s.toUpperCase()],value:t[s]}));if(0===i.length)return r.setCode(dt.UPDATE_PROFILE_NO_KEY).setMessage(sn).setNetworkType(this.userController.getNetworkType()).setEnd(),J.error("ProfileHandler.updateMyProfile info:".concat(sn,",请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#updateMyProfile")),Hr({code:dt.UPDATE_PROFILE_NO_KEY,message:sn});var a=this.userController.generateConfig(this.TAG,this.Actions.U,{fromAccount:this.userController.getMyAccount(),profileItem:i});return this.userController.request(a).then((function(o){r.setCode(0).setNetworkType(n.userController.getNetworkType()).setEnd(),J.info("ProfileHandler.updateMyProfile ok");var i=n._updateMap(n.userController.getMyAccount(),t);return n.userController.emitOuterEvent(e.PROFILE_UPDATED,[i]),Fr(i)})).catch((function(e){return n.userController.probeNetwork().then((function(t){var n=v(t,2),o=n[0],i=n[1];r.setError(e,o,i).setEnd()})),J.error("ProfileHandler.updateMyProfile error:",e),Hr(e)}))}},{key:"onProfileModified",value:function(t){var n=t.data;if(!Oe(n)){var r,o,i=n.length;J.info("ProfileHandler.onProfileModified length="+i);for(var s=[],a=0;a<i;a++)r=n[a].userID,o=this._updateMap(r,this._getLatestProfileFromResponse(r,n[a].profileList)),s.push(o);this.userController.emitInnerEvent(Sr,s),this.userController.emitOuterEvent(e.PROFILE_UPDATED,s)}}},{key:"_fillMap",value:function(){if(0===this.accountProfileMap.size){for(var e=this._getCachedProfiles(),t=Date.now(),n=0,r=e.length;n<r;n++)t-e[n].lastUpdatedTime<this.expirationTime&&this.accountProfileMap.set(e[n].userID,e[n]);J.log("ProfileHandler._fillMap from cache, map.size="+this.accountProfileMap.size)}}},{key:"_updateMap",value:function(e,t){var n,r=Date.now();return this._containsAccount(e)?(n=this._getProfileFromMap(e),t.profileCustomField&&Ee(n.profileCustomField,t.profileCustomField),he(n,t,["profileCustomField"]),n.lastUpdatedTime=r):(n=new Da(t),(this.userController.isMyFriend(e)||e===this.userController.getMyAccount())&&(n.lastUpdatedTime=r,this.accountProfileMap.set(e,n))),this._flushMap(e===this.userController.getMyAccount()),n}},{key:"_flushMap",value:function(e){var t=_(this.accountProfileMap.values()),n=this.userController.tim.storage;J.debug("ProfileHandler._flushMap length=".concat(t.length," flushAtOnce=").concat(e)),n.setItem(this.TAG,t,e)}},{key:"_containsAccount",value:function(e){return this.accountProfileMap.has(e)}},{key:"_getProfileFromMap",value:function(e){return this.accountProfileMap.get(e)}},{key:"_getCachedProfiles",value:function(){var e=this.userController.tim.storage.getItem(this.TAG);return Oe(e)?[]:e}},{key:"onConversationsProfileUpdated",value:function(e){for(var t,n,r,o=[],i=0,s=e.length;i<s;i++)n=(t=e[i]).userID,this.userController.isMyFriend(n)&&(this._containsAccount(n)?(r=this._getProfileFromMap(n),he(r,t)>0&&o.push(n)):o.push(t.userID));0!==o.length&&(J.info("ProfileHandler.onConversationsProfileUpdated toAccount:",o),this.getUserProfile({userIDList:o}))}},{key:"reset",value:function(){this._flushMap(!0),this.accountProfileMap.clear()}}]),t}(),Aa=function(){function e(t){r(this,e),this.options=t?t.options:{enablePointer:!0},this.pointsList={},this.reportText={},this.maxNameLen=0,this.gapChar="-",this.log=console.log,this.currentTask=""}return i(e,[{key:"newTask",value:function(e){!1!==this.options.enablePointer&&(e||(e=["task",this._timeFormat()].join("-")),this.pointsList[e]=[],this.currentTask=e,console.log("Pointer new Task : ".concat(this.currentTask)))}},{key:"deleteTask",value:function(e){!1!==this.options.enablePointer&&(e||(e=this.currentTask),this.pointsList[e].length=0,delete this.pointsList[e])}},{key:"dot",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;if(!1!==this.options.enablePointer){t=t||this.currentTask;var n=+new Date;this.maxNameLen=this.maxNameLen<e.length?e.length:this.maxNameLen,this.flen=this.maxNameLen+10,this.pointsList[t].push({pointerName:e,time:n})}}},{key:"_analisys",value:function(e){if(!1!==this.options.enablePointer){e=e||this.currentTask;for(var t=this.pointsList[e],n=t.length,r=[],o=[],i=0;i<n;i++)0!==i&&(o=this._analisysTowPoints(t[i-1],t[i]),r.push(o.join("")));return o=this._analisysTowPoints(t[0],t[n-1],!0),r.push(o.join("")),r.join("")}}},{key:"_analisysTowPoints",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!1!==this.options.enablePointer){var r=this.flen,o=t.time-e.time,i=o.toString(),s=e.pointerName+this.gapChar.repeat(r-e.pointerName.length),a=t.pointerName+this.gapChar.repeat(r-t.pointerName.length),u=this.gapChar.repeat(4-i.length)+i,c=n?["%c",s,a,u,"ms\n%c"]:[s,a,u,"ms\n"];return c}}},{key:"report",value:function(e){if(!1!==this.options.enablePointer){e=e||this.currentTask;var t=this._analisys(e);this.pointsList=[];var n=this._timeFormat(),r="Pointer[".concat(e,"(").concat(n,")]"),o=4*this.maxNameLen,i=(o-r.length)/2;console.log(["-".repeat(i),r,"-".repeat(i)].join("")),console.log("%c"+t,"color:#66a","color:red","color:#66a"),console.log("-".repeat(o))}}},{key:"_timeFormat",value:function(){var e=new Date,t=this.zeroFix(e.getMonth()+1,2),n=this.zeroFix(e.getDate(),2);return"".concat(t,"-").concat(n," ").concat(e.getHours(),":").concat(e.getSeconds(),":").concat(e.getMinutes(),"~").concat(e.getMilliseconds())}},{key:"zeroFix",value:function(e,t){return("000000000"+e).slice(-t)}},{key:"reportAll",value:function(){if(!1!==this.options.enablePointer)for(var e in this.pointsList)Object.prototype.hasOwnProperty.call(this.pointsList,e)&&this.eport(e)}}]),e}(),Ra=function e(t,n){r(this,e),this.userID=t;var o={};if(o.userID=t,!Oe(n))for(var i=0,s=n.length;i<s;i++)switch(n[i].tag){case et.NICK:o.nick=n[i].value;break;case et.GENDER:o.gender=n[i].value;break;case et.BIRTHDAY:o.birthday=n[i].value;break;case et.LOCATION:o.location=n[i].value;break;case et.SELFSIGNATURE:o.selfSignature=n[i].value;break;case et.ALLOWTYPE:o.allowType=n[i].value;break;case et.LANGUAGE:o.language=n[i].value;break;case et.AVATAR:o.avatar=n[i].value;break;case et.MESSAGESETTINGS:o.messageSettings=n[i].value;break;case et.ADMINFORBIDTYPE:o.adminForbidType=n[i].value;break;case et.LEVEL:o.level=n[i].value;break;case et.ROLE:o.role=n[i].value;break;default:J.debug("snsProfileItem unkown tag->",n[i].tag)}this.profile=new Da(o)},Oa=function(){function e(t){r(this,e),this.userController=t,this.TAG="friend",this.Actions={G:"get",D:"delete"},this.friends=new Map,this.pointer=new Aa}return i(e,[{key:"isMyFriend",value:function(e){var t=this.friends.has(e);return t||J.debug("FriendHandler.isMyFriend "+e+" is not my friend"),t}},{key:"_transformFriendList",value:function(e){if(!Oe(e)&&!Oe(e.infoItem)){J.info("FriendHandler._transformFriendList friendNum="+e.friendNum);for(var t,n,r=e.infoItem,o=0,i=r.length;o<i;o++)n=r[o].infoAccount,t=new Ra(n,r[o].snsProfileItem),this.friends.set(n,t)}}},{key:"_friends2map",value:function(e){var t=new Map;for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.set(n,e[n]);return t}},{key:"getFriendList",value:function(){var e=this,t={};t.fromAccount=this.userController.getMyAccount(),J.info("FriendHandler.getFriendList myAccount="+t.fromAccount);var n=this.userController.generateConfig(this.TAG,this.Actions.G,t);return this.userController.request(n).then((function(t){J.info("FriendHandler.getFriendList ok"),e._transformFriendList(t.data);var n=_(e.friends.values());return Fr(n)})).catch((function(e){return J.error("FriendHandler.getFriendList error:",e),Hr(e)}))}},{key:"deleteFriend",value:function(e){if(!Array.isArray(e.toAccount))return J.error("FriendHandler.deleteFriend options.toAccount 必需是数组"),Hr({code:dt.DEL_FRIEND_INVALID_PARAM,message:rn});e.toAccount.length>1e3&&(J.warn("FriendHandler.deleteFriend 删除好友人数不能超过1000人"),e.toAccount.length=1e3);var t=this.userController.generateConfig(this.TAG,this.Actions.D,e);return this.userController.request(t).then((function(e){return J.info("FriendHandler.deleteFriend ok"),Fr()})).catch((function(e){return J.error("FriendHandler.deleteFriend error:",e),Hr(e)}))}}]),e}(),Na=function e(t){r(this,e),Oe||(this.userID=t.userID||"",this.timeStamp=t.timeStamp||0)},wa=function(){function t(e){r(this,t),this.userController=e,this.TAG="blacklist",this.Actions={G:"get",C:"create",D:"delete"},this.blacklistMap=new Map,this.startIndex=0,this.maxLimited=100,this.curruentSequence=0}return i(t,[{key:"getBlacklist",value:function(){var e=this,t={};t.fromAccount=this.userController.getMyAccount(),t.maxLimited=this.maxLimited,t.startIndex=0,t.lastSequence=this.curruentSequence;var n=new ro;n.setMethod(ri).setStart();var r=this.userController.generateConfig(this.TAG,this.Actions.G,t);return this.userController.request(r).then((function(t){var r=Oe(t.data.blackListItem)?0:t.data.blackListItem.length;return n.setCode(0).setNetworkType(e.userController.getNetworkType()).setText(r).setEnd(),J.info("BlacklistHandler.getBlacklist ok"),e.curruentSequence=t.data.curruentSequence,e._handleResponse(t.data.blackListItem,!0),e._onBlacklistUpdated()})).catch((function(t){return e.userController.probeNetwork().then((function(e){var r=v(e,2),o=r[0],i=r[1];n.setError(t,o,i).setEnd()})),J.error("BlacklistHandler.getBlacklist error:",t),Hr(t)}))}},{key:"addBlacklist",value:function(e){var t=this,n=new ro;if(n.setMethod(oi).setStart(),!re(e.userIDList))return n.setCode(dt.ADD_BLACKLIST_INVALID_PARAM).setMessage("BlacklistHandler.addBlacklist options.userIDList 必需是数组").setNetworkType(this.userController.getNetworkType()).setEnd(),J.error("BlacklistHandler.addBlacklist options.userIDList 必需是数组"),Hr({code:dt.ADD_BLACKLIST_INVALID_PARAM,message:an});var r=this.userController.tim.loginInfo.identifier;if(1===e.userIDList.length&&e.userIDList[0]===r)return n.setCode(dt.CANNOT_ADD_SELF_TO_BLACKLIST).setMessage(cn).setNetworkType(this.userController.getNetworkType()).setEnd(),J.error("BlacklistHandler.addBlacklist 不能把自己拉黑"),Hr({code:dt.CANNOT_ADD_SELF_TO_BLACKLIST,message:cn});e.userIDList.includes(r)&&(e.userIDList=e.userIDList.filter((function(e){return e!==r})),J.warn("BlacklistHandler.addBlacklist 不能把自己拉黑,已过滤")),e.fromAccount=this.userController.getMyAccount(),e.toAccount=e.userIDList;var o=this.userController.generateConfig(this.TAG,this.Actions.C,e);return this.userController.request(o).then((function(r){return n.setCode(0).setNetworkType(t.userController.getNetworkType()).setText(e.userIDList.length>5?"userIDList.length=".concat(e.userIDList.length):"userIDList=".concat(e.userIDList)).setEnd(),J.info("BlacklistHandler.addBlacklist ok"),t._handleResponse(r.data.resultItem,!0),t._onBlacklistUpdated()})).catch((function(e){return t.userController.probeNetwork().then((function(t){var r=v(t,2),o=r[0],i=r[1];n.setError(e,o,i).setEnd()})),J.error("BlacklistHandler.addBlacklist error:",e),Hr(e)}))}},{key:"_handleResponse",value:function(e,t){if(!Oe(e))for(var n,r,o,i=0,s=e.length;i<s;i++)r=e[i].to,o=e[i].resultCode,(oe(o)||0===o)&&(t?((n=this.blacklistMap.has(r)?this.blacklistMap.get(r):new Na).userID=r,!Oe(e[i].addBlackTimeStamp)&&(n.timeStamp=e[i].addBlackTimeStamp),this.blacklistMap.set(r,n)):this.blacklistMap.has(r)&&(n=this.blacklistMap.get(r),this.blacklistMap.delete(r)));J.log("BlacklistHandler._handleResponse total="+this.blacklistMap.size+" bAdd="+t)}},{key:"deleteBlacklist",value:function(e){var t=this,n=new ro;if(n.setMethod(ii).setStart(),!re(e.userIDList))return n.setCode(dt.DEL_BLACKLIST_INVALID_PARAM).setMessage("BlacklistHandler.deleteBlacklist options.userIDList 必需是数组").setNetworkType(this.userController.getNetworkType()).setEnd(),J.error("BlacklistHandler.deleteBlacklist options.userIDList 必需是数组"),Hr({code:dt.DEL_BLACKLIST_INVALID_PARAM,message:un});e.fromAccount=this.userController.getMyAccount(),e.toAccount=e.userIDList;var r=this.userController.generateConfig(this.TAG,this.Actions.D,e);return this.userController.request(r).then((function(r){return n.setCode(0).setNetworkType(t.userController.getNetworkType()).setText(e.userIDList.length>5?"userIDList.length=".concat(e.userIDList.length):"userIDList=".concat(e.userIDList)).setEnd(),J.info("BlacklistHandler.deleteBlacklist ok"),t._handleResponse(r.data.resultItem,!1),t._onBlacklistUpdated()})).catch((function(e){return t.userController.probeNetwork().then((function(t){var r=v(t,2),o=r[0],i=r[1];n.setError(e,o,i).setEnd()})),J.error("BlacklistHandler.deleteBlacklist error:",e),Hr(e)}))}},{key:"_onBlacklistUpdated",value:function(){var t=_(this.blacklistMap.keys());return this.userController.emitOuterEvent(e.BLACKLIST_UPDATED,t),Fr(t)}},{key:"handleBlackListDelAccount",value:function(t){for(var n,r=[],o=0,i=t.length;o<i;o++)n=t[o],this.blacklistMap.has(n)&&(this.blacklistMap.delete(n),r.push(n));r.length>0&&(J.log("BlacklistHandler.handleBlackListDelAccount delCount="+r.length+" : "+r.join(",")),this.userController.emitOuterEvent(e.BLACKLIST_UPDATED,_(this.blacklistMap.keys())))}},{key:"handleBlackListAddAccount",value:function(t){for(var n,r=[],o=0,i=t.length;o<i;o++)n=t[o],this.blacklistMap.has(n)||(this.blacklistMap.set(n,new Na({userID:n})),r.push(n));r.length>0&&(J.log("BlacklistHandler.handleBlackListAddAccount addCount="+r.length+" : "+r.join(",")),this.userController.emitOuterEvent(e.BLACKLIST_UPDATED,_(this.blacklistMap.keys())))}},{key:"reset",value:function(){this.blacklistMap.clear(),this.startIndex=0,this.maxLimited=100,this.curruentSequence=0}}]),t}(),La=function(){function e(t){r(this,e),this.userController=t,this.TAG="applyC2C",this.Actions={C:"create",G:"get",D:"delete",U:"update"}}return i(e,[{key:"applyAddFriend",value:function(e){var t=this,n=this.userController.generateConfig(this.TAG,this.Actions.C,e),r=this.userController.request(n);return r.then((function(e){t.userController.isActionSuccessful("applyAddFriend",t.Actions.C,e)})).catch((function(e){})),r}},{key:"getPendency",value:function(e){var t=this,n=this.userController.generateConfig(this.TAG,this.Actions.G,e),r=this.userController.request(n);return r.then((function(e){t.userController.isActionSuccessful("getPendency",t.Actions.G,e)})).catch((function(e){})),r}},{key:"deletePendency",value:function(e){var t=this,n=this.userController.generateConfig(this.TAG,this.Actions.D,e),r=this.userController.request(n);return r.then((function(e){t.userController.isActionSuccessful("deletePendency",t.Actions.D,e)})).catch((function(e){})),r}},{key:"replyPendency",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this.userController.generateConfig(this.TAG,this.Actions.U,t),r=this.userController.request(n);return r.then((function(t){e.userController.isActionSuccessful("replyPendency",e.Actions.U,t)})).catch((function(e){})),r}}]),e}(),Pa=function(e){c(n,e);var t=y(n);function n(e){var o;return r(this,n),(o=t.call(this,e)).profileHandler=new ka(g(o)),o.friendHandler=new Oa(g(o)),o.blacklistHandler=new wa(g(o)),o.applyC2CHandler=new La(g(o)),o._initializeListener(),o}return i(n,[{key:"_initializeListener",value:function(e){var t=this.tim.innerEmitter;t.on(xn,this.onContextUpdated,this),t.on(ur,this.onProfileModified,this),t.on(ar,this.onNewFriendMessages,this),t.on(Mr,this.onConversationsProfileUpdated,this)}},{key:"onContextUpdated",value:function(e){var t=this.tim.context;!1!=!!t.a2Key&&!1!=!!t.tinyID&&(this.profileHandler.getMyProfile(),this.friendHandler.getFriendList(),this.blacklistHandler.getBlacklist())}},{key:"onGotMyProfile",value:function(){this.triggerReady()}},{key:"onProfileModified",value:function(e){this.profileHandler.onProfileModified(e)}},{key:"onNewFriendMessages",value:function(e){J.debug("onNewFriendMessages",JSON.stringify(e.data)),Oe(e.data.blackListDelAccount)||this.blacklistHandler.handleBlackListDelAccount(e.data.blackListDelAccount),Oe(e.data.blackListAddAccount)||this.blacklistHandler.handleBlackListAddAccount(e.data.blackListAddAccount)}},{key:"onConversationsProfileUpdated",value:function(e){this.profileHandler.onConversationsProfileUpdated(e.data)}},{key:"getMyAccount",value:function(){return this.tim.context.identifier}},{key:"isMyFriend",value:function(e){return this.friendHandler.isMyFriend(e)}},{key:"generateConfig",value:function(e,t,n){return{name:e,action:t,param:n}}},{key:"getMyProfile",value:function(){return this.profileHandler.getMyProfile()}},{key:"getUserProfile",value:function(e){return this.profileHandler.getUserProfile(e)}},{key:"updateMyProfile",value:function(e){return this.profileHandler.updateMyProfile(e)}},{key:"getFriendList",value:function(){return this.friendHandler.getFriendList()}},{key:"deleteFriend",value:function(e){return this.friendHandler.deleteFriend(e)}},{key:"getBlacklist",value:function(){return this.blacklistHandler.getBlacklist()}},{key:"addBlacklist",value:function(e){return this.blacklistHandler.addBlacklist(e)}},{key:"deleteBlacklist",value:function(e){return this.blacklistHandler.deleteBlacklist(e)}},{key:"applyAddFriend",value:function(e){return this.applyC2CHandler.applyAddFriend(e)}},{key:"getPendency",value:function(e){return this.applyC2CHandler.getPendency(e)}},{key:"deletePendency",value:function(e){return this.applyC2CHandler.deletePendency(e)}},{key:"replyPendency",value:function(e){return this.applyC2CHandler.replyPendency(e)}},{key:"reset",value:function(){J.info("UserController.reset"),this.resetReady(),this.profileHandler.reset(),this.blacklistHandler.reset(),this.checkTimes=0}}]),n}(Pr),Ga=["groupID","name","avatar","type","introduction","notification","ownerID","selfInfo","createTime","infoSequence","lastInfoTime","lastMessage","nextMessageSeq","memberNum","maxMemberNum","memberList","joinOption","groupCustomField","muteAllMembers"],ba=function(){function e(t){r(this,e),this.groupID="",this.name="",this.avatar="",this.type="",this.introduction="",this.notification="",this.ownerID="",this.createTime="",this.infoSequence="",this.lastInfoTime="",this.selfInfo={messageRemindType:"",joinTime:"",nameCard:"",role:""},this.lastMessage={lastTime:"",lastSequence:"",fromAccount:"",messageForShow:""},this.nextMessageSeq="",this.memberNum="",this.maxMemberNum="",this.joinOption="",this.groupCustomField=[],this.muteAllMembers=void 0,this._initGroup(t)}return i(e,[{key:"_initGroup",value:function(e){for(var t in e)Ga.indexOf(t)<0||("selfInfo"!==t?this[t]=e[t]:this.updateSelfInfo(e[t]))}},{key:"updateGroup",value:function(e){e.lastMsgTime&&(this.lastMessage.lastTime=e.lastMsgTime),oe(e.muteAllMembers)||("On"===e.muteAllMembers?e.muteAllMembers=!0:e.muteAllMembers=!1),e.groupCustomField&&Ee(this.groupCustomField,e.groupCustomField),he(this,e,["members","errorCode","lastMsgTime","groupCustomField"])}},{key:"updateSelfInfo",value:function(e){var t=e.nameCard,n=e.joinTime,r=e.role,o=e.messageRemindType;he(this.selfInfo,{nameCard:t,joinTime:n,role:r,messageRemindType:o},[],["",null,void 0,0,NaN])}},{key:"setSelfNameCard",value:function(e){this.selfInfo.nameCard=e}}]),e}(),Ua=function(e,n){if(oe(n))return"";switch(e){case t.MSG_TEXT:return n.text;case t.MSG_IMAGE:return"[图片]";case t.MSG_GEO:return"[位置]";case t.MSG_AUDIO:return"[语音]";case t.MSG_VIDEO:return"[视频]";case t.MSG_FILE:return"[文件]";case t.MSG_CUSTOM:return"[自定义消息]";case t.MSG_GRP_TIP:return"[群提示消息]";case t.MSG_GRP_SYS_NOTICE:return"[群系统通知]";case t.MSG_FACE:return"[动画表情]";default:return""}},qa=function(e){return oe(e)?{lastTime:0,lastSequence:0,fromAccount:0,messageForShow:"",payload:null,type:"",isRevoked:!1}:e instanceof Dn?{lastTime:e.time||0,lastSequence:e.sequence||0,fromAccount:e.from||"",messageForShow:Ua(e.type,e.payload),payload:e.payload||null,type:e.type||null,isRevoked:!1}:u(u({},e),{},{isRevoked:!1,messageForShow:Ua(e.type,e.payload)})},xa=function(){function e(t){r(this,e),this.conversationID=t.conversationID||"",this.unreadCount=t.unreadCount||0,this.type=t.type||"",this.lastMessage=qa(t.lastMessage),t.lastMsgTime&&(this.lastMessage.lastTime=t.lastMsgTime),this._isInfoCompleted=!1,this.peerReadTime=t.peerReadTime||0,this._initProfile(t)}return i(e,[{key:"_initProfile",value:function(e){var n=this;Object.keys(e).forEach((function(t){switch(t){case"userProfile":n.userProfile=e.userProfile;break;case"groupProfile":n.groupProfile=e.groupProfile}})),oe(this.userProfile)&&this.type===t.CONV_C2C?this.userProfile=new Da({userID:e.conversationID.replace("C2C","")}):oe(this.groupProfile)&&this.type===t.CONV_GROUP&&(this.groupProfile=new ba({groupID:e.conversationID.replace("GROUP","")}))}},{key:"updateUnreadCount",value:function(e,n){oe(e)||(Te(this.subType)||De(this.subType)?this.unreadCount=0:n&&this.type===t.CONV_GROUP?this.unreadCount=e:this.unreadCount=this.unreadCount+e)}},{key:"updateLastMessage",value:function(e){this.lastMessage=qa(e)}},{key:"reduceUnreadCount",value:function(){this.unreadCount>=1&&(this.unreadCount-=1)}},{key:"isLastMessageRevoked",value:function(e){var n=e.sequence,r=e.time;return this.type===t.CONV_C2C&&n===this.lastMessage.lastSequence&&r===this.lastMessage.lastTime||this.type===t.CONV_GROUP&&n===this.lastMessage.lastSequence}},{key:"setLastMessageRevoked",value:function(e){this.lastMessage.isRevoked=e}},{key:"toAccount",get:function(){return this.conversationID.replace("C2C","").replace("GROUP","")}},{key:"subType",get:function(){return this.groupProfile?this.groupProfile.type:""}}]),e}(),Fa=function(n){c(s,n);var o=y(s);function s(e){var t;return r(this,s),(t=o.call(this,e)).pagingStatus=Ue.NOT_START,t.pagingTimeStamp=0,t.conversationMap=new Map,t.tempGroupList=[],t._initListeners(),t}return i(s,[{key:"hasLocalConversationMap",value:function(){return this.conversationMap.size>0}},{key:"_createLocalConversation",value:function(e){return this.conversationMap.has(e)?this.conversationMap.get(e):(J.log("ConversationController._createLocalConversation conversationID:".concat(e)),new xa({conversationID:e,type:e.slice(0,3)===t.CONV_C2C?t.CONV_C2C:t.CONV_GROUP}))}},{key:"hasLocalConversation",value:function(e){return this.conversationMap.has(e)}},{key:"getConversationList",value:function(){var e=this;J.log("ConversationController.getConversationList."),this.pagingStatus===Ue.REJECTED&&(J.log("ConversationController.getConversationList. continue to sync conversationList"),this._syncConversationList());var t=new ro;return t.setMethod(Mo).setStart(),this.request({name:"conversation",action:"query"}).then((function(n){var r=n.data.conversations,o=void 0===r?[]:r,i=e._getConversationOptions(o);return e._updateLocalConversationList(i,!0),e._setStorageConversationList(),e._handleC2CPeerReadTime(),t.setCode(0).setText(o.length).setNetworkType(e.getNetworkType()).setEnd(),J.log("ConversationController.getConversationList ok."),Fr({conversationList:e.getLocalConversationList()})})).catch((function(n){return e.probeNetwork().then((function(e){var r=v(e,2),o=r[0],i=r[1];t.setError(n,o,i).setEnd()})),J.error("ConversationController.getConversationList error:",n),Hr(n)}))}},{key:"_syncConversationList",value:function(){var e=this,t=new ro;return t.setMethod(Do).setStart(),this.pagingStatus===Ue.NOT_START&&this.conversationMap.clear(),this._autoPagingSyncConversationList().then((function(n){return e.pagingStatus=Ue.RESOLVED,e._setStorageConversationList(),e._handleC2CPeerReadTime(),t.setCode(0).setText("".concat(e.conversationMap.size)).setNetworkType(e.getNetworkType()).setEnd(),n})).catch((function(n){return e.pagingStatus=Ue.REJECTED,t.setText(e.pagingTimeStamp),e.probeNetwork().then((function(e){var r=v(e,2),o=r[0],i=r[1];t.setError(n,o,i).setEnd()})),Hr(n)}))}},{key:"_autoPagingSyncConversationList",value:function(){var e=this;return this.pagingStatus=Ue.PENDING,this.request({name:"conversation",action:"pagingQuery",param:{fromAccount:this.tim.context.identifier,timeStamp:this.pagingTimeStamp,orderType:1}}).then((function(t){var n=t.data,r=n.completeFlag,o=n.conversations,i=void 0===o?[]:o,s=n.timeStamp;if(J.log("ConversationController._autoPagingSyncConversationList completeFlag=".concat(r," nums=").concat(i.length)),i.length>0){var a=e._getConversationOptions(i);e._updateLocalConversationList(a,!0)}return e._isReady?e._emitConversationUpdate():e.triggerReady(),e.pagingTimeStamp=s,1!==r?e._autoPagingSyncConversationList():Fr()}))}},{key:"_handleC2CPeerReadTime",value:function(){var e,n=this.tim.messageController,r=M(this.conversationMap);try{for(r.s();!(e=r.n()).done;){var o=v(e.value,2),i=o[0],s=o[1];s.type===t.CONV_C2C&&(J.debug("ConversationController._handleC2CPeerReadTime",i,s.peerReadTime),n.recordPeerReadTime(i,s.peerReadTime))}}catch(a){r.e(a)}finally{r.f()}}},{key:"getConversationProfile",value:function(e){var n=this,r=this.conversationMap.has(e)?this.conversationMap.get(e):this._createLocalConversation(e);if(r._isInfoCompleted||r.type===t.CONV_SYSTEM)return Fr({conversation:r});var o=new ro;return o.setMethod(Eo).setStart(),J.log("ConversationController.getConversationProfile. conversationID:".concat(e," lastMessage:"),r.lastMessage),this._updateUserOrGroupProfileCompletely(r).then((function(t){return o.setCode(0).setNetworkType(n.getNetworkType()).setText("conversationID=".concat(e," unreadCount=").concat(t.data.conversation.unreadCount)).setEnd(),J.log("ConversationController.getConversationProfile ok. conversationID:",e),t})).catch((function(t){return n.probeNetwork().then((function(n){var r=v(n,2),i=r[0],s=r[1];o.setError(t,i,s).setText("conversationID=".concat(e)).setEnd()})),J.error("ConversationController.getConversationProfile error:",t),Hr(t)}))}},{key:"deleteConversation",value:function(e){var n=this,r={};if(!this.conversationMap.has(e)){var o=new ht({code:dt.CONVERSATION_NOT_FOUND,message:Ft});return Hr(o)}switch(this.conversationMap.get(e).type){case t.CONV_C2C:r.type=1,r.toAccount=e.replace(t.CONV_C2C,"");break;case t.CONV_GROUP:r.type=2,r.toGroupID=e.replace(t.CONV_GROUP,"");break;case t.CONV_SYSTEM:return this.tim.groupController.deleteGroupSystemNotice({messageList:this.tim.messageController.getLocalMessageList(e)}),this.deleteLocalConversation(e),Fr({conversationID:e});default:var i=new ht({code:dt.CONVERSATION_UN_RECORDED_TYPE,message:Kt});return Hr(i)}var s=new ro;return s.setMethod(So).setText("conversationID=".concat(e)).setStart(),J.log("ConversationController.deleteConversation. conversationID=".concat(e)),this.tim.setMessageRead({conversationID:e}).then((function(){return n.request({name:"conversation",action:"delete",param:r})})).then((function(){return s.setCode(0).setNetworkType(n.getNetworkType()).setEnd(),J.log("ConversationController.deleteConversation ok."),n.deleteLocalConversation(e),Fr({conversationID:e})})).catch((function(e){return n.probeNetwork().then((function(t){var n=v(t,2),r=n[0],o=n[1];s.setError(e,r,o).setEnd()})),J.error("ConversationController.deleteConversation error:",e),Hr(e)}))}},{key:"getLocalConversationList",value:function(){return _(this.conversationMap.values())}},{key:"getLocalConversation",value:function(e){return this.conversationMap.get(e)}},{key:"_initLocalConversationList",value:function(){var e=new ro;e.setMethod(To).setStart(),J.time(eo),J.log("ConversationController._initLocalConversationList init");var t=this._getStorageConversationList();if(t){for(var n=t.length,r=0;r<n;r++)this.conversationMap.set(t[r].conversationID,new xa(t[r]));this._emitConversationUpdate(!0,!1),e.setCode(0).setNetworkType(this.getNetworkType()).setText(n).setEnd()}else e.setCode(0).setNetworkType(this.getNetworkType()).setText(0).setEnd();this._syncConversationList()}},{key:"_getStorageConversationList",value:function(){return this.tim.storage.getItem("conversationMap")}},{key:"_setStorageConversationList",value:function(){var e=this.getLocalConversationList().slice(0,20).map((function(e){return{conversationID:e.conversationID,type:e.type,subType:e.subType,lastMessage:e.lastMessage,groupProfile:e.groupProfile,userProfile:e.userProfile}}));this.tim.storage.setItem("conversationMap",e)}},{key:"_initListeners",value:function(){var e=this;this.tim.innerEmitter.once(xn,this._initLocalConversationList,this),this.tim.innerEmitter.on(Bn,this._onSendOrReceiveMessage,this),this.tim.innerEmitter.on(Vn,this._handleSyncMessages,this),this.tim.innerEmitter.on(jn,this._handleSyncMessages,this),this.tim.innerEmitter.on(Yn,this._onSendOrReceiveMessage,this),this.tim.innerEmitter.on($n,this._onSendOrReceiveMessage,this),this.tim.innerEmitter.on(Wn,this._onSendOrReceiveMessage,this),this.tim.innerEmitter.on(gr,this._onGroupListUpdated,this),this.tim.innerEmitter.on(Sr,this._updateConversationUserProfile,this),this.tim.innerEmitter.on(zn,this._onMessageRevoked,this),this.ready((function(){e.tempGroupList.length>0&&(e._updateConversationGroupProfile(e.tempGroupList),e.tempGroupList.length=0)}))}},{key:"_onGroupListUpdated",value:function(e){this._updateConversationGroupProfile(e.data)}},{key:"_updateConversationGroupProfile",value:function(e){var t=this;re(e)&&0===e.length||(this.hasLocalConversationMap()?(e.forEach((function(e){var n="GROUP".concat(e.groupID);if(t.conversationMap.has(n)){var r=t.conversationMap.get(n);r.groupProfile=e,r.lastMessage.lastSequence<e.nextMessageSeq&&(r.lastMessage.lastSequence=e.nextMessageSeq-1),r.subType||(r.subType=e.type)}})),this._emitConversationUpdate(!0,!1)):this.tempGroupList=e)}},{key:"_updateConversationUserProfile",value:function(e){var t=this;e.data.forEach((function(e){var n="C2C".concat(e.userID);t.conversationMap.has(n)&&(t.conversationMap.get(n).userProfile=e)})),this._emitConversationUpdate(!0,!1)}},{key:"_onMessageRevoked",value:function(e){var t=this,n=e.data;if(0!==n.length){var r=null,o=!1;n.forEach((function(e){(r=t.conversationMap.get(e.conversationID))&&r.isLastMessageRevoked(e)&&(o=!0,r.setLastMessageRevoked(!0))})),o&&this._emitConversationUpdate(!0,!1)}}},{key:"_handleSyncMessages",value:function(e){this._onSendOrReceiveMessage(e,!0)}},{key:"_onSendOrReceiveMessage",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.data.eventDataList;this._isReady?0!==r.length&&(this._getPeerReadTime(r),this._updateLocalConversationList(r,!1,n),this._setStorageConversationList(),this._emitConversationUpdate()):this.ready((function(){t._onSendOrReceiveMessage(e,n)}))}},{key:"_getPeerReadTime",value:function(e){var n=this,r=[];e.forEach((function(e){n.conversationMap.has(e.conversationID)||e.type!==t.CONV_C2C||r.push(e.conversationID.replace(t.CONV_C2C,""))})),r.length>0&&(J.debug("ConversationController._getPeerReadTime userIDList:".concat(r)),this.tim.messageController.getPeerReadTime(r))}},{key:"_updateLocalConversationList",value:function(e,t,n){var r;r=this._updateTempConversations(e,t,n),this.conversationMap=new Map(this._sortConversations([].concat(_(r.conversations),_(this.conversationMap)))),t||this._updateUserOrGroupProfile(r.newerConversations)}},{key:"_updateTempConversations",value:function(e,n,r){for(var o=[],i=[],s=0,a=e.length;s<a;s++){var u=new xa(e[s]),c=this.conversationMap.get(u.conversationID);if(this.conversationMap.has(u.conversationID)){var l=["unreadCount","allowType","adminForbidType","payload"];r&&l.push("lastMessage"),he(c,u,l,[null,void 0,"",0,NaN]),c.updateUnreadCount(u.unreadCount,n),r||(c.lastMessage.payload=e[s].lastMessage.payload),this.conversationMap.delete(c.conversationID),o.push([c.conversationID,c])}else{if(u.type===t.CONV_GROUP){var p=u.groupProfile.groupID,h=this.tim.groupController.getLocalGroupProfile(p);h&&(u.groupProfile=h,u.updateUnreadCount(0))}i.push(u),o.push([u.conversationID,u])}}return{conversations:o,newerConversations:i}}},{key:"_sortConversations",value:function(e){return e.sort((function(e,t){return t[1].lastMessage.lastTime-e[1].lastMessage.lastTime}))}},{key:"_updateUserOrGroupProfile",value:function(e){var n=this;if(0!==e.length){var r=[],o=[];e.forEach((function(e){if(e.type===t.CONV_C2C)r.push(e.toAccount);else if(e.type===t.CONV_GROUP){var i=e.toAccount;n.tim.groupController.hasLocalGroup(i)?e.groupProfile=n.tim.groupController.getLocalGroupProfile(i):o.push(i)}})),r.length>0&&this.tim.getUserProfile({userIDList:r}).then((function(e){var t=e.data;re(t)?t.forEach((function(e){n.conversationMap.get("C2C".concat(e.userID)).userProfile=e})):n.conversationMap.get("C2C".concat(t.userID)).userProfile=t})),o.length>0&&this.tim.groupController.getGroupProfileAdvance({groupIDList:o,responseFilter:{groupBaseInfoFilter:["Type","Name","FaceUrl"]}}).then((function(e){e.data.successGroupList.forEach((function(e){var t="GROUP".concat(e.groupID);if(n.conversationMap.has(t)){var r=n.conversationMap.get(t);he(r.groupProfile,e,[],[null,void 0,"",0,NaN]),!r.subType&&e.type&&(r.subType=e.type)}}))}))}}},{key:"_updateUserOrGroupProfileCompletely",value:function(e){var n=this;return e.type===t.CONV_C2C?this.tim.getUserProfile({userIDList:[e.toAccount]}).then((function(t){var r=t.data;return 0===r.length?Hr(new ht({code:dt.USER_OR_GROUP_NOT_FOUND,message:Ht})):(e.userProfile=r[0],e._isInfoCompleted=!0,n._unshiftConversation(e),Fr({conversation:e}))})):this.tim.getGroupProfile({groupID:e.toAccount}).then((function(t){return e.groupProfile=t.data.group,e._isInfoCompleted=!0,n._unshiftConversation(e),Fr({conversation:e})}))}},{key:"_unshiftConversation",value:function(e){e instanceof xa&&!this.conversationMap.has(e.conversationID)&&(this.conversationMap=new Map([[e.conversationID,e]].concat(_(this.conversationMap))),this._setStorageConversationList(),this._emitConversationUpdate(!0,!1))}},{key:"deleteLocalConversation",value:function(e){this.conversationMap.delete(e),this._setStorageConversationList(),this.emitInnerEvent(Er,e),this._emitConversationUpdate(!0,!1)}},{key:"_getConversationOptions",value:function(e){var t=[],n=e.filter((function(e){var t=e.lastMsg;return ne(t)})).map((function(e){if(1===e.type){var n={userID:e.userID,nick:e.c2CNick,avatar:e.c2CImage};return t.push(n),{conversationID:"C2C".concat(e.userID),type:"C2C",lastMessage:{lastTime:e.time,lastSequence:e.sequence,fromAccount:e.lastC2CMsgFromAccount,messageForShow:e.messageShow,type:e.lastMsg.elements[0]?e.lastMsg.elements[0].type:null,payload:e.lastMsg.elements[0]?e.lastMsg.elements[0].content:null},userProfile:new Da(n),peerReadTime:e.c2cPeerReadTime}}return{conversationID:"GROUP".concat(e.groupID),type:"GROUP",lastMessage:{lastTime:e.time,lastSequence:e.messageReadSeq+e.unreadCount,fromAccount:e.msgGroupFromAccount,messageForShow:e.messageShow,type:e.lastMsg.elements[0]?e.lastMsg.elements[0].type:null,payload:e.lastMsg.elements[0]?e.lastMsg.elements[0].content:null},groupProfile:new ba({groupID:e.groupID,name:e.groupNick,avatar:e.groupImage}),unreadCount:e.unreadCount,peerReadTime:0}}));return t.length>0&&this.emitInnerEvent(Mr,t),n}},{key:"_emitConversationUpdate",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=_(this.conversationMap.values());n&&this.emitInnerEvent(Cr,r),t&&this.emitOuterEvent(e.CONVERSATION_LIST_UPDATED,r)}},{key:"_conversationMapTreeShaking",value:function(e){var n=this,r=new Map(_(this.conversationMap));e.forEach((function(e){return r.delete(e.conversationID)})),r.has(t.CONV_SYSTEM)&&r.delete(t.CONV_SYSTEM);var o=this.tim.groupController.getJoinedAVChatRoom();o&&o.forEach((function(e){r.delete("".concat(t.CONV_GROUP).concat(e))})),_(r.keys()).forEach((function(e){return n.conversationMap.delete(e)}))}},{key:"reset",value:function(){this.pagingStatus=Ue.NOT_START,this.pagingTimeStamp=0,this.conversationMap.clear(),this.resetReady(),this.tim.innerEmitter.once(xn,this._initLocalConversationList,this)}}]),s}(Pr),Ha=function(){function e(t){if(r(this,e),void 0===t)throw new ht({code:dt.MESSAGE_LIST_CONSTRUCTOR_NEED_OPTIONS,message:Mt});if(void 0===t.tim)throw new ht({code:dt.MESSAGE_LIST_CONSTRUCTOR_NEED_OPTIONS,message:"".concat(Mt,".tim")});this.list=new Map,this.tim=t.tim,this._initializeOptions(t)}return i(e,[{key:"getLocalOldestMessageByConversationID",value:function(e){if(!e)return null;if(!this.list.has(e))return null;var t=this.list.get(e).values();return t?t.next().value:null}},{key:"_initializeOptions",value:function(e){this.options={};var t={memory:{maxDatasPerKey:100,maxBytesPerData:256,maxKeys:0},cache:{maxDatasPerKey:10,maxBytesPerData:256,maxKeys:0}};for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){if(void 0===e[n]){this.options[n]=t[n];continue}var r=t[n];for(var o in r)if(Object.prototype.hasOwnProperty.call(r,o)){if(void 0===e[n][o]){this.options[n][o]=r[o];continue}this.options[n][o]=e[n][o]}}}},{key:"pushIn",value:function(e){var t=e.conversationID,n=e.ID,r=!0;return this.list.has(t)||this.list.set(t,new Map),this.list.has(t)&&this.list.get(t).has(n)?r=!1:this.list.get(t).set(n,e),r}},{key:"unshift",value:function(e){re(e)?e.length>0&&this._unshiftMultipleMessages(e):this._unshiftSingleMessage(e)}},{key:"_unshiftSingleMessage",value:function(e){var t=e.conversationID,n=e.ID;if(!this.list.has(t))return this.list.set(t,new Map),void this.list.get(t).set(n,e);var r=Array.from(this.list.get(t));r.unshift([n,e]),this.list.set(t,new Map(r))}},{key:"_unshiftMultipleMessages",value:function(e){for(var t=e.length,n=[],r=e[0].conversationID,o=this.list.has(r)?Array.from(this.list.get(r)):[],i=0;i<t;i++)n.push([e[i].ID,e[i]]);this.list.set(r,new Map(n.concat(o)))}},{key:"remove",value:function(e){var t=e.conversationID,n=e.ID;this.list.has(t)&&this.list.get(t).delete(n)}},{key:"revoke",value:function(e,t,n){if(J.debug("revoke message",e,t,n),this.list.has(e)){var r,o=M(this.list.get(e));try{for(o.s();!(r=o.n()).done;){var i=v(r.value,2)[1];if(i.sequence===t&&!i.isRevoked&&(oe(n)||i.random===n))return i.isRevoked=!0,i}}catch(s){o.e(s)}finally{o.f()}}return null}},{key:"removeByConversationID",value:function(e){this.list.has(e)&&this.list.delete(e)}},{key:"updateMessageIsPeerReadProperty",value:function(e,t){var n=[];if(this.list.has(e)){var r,o=M(this.list.get(e));try{for(o.s();!(r=o.n()).done;){var i=v(r.value,2)[1];i.time<=t&&!i.isPeerRead&&"out"===i.flow&&(i.isPeerRead=!0,n.push(i))}}catch(s){o.e(s)}finally{o.f()}J.log("MessagesList.updateMessageIsPeerReadProperty conversationID=".concat(e," peerReadTime=").concat(t," count=").concat(n.length))}return n}},{key:"hasLocalMessageList",value:function(e){return this.list.has(e)}},{key:"getLocalMessageList",value:function(e){return this.hasLocalMessageList(e)?_(this.list.get(e).values()):[]}},{key:"hasLocalMessage",value:function(e,t){return!!this.hasLocalMessageList(e)&&this.list.get(e).has(t)}},{key:"getLocalMessage",value:function(e,t){return this.hasLocalMessage(e,t)?this.list.get(e).get(t):null}},{key:"reset",value:function(){this.list.clear()}}]),e}(),Ka=function(){function e(t){r(this,e),this.tim=t}return i(e,[{key:"setMessageRead",value:function(e){var n=e.conversationID,r=e.messageID,o=this.tim.conversationController.getLocalConversation(n);if(J.log("ReadReportHandler.setMessageRead conversationID=".concat(n," unreadCount=").concat(o?o.unreadCount:0)),!o||0===o.unreadCount)return Fr();var i=r?this.tim.messageController.getLocalMessage(n,r):null;switch(o.type){case t.CONV_C2C:return this._setC2CMessageRead({conversationID:n,lastMessageTime:i?i.time:o.lastMessage.lastTime});case t.CONV_GROUP:return this._setGroupMessageRead({conversationID:n,lastMessageSeq:i?i.sequence:o.lastMessage.lastSequence});case t.CONV_SYSTEM:return o.unreadCount=0,Fr();default:return Fr()}}},{key:"_setC2CMessageRead",value:function(e){var t=this,n=e.conversationID,r=e.lastMessageTime;J.log("ReadReportHandler._setC2CMessageRead conversationID=".concat(n," lastMessageTime=").concat(r)),Z(r)||J.warn("ReadReportHandler._setC2CMessageRead 请勿修改 Conversation.lastMessage.lastTime,否则可能会导致已读上报结果不准确");var o=new ro;return o.setMethod(vo).setText("".concat(n,"-").concat(r)).setStart(),this.tim.messageController.request({name:"conversation",action:"setC2CMessageRead",param:{C2CMsgReaded:{cookie:"",C2CMsgReadedItem:[{toAccount:n.replace("C2C",""),lastMessageTime:r,receipt:1}]}}}).then((function(){return o.setCode(0).setNetworkType(t.tim.netMonitor.getNetworkType()).setEnd(),J.log("ReadReportHandler._setC2CMessageRead ok."),t._updateIsReadAfterReadReport({conversationID:n,lastMessageTime:r}),t._updateUnreadCount(n),new Ur})).catch((function(e){return t.tim.netMonitor.probe().then((function(t){var n=v(t,2),r=n[0],i=n[1];o.setError(e,r,i).setEnd()})),J.log("ReadReportHandler._setC2CMessageRead failed. ".concat(de(e))),Hr(e)}))}},{key:"_setGroupMessageRead",value:function(e){var t=this,n=e.conversationID,r=e.lastMessageSeq;J.log("ReadReportHandler._setGroupMessageRead conversationID=".concat(n," lastMessageSeq=").concat(r)),Z(r)||J.warn("ReadReportHandler._setGroupMessageRead 请勿修改 Conversation.lastMessage.lastSequence,否则可能会导致已读上报结果不准确");var o=new ro;return o.setMethod(_o).setText("".concat(n,"-").concat(r)).setStart(),this.tim.messageController.request({name:"conversation",action:"setGroupMessageRead",param:{groupID:n.replace("GROUP",""),messageReadSeq:r}}).then((function(){return o.setCode(0).setNetworkType(t.tim.netMonitor.getNetworkType()).setEnd(),J.log("ReadReportHandler._setGroupMessageRead ok."),t._updateIsReadAfterReadReport({conversationID:n,lastMessageSeq:r}),t._updateUnreadCount(n),new Ur})).catch((function(e){return t.tim.netMonitor.probe().then((function(t){var n=v(t,2),r=n[0],i=n[1];o.setError(e,r,i).setEnd()})),J.log("ReadReportHandler._setGroupMessageRead failed. ".concat(de(e))),Hr(e)}))}},{key:"_updateUnreadCount",value:function(e){var t=this.tim,n=t.conversationController,r=t.messageController,o=n.getLocalConversation(e),i=r.getLocalMessageList(e);o&&(o.unreadCount=i.filter((function(e){return!e.isRead})).length,J.log("ReadReportHandler._updateUnreadCount conversationID=".concat(o.conversationID," unreadCount=").concat(o.unreadCount)))}},{key:"_updateIsReadAfterReadReport",value:function(e){var t=e.conversationID,n=e.lastMessageSeq,r=e.lastMessageTime,o=this.tim.messageController.getLocalMessageList(t);if(0!==o.length)for(var i,s=o.length-1;s>=0;s--)if(i=o[s],!(r&&i.time>r||n&&i.sequence>n)){if("in"===i.flow&&i.isRead)break;i.setIsRead(!0)}}},{key:"updateIsRead",value:function(e){var n=this.tim,r=n.conversationController,o=n.messageController,i=r.getLocalConversation(e),s=o.getLocalMessageList(e);if(i&&0!==s.length&&!ke(i.type)){for(var a=[],u=0;u<s.length;u++)"in"!==s[u].flow?"out"!==s[u].flow||s[u].isRead||s[u].setIsRead(!0):a.push(s[u]);var c=0;if(i.type===t.CONV_C2C){var l=a.slice(-i.unreadCount).filter((function(e){return e.isRevoked})).length;c=a.length-i.unreadCount-l}else c=a.length-i.unreadCount;for(var p=0;p<c&&!a[p].isRead;p++)a[p].setIsRead(!0)}}}]),e}(),Ba=function(){function e(t){var n=t.tim,o=t.messageController;r(this,e),this.tim=n,this.messageController=o,this.completedMap=new Map,this._initListener()}return i(e,[{key:"getMessageList",value:function(e){var t=this,n=e.conversationID,r=e.nextReqMessageID,o=e.count;if(this.tim.groupController.checkJoinedAVChatRoomByID(n.replace("GROUP","")))return J.log("GetMessageHandler.getMessageList not available in avchatroom. conversationID=".concat(n)),Fr({messageList:[],nextReqMessageID:"",isCompleted:!0});(oe(o)||o>15)&&(o=15);var i=this._computeLeftCount({conversationID:n,nextReqMessageID:r});return J.log("GetMessageHandler.getMessageList. conversationID=".concat(n," leftCount=").concat(i," count=").concat(o," nextReqMessageID=").concat(r)),this._needGetHistory({conversationID:n,leftCount:i,count:o})?this.messageController.getHistoryMessages({conversationID:n,count:20}).then((function(){return i=t._computeLeftCount({conversationID:n,nextReqMessageID:r}),new Ur(t._computeResult({conversationID:n,nextReqMessageID:r,count:o,leftCount:i}))})):(J.log("GetMessageHandler.getMessageList. get messagelist from memory"),Fr(this._computeResult({conversationID:n,nextReqMessageID:r,count:o,leftCount:i})))}},{key:"setCompleted",value:function(e){J.log("GetMessageHandler.setCompleted. conversationID=".concat(e)),this.completedMap.set(e,!0)}},{key:"deleteCompletedItem",value:function(e){J.log("GetMessageHandler.deleteCompletedItem. conversationID=".concat(e)),this.completedMap.delete(e)}},{key:"_initListener",value:function(){var e=this;this.tim.innerEmitter.on(kr,(function(){e.setCompleted(t.CONV_SYSTEM)})),this.tim.innerEmitter.on(Tr,(function(n){var r=n.data;e.setCompleted("".concat(t.CONV_GROUP).concat(r))}))}},{key:"_getMessageListSize",value:function(e){return this.messageController.getLocalMessageList(e).length}},{key:"_needGetHistory",value:function(e){var n=e.conversationID,r=e.leftCount,o=e.count,i=this.tim.conversationController.getLocalConversation(n),s=!!i&&i.type===t.CONV_SYSTEM,a=!!i&&i.subType===t.GRP_AVCHATROOM;return!s&&!a&&(r<o&&!this.completedMap.has(n))}},{key:"_computeResult",value:function(e){var t=e.conversationID,n=e.nextReqMessageID,r=e.count,o=e.leftCount,i=this._computeMessageList({conversationID:t,nextReqMessageID:n,count:r}),s=this._computeIsCompleted({conversationID:t,leftCount:o,count:r}),a=this._computeNextReqMessageID({messageList:i,isCompleted:s,conversationID:t});return J.log("GetMessageHandler._computeResult. conversationID=".concat(t," leftCount=").concat(o," count=").concat(r," nextReqMessageID=").concat(a," nums=").concat(i.length," isCompleted=").concat(s)),{messageList:i,nextReqMessageID:a,isCompleted:s}}},{key:"_computeNextReqMessageID",value:function(e){var t=e.messageList,n=e.isCompleted,r=e.conversationID;if(!n)return 0===t.length?"":t[0].ID;var o=this.messageController.getLocalMessageList(r);return 0===o.length?"":o[0].ID}},{key:"_computeMessageList",value:function(e){var t=e.conversationID,n=e.nextReqMessageID,r=e.count,o=this.messageController.getLocalMessageList(t),i=this._computeIndexEnd({nextReqMessageID:n,messageList:o}),s=this._computeIndexStart({indexEnd:i,count:r});return o.slice(s,i)}},{key:"_computeIndexEnd",value:function(e){var t=e.messageList,n=void 0===t?[]:t,r=e.nextReqMessageID;return r?n.findIndex((function(e){return e.ID===r})):n.length}},{key:"_computeIndexStart",value:function(e){var t=e.indexEnd,n=e.count;return t>n?t-n:0}},{key:"_computeLeftCount",value:function(e){var t=e.conversationID,n=e.nextReqMessageID;return n?this.messageController.getLocalMessageList(t).findIndex((function(e){return e.ID===n})):this._getMessageListSize(t)}},{key:"_computeIsCompleted",value:function(e){var t=e.conversationID;return!!(e.leftCount<=e.count&&this.completedMap.has(t))}},{key:"reset",value:function(){J.log("GetMessageHandler.reset"),this.completedMap.clear()}}]),e}(),Va=function e(t){r(this,e),this.value=t,this.next=null},ja=function(){function e(t){r(this,e),this.MAX_LENGTH=t,this.pTail=null,this.pNodeToDel=null,this.map=new Map,J.log("SinglyLinkedList init MAX_LENGTH=".concat(this.MAX_LENGTH))}return i(e,[{key:"pushIn",value:function(e){var t=new Va(e);if(this.map.size<this.MAX_LENGTH)null===this.pTail?(this.pTail=t,this.pNodeToDel=t):(this.pTail.next=t,this.pTail=t),this.map.set(e,1);else{var n=this.pNodeToDel;this.pNodeToDel=this.pNodeToDel.next,this.map.delete(n.value),n.next=null,n=null,this.pTail.next=t,this.pTail=t,this.map.set(e,1)}}},{key:"has",value:function(e){return this.map.has(e)}},{key:"tail",value:function(){return this.pTail}},{key:"size",value:function(){return this.map.size}},{key:"data",value:function(){return Array.from(this.map.keys())}},{key:"reset",value:function(){for(var e;null!==this.pNodeToDel;)e=this.pNodeToDel,this.pNodeToDel=this.pNodeToDel.next,e.next=null,e=null;this.pTail=null,this.map.clear()}}]),e}(),Ya=function(){function e(t){r(this,e),this.tim=t}return i(e,[{key:"upload",value:function(e){switch(e.type){case t.MSG_IMAGE:return this._uploadImage(e);case t.MSG_FILE:return this._uploadFile(e);case t.MSG_AUDIO:return this._uploadAudio(e);case t.MSG_VIDEO:return this._uploadVideo(e);default:return Promise.resolve()}}},{key:"_uploadImage",value:function(e){var t=this.tim,n=t.uploadController,r=t.messageController,o=e.getElements()[0],i=r.getMessageOptionByID(e.messageID);return n.uploadImage({file:i.payload.file,to:i.to,onProgress:function(e){if(o.updatePercent(e),se(i.onProgress))try{i.onProgress(e)}catch(t){return Hr(new ht({code:dt.MESSAGE_ONPROGRESS_FUNCTION_ERROR,message:"".concat(Dt)}))}}}).then((function(e){var t,n=e.location,r=e.fileType,i=e.fileSize,s=Me(n);return o.updateImageFormat(r),o.updateImageInfoArray({size:i,url:s}),t=o._imageMemoryURL,N?new Promise((function(e,n){wx.getImageInfo({src:t,success:function(t){e({width:t.width,height:t.height})},fail:function(){e({width:0,height:0})}})})):x&&9===F?Promise.resolve({width:0,height:0}):new Promise((function(e,n){var r=new Image;r.onload=function(){e({width:this.width,height:this.height}),r=null},r.onerror=function(){e({width:0,height:0}),r=null},r.src=t}))})).then((function(t){var n=t.width,r=t.height;return o.updateImageInfoArray({width:n,height:r}),e}))}},{key:"_uploadFile",value:function(e){var t=this.tim,n=t.uploadController,r=t.messageController,o=e.getElements()[0],i=r.getMessageOptionByID(e.messageID);return n.uploadFile({file:i.payload.file,to:i.to,onProgress:function(e){if(o.updatePercent(e),se(i.onProgress))try{i.onProgress(e)}catch(t){return Hr(new ht({code:dt.MESSAGE_ONPROGRESS_FUNCTION_ERROR,message:"".concat(Dt)}))}}}).then((function(t){var n=t.location,r=Me(n);return o.updateFileUrl(r),e}))}},{key:"_uploadAudio",value:function(e){var t=this.tim,n=t.uploadController,r=t.messageController,o=e.getElements()[0],i=r.getMessageOptionByID(e.messageID);return n.uploadAudio({file:i.payload.file,to:i.to,onProgress:function(e){if(o.updatePercent(e),se(i.onProgress))try{i.onProgress(e)}catch(t){return Hr(new ht({code:dt.MESSAGE_ONPROGRESS_FUNCTION_ERROR,message:"".concat(Dt)}))}}}).then((function(t){var n=t.location,r=Me(n);return o.updateAudioUrl(r),e}))}},{key:"_uploadVideo",value:function(e){var t=this.tim,n=t.uploadController,r=t.messageController,o=e.getElements()[0],i=r.getMessageOptionByID(e.messageID);return n.uploadVideo({file:i.payload.file,to:i.to,onProgress:function(e){if(o.updatePercent(e),se(i.onProgress))try{i.onProgress(e)}catch(t){return Hr(new ht({code:dt.MESSAGE_ONPROGRESS_FUNCTION_ERROR,message:"".concat(Dt)}))}}}).then((function(t){var n=Me(t.location);return o.updateVideoUrl(n),e}))}}]),e}(),$a=function(n){c(s,n);var o=y(s);function s(e){var t;return r(this,s),(t=o.call(this,e))._initializeMembers(),t._initializeListener(),t._initialzeHandlers(),t.messageOptionMap=new Map,t}return i(s,[{key:"_initializeMembers",value:function(){this.messagesList=new Ha({tim:this.tim}),this.currentMessageKey={},this.singlyLinkedList=new ja(100),this._peerReadTimeMap=new Map}},{key:"_initialzeHandlers",value:function(){this.readReportHandler=new Ka(this.tim,this),this.getMessageHandler=new Ba({messageController:this,tim:this.tim}),this.uploadFileHandler=new Ya(this.tim)}},{key:"reset",value:function(){this.messagesList.reset(),this.currentMessageKey={},this.getMessageHandler.reset(),this.singlyLinkedList.reset(),this._peerReadTimeMap.clear(),this.messageOptionMap.clear()}},{key:"_initializeListener",value:function(){var e=this.tim.innerEmitter;e.on(rr,this._onReceiveC2CMessage,this),e.on(Hn,this._onSyncMessagesProcessing,this),e.on(Kn,this._onSyncMessagesFinished,this),e.on(or,this._onReceiveGroupMessage,this),e.on(ir,this._onReceiveGroupTips,this),e.on(sr,this._onReceiveSystemNotice,this),e.on(lr,this._onReceiveGroupMessageRevokedNotice,this),e.on(pr,this._onReceiveC2CMessageRevokedNotice,this),e.on(hr,this._onC2CMessageReadReceipt,this),e.on(Er,this._clearConversationMessages,this)}},{key:"_guardForAVChatRoom",value:function(e){if(e.conversationType===t.CONV_GROUP){var n=this.tim.groupController,r=e.to;return n.hasLocalGroup(r)?Promise.resolve():n.getGroupProfile({groupID:r}).then((function(n){var o=n.data.group.type;return J.log("MessageController._guardForAVChatRoom. groupID=".concat(r," type=").concat(o)),o===t.GRP_AVCHATROOM?(J.warn("MessageController._guardForAVChatRoom sendMessage not allowed. userId=".concat(e.from," 未加入群 groupID=").concat(r,"。发消息前先使用 joinGroup 接口申请加群,详细请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#joinGroup")),Hr(new ht({code:dt.MESSAGE_SEND_FAIL,message:Ct,data:{message:e}}))):Promise.resolve()}))}return Promise.resolve()}},{key:"sendMessageInstance",value:function(e,n){var r,o=this,i=null;switch(e.conversationType){case t.CONV_C2C:i=this._handleOnSendC2CMessageSuccess.bind(this);break;case t.CONV_GROUP:i=this._handleOnSendGroupMessageSuccess.bind(this);break;default:return Hr(new ht({code:dt.MESSAGE_SEND_INVALID_CONVERSATION_TYPE,message:St}))}return this.singlyLinkedList.pushIn(e.random),this.uploadFileHandler.upload(e).then((function(){return o._guardForAVChatRoom(e).then((function(){var i=null;return e.isSendable()?(o._addSendMessageTotalCount(e),r=Date.now(),e.conversationType===t.CONV_C2C?i=o._createC2CMessagePack(e,n):e.conversationType===t.CONV_GROUP&&(i=o._createGroupMessagePack(e,n)),o.request(i)):Hr({code:dt.MESSAGE_FILE_URL_IS_EMPTY,message:xt})})).then((function(n){return o._addSendMessageSuccessCount(e,r),e.conversationType===t.CONV_GROUP&&(e.sequence=n.data.sequence,e.time=n.data.time,e.generateMessageID(o.tim.context.identifier)),o.messagesList.pushIn(e),i(e,n.data),o.messageOptionMap.delete(e.messageID),o.emitInnerEvent(Bn,{eventDataList:[{conversationID:e.conversationID,unreadCount:0,type:e.conversationType,subType:e.conversationSubType,lastMessage:e}]}),new Ur({message:e})})).catch((function(t){e.status=be.FAIL;var n=new ro;return n.setMethod(fo).setMessageType(e.type).setText("".concat(o._generateTjgID(e),"-").concat(e.type,"-").concat(e.from,"-").concat(e.to)).setStart(),o.probeNetwork().then((function(e){var r=v(e,2),o=r[0],i=r[1];n.setError(t,o,i).setEnd()})),J.error("MessageController.sendMessageInstance error:",t),Hr(new ht({code:t&&t.code?t.code:dt.MESSAGE_SEND_FAIL,message:t&&t.message?t.message:Ct,data:{message:e}}))}))}))}},{key:"_getSendMessageSpecifiedKey",value:function(e){if(e.conversationType===t.CONV_C2C)return $r;if(e.conversationType===t.CONV_GROUP){var n=this.tim.groupController.getLocalGroupProfile(e.to);if(!n)return;var r=n.type;if(function(e){return e===t.GRP_WORK}(r))return Wr;if(Se(r))return zr;if(Te(r))return Xr;if(De(r))return Jr}}},{key:"_addSendMessageTotalCount",value:function(e){var t=this.tim.sumStatController;t.addTotalCount(Yr);var n=this._getSendMessageSpecifiedKey(e);n&&t.addTotalCount(n)}},{key:"_addSendMessageSuccessCount",value:function(e,t){var n=this.tim.sumStatController,r=Math.abs(Date.now()-t);n.addSuccessCount(Yr),n.addCost(Yr,r);var o=this._getSendMessageSpecifiedKey(e);o&&(n.addSuccessCount(o),n.addCost(o,r))}},{key:"resendMessage",value:function(e){return e.isResend=!0,e.status=be.UNSEND,this.sendMessageInstance(e)}},{key:"_isFileLikeMessage",value:function(e){return[t.MSG_IMAGE,t.MSG_FILE,t.MSG_AUDIO,t.MSG_VIDEO].indexOf(e.type)>=0}},{key:"_resendBinaryTypeMessage",value:function(){}},{key:"_canIUseOnlineOnlyFlag",value:function(e){var n=this.tim.groupController.getJoinedAVChatRoom();return!n||!n.includes(e.to)||e.conversationType!==t.CONV_GROUP}},{key:"_createC2CMessagePack",value:function(e,t){var n=0,r=null;return t&&(t.offlinePushInfo&&(r=t.offlinePushInfo),!0===t.onlineUserOnly&&(n=1,r?r.disablePush=!0:r={disablePush:!0})),{name:"c2cMessage",action:"create",tjgID:this._generateTjgID(e),param:{toAccount:e.to,msgBody:e.getElements(),msgSeq:e.sequence,msgRandom:e.random,msgLifeTime:this._canIUseOnlineOnlyFlag(e)&&n?0:void 0,offlinePushInfo:r?{pushFlag:!0===r.disablePush?1:0,title:r.title||"",desc:r.description||"",ext:r.extension||"",apnsInfo:{badgeMode:!0===r.ignoreIOSBadge?1:0},androidInfo:{OPPOChannelID:r.androidOPPOChannelID||""}}:void 0}}}},{key:"_handleOnSendC2CMessageSuccess",value:function(e,t){e.status=be.SUCCESS,e.time=t.time}},{key:"_createGroupMessagePack",value:function(e,t){var n=0,r=null;return t&&(!0===t.onlineUserOnly&&(n=1),t.offlinePushInfo&&(r=t.offlinePushInfo)),{name:"groupMessage",action:"create",tjgID:this._generateTjgID(e),param:{groupID:e.to,msgBody:e.getElements(),random:e.random,priority:e.priority,clientSequence:e.clientSequence,onlineOnlyFlag:this._canIUseOnlineOnlyFlag(e)?n:0,offlinePushInfo:r?{pushFlag:!0===r.disablePush?1:0,title:r.title||"",desc:r.description||"",ext:r.extension||"",apnsInfo:{badgeMode:!0===r.ignoreIOSBadge?1:0},androidInfo:{OPPOChannelID:r.androidOPPOChannelID||""}}:void 0}}}},{key:"_handleOnSendGroupMessageSuccess",value:function(e,t){e.sequence=t.sequence,e.time=t.time,e.status=be.SUCCESS}},{key:"_onReceiveC2CMessage",value:function(n){J.debug("MessageController._onReceiveC2CMessage nums=".concat(n.data.length));var r=Date.now(),o=this._newC2CMessageStoredAndSummary({notifiesList:n.data,type:t.CONV_C2C,C2CRemainingUnreadList:n.C2CRemainingUnreadList}),i=o.eventDataList,s=o.result;if(i.length>0&&this.emitInnerEvent(Yn,{eventDataList:i,result:s}),s.length>0){var a=this.tim.sumStatController;a.addTotalCount(Qr),a.addSuccessCount(Qr),a.addCost(Qr,Date.now()-r),this.emitOuterEvent(e.MESSAGE_RECEIVED,s)}}},{key:"_onReceiveGroupMessage",value:function(t){J.debug("MessageController._onReceiveGroupMessage nums=".concat(t.data.length));var n=Date.now(),r=this.newGroupMessageStoredAndSummary(t.data),o=r.eventDataList,i=r.result;if(o.length>0&&this.emitInnerEvent($n,{eventDataList:o,result:i,isGroupTip:!1}),i.length>0){var s=this.tim.sumStatController;s.addTotalCount(Qr),s.addSuccessCount(Qr),s.addCost(Qr,Date.now()-n),this.emitOuterEvent(e.MESSAGE_RECEIVED,i)}}},{key:"_onReceiveGroupTips",value:function(t){var n=Date.now(),r=t.data;J.debug("MessageController._onReceiveGroupTips nums=".concat(r.length));var o=this.newGroupTipsStoredAndSummary(r),i=o.eventDataList,s=o.result;if(i.length>0&&this.emitInnerEvent($n,{eventDataList:i,result:s,isGroupTip:!0}),s.length>0){var a=this.tim.sumStatController;a.addTotalCount(Qr),a.addSuccessCount(Qr),a.addCost(Qr,Date.now()-n),this.emitOuterEvent(e.MESSAGE_RECEIVED,s)}}},{key:"_onReceiveSystemNotice",value:function(t){var n=Date.now(),r=t.data,o=r.groupSystemNotices,i=r.type;J.debug("MessageController._onReceiveSystemNotice nums=".concat(o.length));var s=this.newSystemNoticeStoredAndSummary({notifiesList:o,type:i}),a=s.eventDataList,u=s.result;if(a.length>0&&this.emitInnerEvent(Wn,{eventDataList:a,result:u,type:i}),u.length>0&&"poll"===i){var c=this.tim.sumStatController;c.addTotalCount(Qr),c.addSuccessCount(Qr),c.addCost(Qr,Date.now()-n),this.emitOuterEvent(e.MESSAGE_RECEIVED,u)}}},{key:"_onReceiveGroupMessageRevokedNotice",value:function(t){var n=this;J.debug("MessageController._onReceiveGroupMessageRevokedNotice nums=".concat(t.data.length));var r=[],o=null;t.data.forEach((function(e){e.elements.revokedInfos.forEach((function(e){(o=n.messagesList.revoke("GROUP".concat(e.groupID),e.sequence))&&r.push(o)}))})),0!==r.length&&(this.emitInnerEvent(zn,r),this.emitOuterEvent(e.MESSAGE_REVOKED,r))}},{key:"_onReceiveC2CMessageRevokedNotice",value:function(t){var n=this;J.debug("MessageController._onReceiveC2CMessageRevokedNotice nums=".concat(t.data.length));var r=[],o=null;t.data.forEach((function(e){e.c2cMessageRevokedNotify.revokedInfos.forEach((function(e){var t=n.tim.context.identifier===e.from?"C2C".concat(e.to):"C2C".concat(e.from);(o=n.messagesList.revoke(t,e.sequence,e.random))&&r.push(o)}))})),0!==r.length&&(this.emitInnerEvent(zn,r),this.emitOuterEvent(e.MESSAGE_REVOKED,r))}},{key:"_onC2CMessageReadReceipt",value:function(e){var t=this;e.data.forEach((function(e){var n=e.c2cMessageReadReceipt.to;e.c2cMessageReadReceipt.uinPairReadArray.forEach((function(e){var r=e.peerReadTime;J.debug("MessageController._onC2CMessageReadReceipt to=".concat(n," peerReadTime=").concat(r));var o="C2C".concat(n);t.recordPeerReadTime(o,r),t._updateMessageIsPeerReadProperty(o,r)}))}))}},{key:"_updateMessageIsPeerReadProperty",value:function(n,r){if(n.startsWith(t.CONV_C2C)&&r>0){var o=this.messagesList.updateMessageIsPeerReadProperty(n,r);o.length>0&&this.emitOuterEvent(e.MESSAGE_READ_BY_PEER,o)}}},{key:"getPeerReadTime",value:function(e){var t=this;if(!Oe(e)){var n=new ro;return n.setMethod(Co).setStart(),J.log("MessageController.getPeerReadTime userIDList:".concat(e)),this.request({name:"c2cPeerReadTime",action:"get",param:{userIDList:e}}).then((function(r){var o=r.data.peerReadTimeList;J.log("MessageController.getPeerReadTime ok. peerReadTimeList:".concat(o));for(var i="",s=0;s<e.length;s++)i+="".concat(e[s],"-").concat(o[s]," "),o[s]>0&&t.recordPeerReadTime("C2C".concat(e[s]),o[s]);n.setCode(0).setNetworkType(t.getNetworkType()).setText(i).setEnd()})).catch((function(e){t.probeNetwork().then((function(t){var r=v(t,2),o=r[0],i=r[1];n.setError(e,o,i).setEnd()})),J.warn("MessageController.getPeerReadTime failed. error:",e)}))}}},{key:"recordPeerReadTime",value:function(e,t){this._peerReadTimeMap.has(e)?this._peerReadTimeMap.get(e)<t&&this._peerReadTimeMap.set(e,t):this._peerReadTimeMap.set(e,t)}},{key:"_clearConversationMessages",value:function(e){var t=e.data;this.messagesList.removeByConversationID(t),this.getMessageHandler.deleteCompletedItem(t)}},{key:"_pushIntoNoticeResult",value:function(e,t){return!(!this.messagesList.pushIn(t)||this.singlyLinkedList.has(t.random))&&(e.push(t),!0)}},{key:"_newC2CMessageStoredAndSummary",value:function(e){for(var n=e.notifiesList,r=e.type,o=e.C2CRemainingUnreadList,i=e.isFromSync,s=null,a=[],u=[],c={},l=this.tim.bigDataHallwayController,p=0,h=n.length;p<h;p++){var d=n[p];if(d.currentUser=this.tim.context.identifier,d.conversationType=r,d.isSystemMessage=!!d.isSystemMessage,s=new Dn(d),d.elements=l.parseElements(d.elements,d.from),s.setElement(d.elements),!i)if(!this._pushIntoNoticeResult(u,s))continue;void 0===c[s.conversationID]?c[s.conversationID]=a.push({conversationID:s.conversationID,unreadCount:"out"===s.flow?0:1,type:s.conversationType,subType:s.conversationSubType,lastMessage:s})-1:(a[c[s.conversationID]].type=s.conversationType,a[c[s.conversationID]].subType=s.conversationSubType,a[c[s.conversationID]].lastMessage=s,"in"===s.flow&&a[c[s.conversationID]].unreadCount++)}if(re(o))for(var f=function(e,n){var r=a.find((function(t){return t.conversationID==="C2C".concat(o[e].from)}));r?r.unreadCount+=o[e].count:a.push({conversationID:"C2C".concat(o[e].from),unreadCount:o[e].count,type:t.CONV_C2C,lastMsgTime:o[e].lastMsgTime})},g=0,m=o.length;g<m;g++)f(g);return{eventDataList:a,result:u}}},{key:"newGroupMessageStoredAndSummary",value:function(e){var n=null,r=[],o={},i=[],s=t.CONV_GROUP,a=this.tim.bigDataHallwayController,u=e.length;u>1&&e.sort((function(e,t){return e.sequence-t.sequence}));for(var c=0;c<u;c++){var l=e[c];if(l.currentUser=this.tim.context.identifier,l.conversationType=s,l.isSystemMessage=!!l.isSystemMessage,n=new Dn(l),l.elements=a.parseElements(l.elements,l.from),n.setElement(l.elements),!this._isMessageFromAVChatroom(n))this._pushIntoNoticeResult(i,n)&&(void 0===o[n.conversationID]?o[n.conversationID]=r.push({conversationID:n.conversationID,unreadCount:"out"===n.flow?0:1,type:n.conversationType,subType:n.conversationSubType,lastMessage:n})-1:(r[o[n.conversationID]].type=n.conversationType,r[o[n.conversationID]].subType=n.conversationSubType,r[o[n.conversationID]].lastMessage=n,"in"===n.flow&&r[o[n.conversationID]].unreadCount++))}return{eventDataList:r,result:i}}},{key:"_isMessageFromAVChatroom",value:function(e){var t=e.conversationID.slice(5);return this.tim.groupController.checkJoinedAVChatRoomByID(t)}},{key:"newGroupTipsStoredAndSummary",value:function(e){for(var n=null,r=[],o=[],i={},s=0,a=e.length;s<a;s++){var c=e[s];if(c.currentUser=this.tim.context.identifier,c.conversationType=t.CONV_GROUP,(n=new Dn(c)).setElement({type:t.MSG_GRP_TIP,content:u(u({},c.elements),{},{groupProfile:c.groupProfile})}),n.isSystemMessage=!1,!this._isMessageFromAVChatroom(n))this._pushIntoNoticeResult(o,n)&&(void 0===i[n.conversationID]?i[n.conversationID]=r.push({conversationID:n.conversationID,unreadCount:"out"===n.flow?0:1,type:n.conversationType,subType:n.conversationSubType,lastMessage:n})-1:(r[i[n.conversationID]].type=n.conversationType,r[i[n.conversationID]].subType=n.conversationSubType,r[i[n.conversationID]].lastMessage=n,"in"===n.flow&&r[i[n.conversationID]].unreadCount++))}return{eventDataList:r,result:o}}},{key:"newSystemNoticeStoredAndSummary",value:function(e){var n=e.notifiesList,r=e.type,o=null,i=n.length,s=0,a=[],c={conversationID:t.CONV_SYSTEM,unreadCount:0,type:t.CONV_SYSTEM,subType:null,lastMessage:null};for(s=0;s<i;s++){var l=n[s];if(l.elements.operationType!==ze)l.currentUser=this.tim.context.identifier,l.conversationType=t.CONV_SYSTEM,l.conversationID=t.CONV_SYSTEM,(o=new Dn(l)).setElement({type:t.MSG_GRP_SYS_NOTICE,content:u(u({},l.elements),{},{groupProfile:l.groupProfile})}),o.isSystemMessage=!0,(1===o.sequence&&1===o.random||2===o.sequence&&2===o.random)&&(o.sequence=me(),o.random=me(),o.generateMessageID(l.currentUser),J.log("MessageController.newSystemNoticeStoredAndSummary sequence and random maybe duplicated, regenerate. ID=".concat(o.ID))),this._pushIntoNoticeResult(a,o)&&("poll"===r?c.unreadCount++:"sync"===r&&o.setIsRead(!0),c.subType=o.conversationSubType)}return c.lastMessage=a[a.length-1],{eventDataList:a.length>0?[c]:[],result:a}}},{key:"_onSyncMessagesProcessing",value:function(e){var n=this._newC2CMessageStoredAndSummary({notifiesList:e.data,type:t.CONV_C2C,isFromSync:!0,C2CRemainingUnreadList:e.C2CRemainingUnreadList}),r=n.eventDataList,o=n.result;this.emitInnerEvent(Vn,{eventDataList:r,result:o})}},{key:"_onSyncMessagesFinished",value:function(e){this.triggerReady();var n=this._newC2CMessageStoredAndSummary({notifiesList:e.data.messageList,type:t.CONV_C2C,isFromSync:!0,C2CRemainingUnreadList:e.data.C2CRemainingUnreadList}),r=n.eventDataList,o=n.result;this.emitInnerEvent(jn,{eventDataList:r,result:o})}},{key:"getHistoryMessages",value:function(e){if(e.conversationID===t.CONV_SYSTEM)return Fr();!e.count&&(e.count=15),e.count>20&&(e.count=20);var n=this.messagesList.getLocalOldestMessageByConversationID(e.conversationID);n||((n={}).time=0,n.sequence=0,0===e.conversationID.indexOf(t.CONV_C2C)?(n.to=e.conversationID.replace(t.CONV_C2C,""),n.conversationType=t.CONV_C2C):0===e.conversationID.indexOf(t.CONV_GROUP)&&(n.to=e.conversationID.replace(t.CONV_GROUP,""),n.conversationType=t.CONV_GROUP));var r="";switch(n.conversationType){case t.CONV_C2C:return r=e.conversationID.replace(t.CONV_C2C,""),this.getC2CRoamMessages({conversationID:e.conversationID,peerAccount:r,count:e.count,lastMessageTime:void 0===this.currentMessageKey[e.conversationID]?0:n.time});case t.CONV_GROUP:return this.getGroupRoamMessages({conversationID:e.conversationID,groupID:n.to,count:e.count,sequence:n.sequence-1});default:return Fr()}}},{key:"getC2CRoamMessages",value:function(e){var n=this,r=e.conversationID,o=void 0!==this.currentMessageKey[r]?this.currentMessageKey[r]:"";J.log("MessageController.getC2CRoamMessages toAccount=".concat(e.peerAccount," count=").concat(e.count||15," lastMessageTime=").concat(e.lastMessageTime||0," messageKey=").concat(o));var i=new ro;return i.setMethod(go).setStart(),this.request({name:"c2cMessage",action:"query",param:{peerAccount:e.peerAccount,count:e.count||15,lastMessageTime:e.lastMessageTime||0,messageKey:o}}).then((function(s){var a=s.data,u=a.complete,c=a.messageList;oe(c)?J.log("MessageController.getC2CRoamMessages ok. complete=".concat(u," but messageList is undefined!")):J.log("MessageController.getC2CRoamMessages ok. complete=".concat(u," nums=").concat(c.length)),i.setCode(0).setNetworkType(n.getNetworkType()).setText("".concat(e.peerAccount,"-").concat(e.count||15,"-").concat(e.lastMessageTime||0,"-").concat(o,"-").concat(u,"-").concat(c?c.length:"undefined")).setEnd(),1===u&&n.getMessageHandler.setCompleted(r);var l=n._roamMessageStore(c,t.CONV_C2C,r);n.readReportHandler.updateIsRead(r),n.currentMessageKey[r]=s.data.messageKey;var p=n._peerReadTimeMap.get(r);if(J.log("MessageController.getC2CRoamMessages update isPeerRead property. conversationID=".concat(r," peerReadTime=").concat(p)),p)n._updateMessageIsPeerReadProperty(r,p);else{var h=r.replace(t.CONV_C2C,"");n.getPeerReadTime([h]).then((function(){n._updateMessageIsPeerReadProperty(r,n._peerReadTimeMap.get(r))}))}return l})).catch((function(t){return n.probeNetwork().then((function(n){var r=v(n,2),s=r[0],a=r[1];i.setError(t,s,a).setText("".concat(e.peerAccount,"-").concat(e.count||15,"-").concat(e.lastMessageTime||0,"-").concat(o)).setEnd()})),J.warn("MessageController.getC2CRoamMessages failed. ".concat(t)),Hr(t)}))}},{key:"_computeLastSequence",value:function(e){return e.sequence>=0?Promise.resolve(e.sequence):this.tim.groupController.getGroupLastSequence(e.groupID)}},{key:"getGroupRoamMessages",value:function(e){var n=this,r=new ro,o=0;return this._computeLastSequence(e).then((function(t){return o=t,J.log("MessageController.getGroupRoamMessages groupID=".concat(e.groupID," lastSequence=").concat(o)),r.setMethod(mo).setStart(),n.request({name:"groupMessage",action:"query",param:{groupID:e.groupID,count:21,sequence:o}})})).then((function(i){var s=i.data,a=s.messageList,u=s.complete;oe(a)?J.log("MessageController.getGroupRoamMessages ok. complete=".concat(u," but messageList is undefined!")):J.log("MessageController.getGroupRoamMessages ok. complete=".concat(u," nums=").concat(a.length)),r.setCode(0).setNetworkType(n.getNetworkType()).setText("".concat(e.groupID,"-").concat(o,"-").concat(u,"-").concat(a?a.length:"undefined")).setEnd();var c="GROUP".concat(e.groupID);if(2===u||Oe(a))return n.getMessageHandler.setCompleted(c),[];var l=n._roamMessageStore(a,t.CONV_GROUP,c);return n.readReportHandler.updateIsRead(c),n._patchConversationLastMessage(c),l})).catch((function(t){return n.probeNetwork().then((function(n){var i=v(n,2),s=i[0],a=i[1];r.setError(t,s,a).setText("".concat(e.groupID,"-").concat(o)).setEnd()})),J.warn("MessageController.getGroupRoamMessages failed. ".concat(t)),Hr(t)}))}},{key:"_patchConversationLastMessage",value:function(e){var t=this.tim.conversationController.getLocalConversation(e);if(t){var n=t.lastMessage,r=n.messageForShow,o=n.payload;if(Oe(r)||Oe(o)){var i=this.messagesList.getLocalMessageList(e);if(0===i.length)return;var s=i[i.length-1];J.log("MessageController._patchConversationLastMessage conversationID:".concat(e," payload:"),s.payload),t.updateLastMessage(s)}}}},{key:"_roamMessageStore",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,o=null,i=[],s=0,a=e.length,c=null,l=n===t.CONV_GROUP,p=this.tim.bigDataHallwayController,h=function(){s=l?e.length-1:0,a=l?0:e.length},d=function(){l?--s:++s},f=function(){return l?s>=a:s<a};for(h();f();d())if(l&&1===e[s].sequence&&this.getMessageHandler.setCompleted(r),1!==e[s].isPlaceMessage)if((o=new Dn(e[s])).to=e[s].to,o.isSystemMessage=!!e[s].isSystemMessage,o.conversationType=n,e[s].event===xe.JSON.TYPE.GROUP.TIP?c={type:t.MSG_GRP_TIP,content:u(u({},e[s].elements),{},{groupProfile:e[s].groupProfile})}:(e[s].elements=p.parseElements(e[s].elements,e[s].from),c=e[s].elements),Oe(c)){var g=new ro;g.setMethod(Io).setText("from:".concat(o.from," to:").concat(o.to," sequence:").concat(o.sequence," event:").concat(e[s].event)).setStart(),g.setCode(0).setNetworkType(this.getNetworkType()).setEnd()}else o.setElement(c),o.reInitialize(this.tim.context.identifier),i.push(o);return this.messagesList.unshift(i),h=d=f=null,i}},{key:"getLocalMessageList",value:function(e){return this.messagesList.getLocalMessageList(e)}},{key:"getLocalMessage",value:function(e,t){return this.messagesList.getLocalMessage(e,t)}},{key:"hasLocalMessage",value:function(e,t){return this.messagesList.hasLocalMessage(e,t)}},{key:"deleteLocalMessage",value:function(e){e instanceof Dn&&this.messagesList.remove(e)}},{key:"revokeMessage",value:function(e){var n,r=this;e.conversationType===t.CONV_C2C?n={name:"c2cMessageWillBeRevoked",action:"create",param:{msgInfo:{fromAccount:e.from,toAccount:e.to,msgSeq:e.sequence,msgRandom:e.random,msgTimeStamp:e.time}}}:e.conversationType===t.CONV_GROUP&&(n={name:"groupMessageWillBeRevoked",action:"create",param:{to:e.to,msgSeqList:[{msgSeq:e.sequence}]}});var o=new ro;return o.setMethod(yo).setMessageType(e.type).setText("".concat(this._generateTjgID(e),"-").concat(e.type,"-").concat(e.from,"-").concat(e.to)).setStart(),this.request(n).then((function(t){var n=t.data.recallRetList;if(!Oe(n)&&0!==n[0].retCode){var i=new ht({code:n[0].retCode,message:pt[n[0].retCode]||kt,data:{message:e}});return o.setCode(i.code).setMessage(i.message).setEnd(),Hr(i)}return J.info("MessageController.revokeMessage ok. ID=".concat(e.ID)),e.isRevoked=!0,o.setCode(0).setEnd(),r.emitInnerEvent(zn,[e]),new Ur({message:e})})).catch((function(t){r.probeNetwork().then((function(e){var n=v(e,2),r=n[0],i=n[1];o.setError(t,r,i).setEnd()}));var n=new ht({code:t&&t.code?t.code:dt.MESSAGE_REVOKE_FAIL,message:t&&t.message?t.message:kt,data:{message:e}});return J.warn("MessageController.revokeMessage failed. ID=".concat(e.ID," code=").concat(n.code," message=").concat(n.message)),Hr(n)}))}},{key:"setMessageRead",value:function(e){var t=this;return new Promise((function(n,r){t.ready((function(){t.readReportHandler.setMessageRead(e).then(n).catch(r)}))}))}},{key:"getMessageList",value:function(e){return this.getMessageHandler.getMessageList(e)}},{key:"createTextMessage",value:function(e){e.currentUser=this.tim.context.identifier;var t=new Dn(e),n="string"==typeof e.payload?e.payload:e.payload.text,r=new qe({text:n});return t.setElement(r),t}},{key:"createCustomMessage",value:function(e){e.currentUser=this.tim.context.identifier;var t=new Dn(e),n=new Mn({data:e.payload.data,description:e.payload.description,extension:e.payload.extension});return t.setElement(n),t}},{key:"createImageMessage",value:function(e){e.currentUser=this.tim.context.identifier;var t=new Dn(e);if(N){var n=e.payload.file;if(Q(n))return void J.warn("微信小程序环境下调用 createImageMessage 接口时,payload.file 不支持传入 File 对象");var r=n.tempFilePaths[0],o={url:r,name:r.slice(r.lastIndexOf("/")+1),size:n.tempFiles[0].size,type:r.slice(r.lastIndexOf(".")+1).toLowerCase()};e.payload.file=o}else if(O&&Q(e.payload.file)){var i=e.payload.file;e.payload.file={files:[i]}}var s=new ot({imageFormat:"UNKNOWN",uuid:this._generateUUID(),file:e.payload.file});return t.setElement(s),this.messageOptionMap.set(t.messageID,e),t}},{key:"createFileMessage",value:function(e){if(!N){if(O&&Q(e.payload.file)){var t=e.payload.file;e.payload.file={files:[t]}}e.currentUser=this.tim.context.identifier;var n=new Dn(e),r=new Cn({uuid:this._generateUUID(),file:e.payload.file});return n.setElement(r),this.messageOptionMap.set(n.messageID,e),n}J.warn("微信小程序目前不支持选择文件, createFileMessage 接口不可用!")}},{key:"createAudioMessage",value:function(e){if(N){var t=e.payload.file;if(N){var n={url:t.tempFilePath,name:t.tempFilePath.slice(t.tempFilePath.lastIndexOf("/")+1),size:t.fileSize,second:parseInt(t.duration)/1e3,type:t.tempFilePath.slice(t.tempFilePath.lastIndexOf(".")+1).toLowerCase()};e.payload.file=n}e.currentUser=this.tim.context.identifier;var r=new Dn(e),o=new st({second:Math.floor(t.duration/1e3),size:t.fileSize,url:t.tempFilePath,uuid:this._generateUUID()});return r.setElement(o),this.messageOptionMap.set(r.messageID,e),r}J.warn("createAudioMessage 目前只支持微信小程序发语音消息")}},{key:"createVideoMessage",value:function(e){e.currentUser=this.tim.context.identifier,e.payload.file.thumbUrl="https://webim-1252463788.cos.ap-shanghai.myqcloud.com/assets/images/transparent.png",e.payload.file.thumbSize=1668;var t={};if(N){if(Q(e.payload.file))return void J.warn("微信小程序环境下调用 createVideoMessage 接口时,payload.file 不支持传入 File 对象");var n=e.payload.file;t.url=n.tempFilePath,t.name=n.tempFilePath.slice(n.tempFilePath.lastIndexOf("/")+1),t.size=n.size,t.second=n.duration,t.type=n.tempFilePath.slice(n.tempFilePath.lastIndexOf(".")+1).toLowerCase()}else if(O){if(Q(e.payload.file)){var r=e.payload.file;e.payload.file.files=[r]}var o=e.payload.file;t.url=window.URL.createObjectURL(o.files[0]),t.name=o.files[0].name,t.size=o.files[0].size,t.second=o.files[0].duration||0,t.type=o.files[0].type.split("/")[1]}e.payload.file.videoFile=t;var i=new Dn(e),s=new En({videoFormat:t.type,videoSecond:Number(t.second.toFixed(0)),videoSize:t.size,remoteVideoUrl:"",videoUrl:t.url,videoUUID:this._generateUUID(),thumbUUID:this._generateUUID(),thumbWidth:e.payload.file.width||200,thumbHeight:e.payload.file.height||200,thumbUrl:e.payload.file.thumbUrl,thumbSize:e.payload.file.thumbSize,thumbFormat:e.payload.file.thumbUrl.slice(e.payload.file.thumbUrl.lastIndexOf(".")+1).toLowerCase()});return i.setElement(s),this.messageOptionMap.set(i.messageID,e),i}},{key:"createFaceMessage",value:function(e){e.currentUser=this.tim.context.identifier;var t=new Dn(e),n=new it(e.payload);return t.setElement(n),t}},{key:"_generateUUID",value:function(){var e=this.tim.context;return"".concat(e.SDKAppID,"-").concat(e.identifier,"-").concat(function(){for(var e="",t=32;t>0;--t)e+=ye[Math.floor(Math.random()*ve)];return e}())}},{key:"_generateTjgID",value:function(e){return this.tim.context.tinyID+"-"+e.random}},{key:"getMessageOptionByID",value:function(e){return this.messageOptionMap.get(e)}},{key:"isMessageSentByCurrentInstance",value:function(e){return!(!this.messagesList.hasLocalMessage(e.conversationID,e.ID)&&!this.singlyLinkedList.has(e.random))}}]),s}(Pr),Wa=function(){function e(t){r(this,e),this.userID="",this.avatar="",this.nick="",this.role="",this.joinTime="",this.lastSendMsgTime="",this.nameCard="",this.muteUntil=0,this.memberCustomField=[],this._initMember(t)}return i(e,[{key:"_initMember",value:function(e){this.updateMember(e)}},{key:"updateMember",value:function(e){var t=[null,void 0,"",0,NaN];e.memberCustomField&&Ee(this.memberCustomField,e.memberCustomField),he(this,e,["memberCustomField"],t)}},{key:"updateRole",value:function(e){["Owner","Admin","Member"].indexOf(e)<0||(this.role=e)}},{key:"updateMuteUntil",value:function(e){oe(e)||(this.muteUntil=Math.floor((Date.now()+1e3*e)/1e3))}},{key:"updateNameCard",value:function(e){oe(e)||(this.nameCard=e)}},{key:"updateMemberCustomField",value:function(e){e&&Ee(this.memberCustomField,e)}}]),e}(),za=function(){function e(t){r(this,e),this.tim=t.tim,this.groupController=t.groupController,this._initListeners()}return i(e,[{key:"_initListeners",value:function(){this.tim.innerEmitter.on($n,this._onReceivedGroupTips,this)}},{key:"_onReceivedGroupTips",value:function(e){var t=this,n=e.data,r=n.result;n.isGroupTip&&r.forEach((function(e){switch(e.payload.operationType){case 1:t._onNewMemberComeIn(e);break;case 2:t._onMemberQuit(e);break;case 3:t._onMemberKickedOut(e);break;case 4:t._onMemberSetAdmin(e);break;case 5:t._onMemberCancelledAdmin(e);break;case 6:t._onGroupProfileModified(e);break;case 7:t._onMemberInfoModified(e);break;default:J.warn("GroupTipsHandler._onReceivedGroupTips Unhandled groupTips. operationType=",e.payload.operationType)}}))}},{key:"_onNewMemberComeIn",value:function(e){var t=e.payload,n=t.memberNum,r=t.groupProfile.groupID,o=this.groupController.getLocalGroupProfile(r);o&&Z(n)&&(o.memberNum=n)}},{key:"_onMemberQuit",value:function(e){var t=e.payload,n=t.memberNum,r=t.groupProfile.groupID,o=this.groupController.getLocalGroupProfile(r);o&&Z(n)&&(o.memberNum=n),this.groupController.deleteLocalGroupMembers(r,e.payload.userIDList)}},{key:"_onMemberKickedOut",value:function(e){var t=e.payload,n=t.memberNum,r=t.groupProfile.groupID,o=this.groupController.getLocalGroupProfile(r);o&&Z(n)&&(o.memberNum=n),this.groupController.deleteLocalGroupMembers(r,e.payload.userIDList)}},{key:"_onMemberSetAdmin",value:function(e){var n=this,r=e.payload.groupProfile.groupID;e.payload.userIDList.forEach((function(e){var o=n.groupController.getLocalGroupMemberInfo(r,e);o&&o.updateRole(t.GRP_MBR_ROLE_ADMIN)}))}},{key:"_onMemberCancelledAdmin",value:function(e){var n=this,r=e.payload.groupProfile.groupID;e.payload.userIDList.forEach((function(e){var o=n.groupController.getLocalGroupMemberInfo(r,e);o&&o.updateRole(t.GRP_MBR_ROLE_MEMBER)}))}},{key:"_onGroupProfileModified",value:function(e){var t=this,n=e.payload.newGroupProfile,r=e.payload.groupProfile.groupID,o=this.groupController.getLocalGroupProfile(r);Object.keys(n).forEach((function(e){switch(e){case"ownerID":t._ownerChaged(o,n);break;default:o[e]=n[e]}})),this.groupController.emitGroupListUpdate(!0,!0)}},{key:"_ownerChaged",value:function(e,n){var r=e.groupID,o=this.groupController.getLocalGroupProfile(r),i=this.tim.context.identifier;if(i===n.ownerID){o.updateGroup({selfInfo:{role:t.GRP_MBR_ROLE_OWNER}});var s=this.groupController.getLocalGroupMemberInfo(r,i),a=this.groupController.getLocalGroupProfile(r).ownerID,u=this.groupController.getLocalGroupMemberInfo(r,a);s&&s.updateRole(t.GRP_MBR_ROLE_OWNER),u&&u.updateRole(t.GRP_MBR_ROLE_MEMBER)}}},{key:"_onMemberInfoModified",value:function(e){var t=this,n=e.payload.groupProfile.groupID;e.payload.memberList.forEach((function(e){var r=t.groupController.getLocalGroupMemberInfo(n,e.userID);r&&e.muteTime&&r.updateMuteUntil(e.muteTime)}))}}]),e}(),Xa=function(){function n(e){r(this,n),this.groupController=e.groupController,this.tim=e.tim,this.pendencyMap=new Map,this._initLiceners()}return i(n,[{key:"_initLiceners",value:function(){this.tim.innerEmitter.on(Wn,this._onReceivedGroupSystemNotice,this),this.tim.innerEmitter.on(Kn,this._clearGroupSystemNotice,this)}},{key:"_clearGroupSystemNotice",value:function(){var e=this;this.getPendencyList().then((function(n){n.forEach((function(t){e.pendencyMap.set("".concat(t.from,"_").concat(t.groupID,"_").concat(t.to),t)}));var r=e.tim.messageController.getLocalMessageList(t.CONV_SYSTEM),o=[];r.forEach((function(t){var n=t.payload,r=n.operatorID,i=n.operationType,s=n.groupProfile;if(i===Fe){var a="".concat(r,"_").concat(s.groupID,"_").concat(s.to),u=e.pendencyMap.get(a);u&&Z(u.handled)&&0!==u.handled&&o.push(t)}})),e.groupController.deleteGroupSystemNotice({messageList:o})}))}},{key:"getPendencyList",value:function(e){var t=this;return this.groupController.request({name:"group",action:"getGroupPendency",param:{startTime:e&&e.startTime?e.startTime:0,limit:e&&e.limit?e.limit:10,handleAccount:this.tim.context.identifier}}).then((function(e){var n=e.data,r=n.pendencyList;return 0!==n.nextStartTime?t.getPendencyList({startTime:n.nextStartTime}).then((function(e){return[].concat(_(r),_(e))})):r}))}},{key:"_onReceivedGroupSystemNotice",value:function(t){var n=this,r=t.data,o=r.result;"sync"!==r.type&&o.forEach((function(t){switch(t.payload.operationType){case 1:n._onApplyGroupRequest(t);break;case 2:n._onApplyGroupRequestAgreed(t);break;case 3:n._onApplyGroupRequestRefused(t);break;case 4:n._onMemberKicked(t);break;case 5:n._onGroupDismissed(t);break;case 6:break;case 7:n._onInviteGroup(t);break;case 8:n._onQuitGroup(t);break;case 9:n._onSetManager(t);break;case 10:n._onDeleteManager(t);break;case 11:case 12:case 15:break;case 255:n.groupController.emitOuterEvent(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:t,type:Xe})}}))}},{key:"_onApplyGroupRequest",value:function(t){this.groupController.emitOuterEvent(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:t,type:Fe})}},{key:"_onApplyGroupRequestAgreed",value:function(t){var n=this,r=t.payload.groupProfile.groupID;this.groupController.hasLocalGroup(r)||this.groupController.getGroupProfile({groupID:r}).then((function(e){var t=e.data.group;t&&(n.groupController.updateGroupMap([t]),n.groupController.emitGroupListUpdate())})),this.groupController.emitOuterEvent(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:t,type:He})}},{key:"_onApplyGroupRequestRefused",value:function(t){this.groupController.emitOuterEvent(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:t,type:Ke})}},{key:"_onMemberKicked",value:function(t){var n=t.payload.groupProfile.groupID;this.groupController.hasLocalGroup(n)&&this.groupController.deleteLocalGroupAndConversation(n),this.groupController.emitOuterEvent(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:t,type:Be})}},{key:"_onGroupDismissed",value:function(t){var n=t.payload.groupProfile.groupID,r=this.groupController.hasLocalGroup(n),o=this.groupController.AVChatRoomHandler;r&&this.groupController.deleteLocalGroupAndConversation(n),o.checkJoinedAVChatRoomByID(n)&&o.reset(n),this.groupController.emitOuterEvent(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:t,type:Ve})}},{key:"_onInviteGroup",value:function(t){var n=this,r=t.payload.groupProfile.groupID;this.groupController.hasLocalGroup(r)||this.groupController.getGroupProfile({groupID:r}).then((function(e){var t=e.data.group;t&&(n.groupController.updateGroupMap([t]),n.groupController.emitGroupListUpdate())})),this.groupController.emitOuterEvent(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:t,type:je})}},{key:"_onQuitGroup",value:function(t){var n=t.payload.groupProfile.groupID;this.groupController.hasLocalGroup(n)&&this.groupController.deleteLocalGroupAndConversation(n),this.groupController.emitOuterEvent(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:t,type:Ye})}},{key:"_onSetManager",value:function(n){var r=n.payload.groupProfile,o=r.to,i=r.groupID,s=this.groupController.getLocalGroupMemberInfo(i,o);s&&s.updateRole(t.GRP_MBR_ROLE_ADMIN),this.groupController.emitOuterEvent(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:n,type:$e})}},{key:"_onDeleteManager",value:function(n){var r=n.payload.groupProfile,o=r.to,i=r.groupID,s=this.groupController.getLocalGroupMemberInfo(i,o);s&&s.updateRole(t.GRP_MBR_ROLE_MEMBER),this.groupController.emitOuterEvent(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:n,type:We})}},{key:"reset",value:function(){this.pendencyMap.clear()}}]),n}(),Ja={3:!0,4:!0,5:!0,6:!0},Qa=function(){function n(e){var t=e.tim,o=e.groupController;r(this,n),this.tim=t,this.groupController=o,this.sequencesLinkedList=new ja(100),this.receivedMessageCount=0,this._pollingRequestInfoMap=new Map,this._pollingInstanceMap=new Map,this._joinedGroupMap=new Map,this._reportMessageStackedCount=0}return i(n,[{key:"hasJoinedAVChatRoom",value:function(){return this._joinedGroupMap.size>0}},{key:"checkJoinedAVChatRoomByID",value:function(e){return this._joinedGroupMap.has(e)}},{key:"getJoinedAVChatRoom",value:function(){return this._joinedGroupMap.size>0?_(this._joinedGroupMap.keys()):null}},{key:"start",value:function(e){var t=this._pollingRequestInfoMap.get(e),n={key:t.key,startSeq:t.startSeq};if(this._pollingInstanceMap.has(e)){var r=this._pollingInstanceMap.get(e);r.isRunning()||r.start()}else{var o=this.groupController.createTransportCapsule({name:"AVChatRoom",action:"startLongPoll",param:n}),i=this.tim.connectionController.createRunLoop({pack:o,before:this._updateRequestData.bind(this,e),success:this._handleSuccess.bind(this,e),fail:this._handleFailure.bind(this),isAVChatRoomLoop:!0});i.start(),this._pollingInstanceMap.set(e,i),J.log("AVChatRoomHandler.start message channel started. groupID=".concat(e))}}},{key:"stop",value:function(e){var t=this._pollingInstanceMap.get(e);t&&t.isRunning()&&(t.abort(),t.stop(),J.log("AVChatRoomHandler.stop message channel stopped. groupID=".concat(e)))}},{key:"startRunLoop",value:function(e){var t=this;return this._precheck().then((function(){var n=e.longPollingKey,r=e.group,o=r.groupID;return t._pollingRequestInfoMap.set(o,{key:n,startSeq:0}),t._joinedGroupMap.set(o,r),t.groupController.updateGroupMap([r]),t.groupController.emitGroupListUpdate(!0,!1),t.start(o),t.groupController.isLoggedIn()?Fr({status:Le.SUCCESS,group:r}):Fr({status:Le.SUCCESS})}))}},{key:"joinWithoutAuth",value:function(e){var t=this;return this.groupController.request({name:"group",action:"applyJoinAVChatRoom",param:e}).then((function(n){var r=n.data.longPollingKey;if(oe(r))return Hr(new ht({code:dt.CANNOT_JOIN_NON_AVCHATROOM_WITHOUT_LOGIN,message:Xt}));J.log("AVChatRoomHandler.joinWithoutAuth ok. groupID:",e.groupID),t.groupController.emitInnerEvent(Dr),t.groupController.emitInnerEvent(Tr,e.groupID);var o=new ba({groupID:e.groupID});return t.startRunLoop({group:o,longPollingKey:r}),new Ur({status:Le.SUCCESS})})).catch((function(t){return J.error("AVChatRoomHandler.joinWithoutAuth error:".concat(de(t),". groupID:").concat(e.groupID)),Hr(t)}))}},{key:"_precheck",value:function(){if(this.tim.context.unlimitedAVChatRoom)return Promise.resolve();if(!this.hasJoinedAVChatRoom())return Promise.resolve();var e=v(this._joinedGroupMap.entries().next().value,2),n=e[0],r=e[1];if(this.groupController.isLoggedIn()){if(!(r.selfInfo.role===t.GRP_MBR_ROLE_OWNER||r.ownerID===this.tim.loginInfo.identifier))return this.groupController.quitGroup(n);this.groupController.deleteLocalGroupAndConversation(n)}else this.groupController.deleteLocalGroupAndConversation(n);return this.reset(n),Promise.resolve()}},{key:"_updateRequestData",value:function(e,t){var n=this._pollingRequestInfoMap.get(e),r=n.key,o=n.startSeq;t.StartSeq=o,t.Key=r,this.tim.sumStatController.addTotalCount(jr)}},{key:"_handleSuccess",value:function(e,t){this.tim.sumStatController.addSuccessCount(jr),this.tim.sumStatController.addCost(jr,t.data.timecost);var n=t.data,r=n.errorCode,o=n.errorInfo,i=n.key,s=n.nextSeq,a=n.rspMsgList;if(r!==Pe.SUCCESS){var u=this._pollingRequestInfoMap.get(e),c=new ro;c.setMethod(zo).setStart(),c.setMessage("".concat(e,"-").concat(u.key,"-").concat(u.startSeq,"-").concat(o||JSON.stringify(t.data))).setCode(r).setNetworkType(this.groupController.getNetworkType()).setEnd(!0)}else ee(i)&&Z(s)&&this._pollingRequestInfoMap.set(e,{key:i,startSeq:s}),re(a)&&a.length>0&&(a.forEach((function(e){e.to=e.groupID})),this._dispatchNotice(a));this.groupController.emitInnerEvent(fr)}},{key:"_handleFailure",value:function(e){if(e.error)if("ECONNABORTED"===e.error.code||e.error.code===dt.NETWORK_TIMEOUT)if(e.error.config){var t=e.error.config.url,n=e.error.config.data;J.log("AVChatRoomHandler._handleFailure request timed out. url=".concat(t," data=").concat(n))}else J.log("AVChatRoomHandler._handleFailure request timed out");else J.log("AVChatRoomHandler._handleFailure request failed due to network error");this.groupController.emitInnerEvent(dr)}},{key:"_dispatchNotice",value:function(n){if(re(n)&&0!==n.length){var r=Date.now(),o=null,i=[],s=[],a=n.length;a>1&&n.sort((function(e,t){return e.sequence-t.sequence}));for(var u=0;u<a;u++)if(Ja[n[u].event]){if(this.receivedMessageCount+=1,o=this.packMessage(n[u],n[u].event),this.tim.context.unlimitedAVChatRoom||!this.sequencesLinkedList.has(o.sequence)){var c=o.conversationID;if(this.receivedMessageCount%40==0&&this.tim.messageLossController.detectMessageLoss(c,this.sequencesLinkedList.data()),null!==this.sequencesLinkedList.tail()){var l=this.sequencesLinkedList.tail().value,p=o.sequence-l;p>1&&p<=20?this.tim.messageLossController.onMessageMaybeLost(c,l+1,p-1):p<-1&&p>=-20&&this.tim.messageLossController.onMessageMaybeLost(c,o.sequence+1,Math.abs(p)-1)}this.sequencesLinkedList.pushIn(o.sequence),this._isMessageSentByCurrentInstance(o)||(o.conversationType===t.CONV_SYSTEM&&s.push(o),i.push(o))}}else J.warn("AVChatRoomHandler._dispatchMessage 未处理的 event 类型:",n[u].event);if(s.length>0&&this.groupController.emitInnerEvent(Wn,{result:s,eventDataList:[],type:"poll"}),0!==i.length){var h=this.packConversationOption(i);h.length>0&&this.groupController.emitInnerEvent($n,{eventDataList:h,type:"poll"}),J.debug("AVChatRoomHandler._dispatchNotice nums=".concat(i.length));var d=this.tim.sumStatController;d.addTotalCount(Zr),d.addSuccessCount(Zr),d.addCost(Zr,Date.now()-r),this._checkMessageStacked(i),this.groupController.emitOuterEvent(e.MESSAGE_RECEIVED,i)}}}},{key:"_checkMessageStacked",value:function(e){var t=e.length;if(t>=100&&(J.warn("AVChatRoomHandler.checkMessageStacked 直播群消息堆积数:".concat(e.length,'!可能会导致微信小程序渲染时遇到 "Dom limit exceeded" 的错误,建议接入侧此时只渲染最近的10条消息')),this._reportMessageStackedCount<5)){var n=new ro;n.setMethod(ei).setStart(),n.setCode(0).setNetworkType(this.groupController.getNetworkType()).setText("nums=".concat(t," groupID=").concat(_(this._joinedGroupMap.keys()))).setEnd(),this._reportMessageStackedCount+=1}}},{key:"_isMessageSentByCurrentInstance",value:function(e){return!!this.tim.messageController.isMessageSentByCurrentInstance(e)}},{key:"packMessage",value:function(e,n){e.currentUser=this.tim.context.identifier,e.conversationType=5===n?t.CONV_SYSTEM:t.CONV_GROUP,e.isSystemMessage=!!e.isSystemMessage;var r=new Dn(e),o=this.packElements(e,n);return r.setElement(o),r}},{key:"packElements",value:function(e,n){return 4===n||6===n?{type:t.MSG_GRP_TIP,content:u(u({},e.elements),{},{groupProfile:e.groupProfile})}:5===n?{type:t.MSG_GRP_SYS_NOTICE,content:u(u({},e.elements),{},{groupProfile:e.groupProfile})}:this.tim.bigDataHallwayController.parseElements(e.elements,e.from)}},{key:"packConversationOption",value:function(e){for(var t=new Map,n=0;n<e.length;n++){var r=e[n],o=r.conversationID;if(t.has(o)){var i=t.get(o);i.lastMessage=r,"in"===r.flow&&i.unreadCount++}else t.set(o,{conversationID:r.conversationID,unreadCount:"out"===r.flow?0:1,type:r.conversationType,subType:r.conversationSubType,lastMessage:r})}return _(t.values())}},{key:"reset",value:function(e){if(0!==this._pollingInstanceMap.size){if(e)J.log("AVChatRoomHandler.reset groupID=".concat(e)),this.stop(e),this._pollingInstanceMap.delete(e),this._joinedGroupMap.delete(e),this._pollingRequestInfoMap.delete(e);else{J.log("AVChatRoomHandler.reset all");var t,n=M(this._pollingInstanceMap.keys());try{for(n.s();!(t=n.n()).done;){var r=t.value;this.stop(r)}}catch(o){n.e(o)}finally{n.f()}this._pollingInstanceMap.clear(),this._joinedGroupMap.clear(),this._pollingRequestInfoMap.clear()}this.sequencesLinkedList.reset(),this.receivedMessageCount=0,this._reportMessageStackedCount=0}}}]),n}(),Za=function(n){c(s,n);var o=y(s);function s(e){var t;return r(this,s),(t=o.call(this,e)).groupMap=new Map,t.groupMemberListMap=new Map,t.groupNoticeHandler=new Xa({tim:e,groupController:g(t)}),t.groupTipsHandler=new za({tim:e,groupController:g(t)}),t.AVChatRoomHandler=new Qa({tim:e,groupController:g(t)}),t._initListeners(),t}return i(s,[{key:"createGroup",value:function(e){var n=this;if(!["Public","Private","ChatRoom","AVChatRoom"].includes(e.type)){var r=new ht({code:dt.ILLEGAL_GROUP_TYPE,message:Bt});return Hr(r)}De(e.type)&&!oe(e.memberList)&&e.memberList.length>0&&(J.warn("GroupController.createGroup 创建AVChatRoom时不能添加群成员,自动忽略该字段"),e.memberList=void 0),Se(e.type)||oe(e.joinOption)||(J.warn("GroupController.createGroup 创建Work/Meeting/AVChatRoom群时不能设置字段:joinOption,自动忽略该字段"),e.joinOption=void 0);var o=new ro;return o.setMethod(ko).setStart(),J.log("GroupController.createGroup."),this.request({name:"group",action:"create",param:e}).then((function(r){if(o.setCode(0).setNetworkType(n.getNetworkType()).setText("groupType=".concat(e.type," groupID=").concat(r.data.groupID)).setEnd(),J.log("GroupController.createGroup ok. groupID:",r.data.groupID),e.type===t.GRP_AVCHATROOM)return n.getGroupProfile({groupID:r.data.groupID});n.updateGroupMap([u(u({},e),{},{groupID:r.data.groupID})]);var i=n.tim.createCustomMessage({to:r.data.groupID,conversationType:t.CONV_GROUP,payload:{data:"group_create",extension:"".concat(n.tim.context.identifier,"创建群组")}});return n.tim.sendMessage(i),n.emitGroupListUpdate(),n.getGroupProfile({groupID:r.data.groupID})})).then((function(e){var n=e.data.group;return n.selfInfo.messageRemindType=t.MSG_REMIND_ACPT_AND_NOTE,n.selfInfo.role=t.GRP_MBR_ROLE_OWNER,e})).catch((function(t){return o.setText("groupType=".concat(e.type)),n.probeNetwork().then((function(e){var n=v(e,2),r=n[0],i=n[1];o.setError(t,r,i).setEnd()})),J.error("GroupController.createGroup error:",t),Hr(t)}))}},{key:"joinGroup",value:function(e){var n=this,r=e.groupID;if(e.type===t.GRP_WORK){var o=new ht({code:dt.CANNOT_JOIN_WORK,message:Vt});return Hr(o)}if(this.hasLocalGroup(r)){if(!this.isLoggedIn())return Fr({status:t.JOIN_STATUS_ALREADY_IN_GROUP});var i=new ro;return i.setMethod(Ao).setStart(),this.getGroupProfile({groupID:r}).then((function(e){return i.setCode(0).setNetworkType(n.getNetworkType()).setText("groupID=".concat(r," joinedStatus=").concat(t.JOIN_STATUS_ALREADY_IN_GROUP)).setEnd(),Fr({status:t.JOIN_STATUS_ALREADY_IN_GROUP})})).catch((function(t){return i.setCode(0).setNetworkType(n.getNetworkType()).setText("groupID=".concat(r," unjoined")).setEnd(),J.warn("GroupController.joinGroup ".concat(r," was unjoined, now join!")),n.groupMap.delete(r),n.applyJoinGroup(e)}))}return J.log("GroupController.joinGroup. groupID:",r),this.isLoggedIn()?this.applyJoinGroup(e):this.AVChatRoomHandler.joinWithoutAuth(e)}},{key:"quitGroup",value:function(e){var t=this;J.log("GroupController.quitGroup. groupID:",e);var n=this.AVChatRoomHandler.checkJoinedAVChatRoomByID(e);if(n&&!this.isLoggedIn())return J.log("GroupController.quitGroup anonymously ok. groupID:",e),this.deleteLocalGroupAndConversation(e),this.AVChatRoomHandler.reset(e),Fr({groupID:e});var r=new ro;return r.setMethod(Ro).setStart(),this.request({name:"group",action:"quitGroup",param:{groupID:e}}).then((function(){return r.setCode(0).setNetworkType(t.getNetworkType()).setText("groupID=".concat(e)).setEnd(),J.log("GroupController.quitGroup ok. groupID:",e),n&&t.AVChatRoomHandler.reset(e),t.deleteLocalGroupAndConversation(e),new Ur({groupID:e})})).catch((function(n){return r.setText("groupID=".concat(e)),t.probeNetwork().then((function(e){var t=v(e,2),o=t[0],i=t[1];r.setError(n,o,i).setEnd()})),J.error("GroupController.quitGroup error. error:".concat(de(n)," groupID:").concat(e)),Hr(n)}))}},{key:"changeGroupOwner",value:function(e){var n=this;if(this.hasLocalGroup(e.groupID)&&this.getLocalGroupProfile(e.groupID).type===t.GRP_AVCHATROOM)return Hr(new ht({code:dt.CANNOT_CHANGE_OWNER_IN_AVCHATROOM,message:jt}));if(e.newOwnerID===this.tim.loginInfo.identifier)return Hr(new ht({code:dt.CANNOT_CHANGE_OWNER_TO_SELF,message:Yt}));var r=new ro;return r.setMethod(No).setStart(),J.log("GroupController.changeGroupOwner. groupID:",e.groupID),this.request({name:"group",action:"changeGroupOwner",param:e}).then((function(){r.setCode(0).setNetworkType(n.getNetworkType()).setText("groupID=".concat(e.groupID)).setEnd(),J.log("GroupController.changeGroupOwner ok. groupID:",e.groupID);var t=e.groupID,o=e.newOwnerID;n.groupMap.get(t).ownerID=o;var i=n.groupMemberListMap.get(t);if(i instanceof Map){var s=i.get(n.tim.loginInfo.identifier);oe(s)||(s.updateRole("Member"),n.groupMap.get(t).selfInfo.role="Member");var a=i.get(o);oe(a)||a.updateRole("Owner")}return n.emitGroupListUpdate(!0,!1),new Ur({group:n.groupMap.get(t)})})).catch((function(t){return r.setText("groupID=".concat(e.groupID)),n.probeNetwork().then((function(e){var n=v(e,2),o=n[0],i=n[1];r.setError(t,o,i).setEnd()})),J.error("GroupController.changeGroupOwner error:".concat(de(t)," groupID:").concat(e.groupID)),Hr(t)}))}},{key:"dismissGroup",value:function(e){var n=this;if(this.hasLocalGroup(e)&&this.getLocalGroupProfile(e).type===t.GRP_WORK)return Hr(new ht({code:dt.CANNOT_DISMISS_WORK,message:$t}));var r=new ro;return r.setMethod(Po).setStart(),J.log("GroupController.dismissGroup. groupID:".concat(e)),this.request({name:"group",action:"destroyGroup",param:{groupID:e}}).then((function(){return r.setCode(0).setNetworkType(n.getNetworkType()).setText("groupID=".concat(e)).setEnd(),J.log("GroupController.dismissGroup ok. groupID:".concat(e)),n.deleteLocalGroupAndConversation(e),n.checkJoinedAVChatRoomByID(e)&&n.AVChatRoomHandler.reset(e),new Ur({groupID:e})})).catch((function(t){return r.setText("groupID=".concat(e)),n.probeNetwork().then((function(e){var n=v(e,2),o=n[0],i=n[1];r.setError(t,o,i).setEnd()})),J.error("GroupController.dismissGroup error:".concat(de(t)," groupID:").concat(e)),Hr(t)}))}},{key:"updateGroupProfile",value:function(e){var t=this;!this.hasLocalGroup(e.groupID)||Se(this.getLocalGroupProfile(e.groupID).type)||oe(e.joinOption)||(J.warn("GroupController.updateGroupProfile Work/Meeting/AVChatRoom群不能设置字段:joinOption,自动忽略该字段"),e.joinOption=void 0),oe(e.muteAllMembers)||(e.muteAllMembers?e.muteAllMembers="On":e.muteAllMembers="Off");var n=new ro;return n.setMethod(Go).setStart(),n.setText(JSON.stringify(e)),J.log("GroupController.updateGroupProfile. groupID:",e.groupID),this.request({name:"group",action:"updateGroupProfile",param:e}).then((function(){(n.setCode(0).setNetworkType(t.getNetworkType()).setEnd(),J.log("GroupController.updateGroupProfile ok. groupID:",e.groupID),t.hasLocalGroup(e.groupID))&&(t.groupMap.get(e.groupID).updateGroup(e),t._setStorageGroupList());return new Ur({group:t.groupMap.get(e.groupID)})})).catch((function(r){return t.probeNetwork().then((function(e){var t=v(e,2),o=t[0],i=t[1];n.setError(r,o,i).setEnd()})),J.log("GroupController.updateGroupProfile failed. error:".concat(de(r)," groupID:").concat(e.groupID)),Hr(r)}))}},{key:"setGroupMemberRole",value:function(e){var n=this,r=e.groupID,o=e.userID,i=e.role,s=this.groupMap.get(r);if(s.selfInfo.role!==t.GRP_MBR_ROLE_OWNER)return Hr(new ht({code:dt.NOT_OWNER,message:Qt}));if([t.GRP_WORK,t.GRP_AVCHATROOM].includes(s.type))return Hr(new ht({code:dt.CANNOT_SET_MEMBER_ROLE_IN_WORK_AND_AVCHATROOM,message:Zt}));if([t.GRP_MBR_ROLE_ADMIN,t.GRP_MBR_ROLE_MEMBER].indexOf(i)<0)return Hr(new ht({code:dt.INVALID_MEMBER_ROLE,message:en}));if(o===this.tim.loginInfo.identifier)return Hr(new ht({code:dt.CANNOT_SET_SELF_MEMBER_ROLE,message:tn}));var a=new ro;return a.setMethod(Yo).setStart(),a.setText("groupID=".concat(r," userID=").concat(o," role=").concat(i)),J.log("GroupController.setGroupMemberRole. groupID:".concat(r,". userID: ").concat(o)),this._modifyGroupMemberInfo({groupID:r,userID:o,role:i}).then((function(e){return a.setCode(0).setNetworkType(n.getNetworkType()).setEnd(),J.log("GroupController.setGroupMemberRole ok. groupID:".concat(r,". userID: ").concat(o)),new Ur({group:s,member:e})})).catch((function(e){return n.probeNetwork().then((function(t){var n=v(t,2),r=n[0],o=n[1];a.setError(e,r,o).setEnd()})),J.error("GroupController.setGroupMemberRole error:".concat(de(e)," groupID:").concat(r," userID:").concat(o)),Hr(e)}))}},{key:"setGroupMemberMuteTime",value:function(e){var t=this,n=e.groupID,r=e.userID,o=e.muteTime;if(r===this.tim.loginInfo.identifier)return Hr(new ht({code:dt.CANNOT_MUTE_SELF,message:nn}));J.log("GroupController.setGroupMemberMuteTime. groupID:".concat(n,". userID: ").concat(r));var i=new ro;return i.setMethod(Vo).setStart(),i.setText("groupID=".concat(n," userID=").concat(r," muteTime=").concat(o)),this._modifyGroupMemberInfo({groupID:n,userID:r,muteTime:o}).then((function(e){return i.setCode(0).setNetworkType(t.getNetworkType()).setEnd(),J.log("GroupController.setGroupMemberMuteTime ok. groupID:".concat(n,". userID: ").concat(r)),new Ur({group:t.getLocalGroupProfile(n),member:e})})).catch((function(e){return t.probeNetwork().then((function(t){var n=v(t,2),r=n[0],o=n[1];i.setError(e,r,o).setEnd()})),J.error("GroupController.setGroupMemberMuteTime error:".concat(de(e)," groupID:").concat(n," userID:").concat(r)),Hr(e)}))}},{key:"setMessageRemindType",value:function(e){var t=this,n=new ro;n.setMethod(Lo).setStart(),n.setText("groupID=".concat(e.groupID," userID=").concat(e.userID||this.tim.loginInfo.identifier)),J.log("GroupController.setMessageRemindType. groupID:".concat(e.groupID,". userID: ").concat(e.userID||this.tim.loginInfo.identifier));var r=e.groupID,o=e.messageRemindType;return this._modifyGroupMemberInfo({groupID:r,messageRemindType:o,userID:this.tim.loginInfo.identifier}).then((function(){n.setCode(0).setNetworkType(t.getNetworkType()).setEnd(),J.log("GroupController.setMessageRemindType ok. groupID:".concat(e.groupID," userID:").concat(e.userID||t.tim.loginInfo.identifier));var r=t.getLocalGroupProfile(e.groupID);return r&&(r.selfInfo.messageRemindType=o),new Ur({group:r})})).catch((function(r){return t.probeNetwork().then((function(e){var t=v(e,2),o=t[0],i=t[1];n.setError(r,o,i).setEnd()})),J.error("GroupController.setMessageRemindType error:".concat(de(r)," groupID:").concat(e.groupID," userID:").concat(e.userID||t.tim.loginInfo.identifier)),Hr(r)}))}},{key:"setGroupMemberNameCard",value:function(e){var t=this,n=e.groupID,r=e.userID,o=void 0===r?this.tim.loginInfo.identifier:r,i=e.nameCard;J.log("GroupController.setGroupMemberNameCard. groupID:".concat(n,". userID: ").concat(o));var s=new ro;return s.setMethod(jo).setStart(),s.setText("groupID=".concat(n," userID=").concat(o," nameCard=").concat(i)),this._modifyGroupMemberInfo({groupID:n,userID:o,nameCard:i}).then((function(e){J.log("GroupController.setGroupMemberNameCard ok. groupID:".concat(n,". userID: ").concat(o)),s.setCode(0).setNetworkType(t.getNetworkType()).setEnd();var r=t.getLocalGroupProfile(n);return o===t.tim.loginInfo.identifier&&r&&r.setSelfNameCard(i),new Ur({group:r,member:e})})).catch((function(e){return t.probeNetwork().then((function(t){var n=v(t,2),r=n[0],o=n[1];s.setError(e,r,o).setEnd()})),J.error("GroupController.setGroupMemberNameCard error:".concat(de(e)," groupID:").concat(n," userID:").concat(o)),Hr(e)}))}},{key:"setGroupMemberCustomField",value:function(e){var t=this,n=e.groupID,r=e.userID,o=void 0===r?this.tim.loginInfo.identifier:r,i=e.memberCustomField;J.log("GroupController.setGroupMemberCustomField. groupID:".concat(n,". userID: ").concat(o));var s=new ro;return s.setMethod($o).setStart(),s.setText("groupID=".concat(n," userID=").concat(o," memberCustomField=").concat(i)),this._modifyGroupMemberInfo({groupID:n,userID:o,memberCustomField:i}).then((function(e){return s.setCode(0).setNetworkType(t.getNetworkType()).setEnd(),J.log("GroupController.setGroupMemberCustomField ok. groupID:".concat(n,". userID: ").concat(o)),new Ur({group:t.groupMap.get(n),member:e})})).catch((function(e){return t.probeNetwork().then((function(t){var n=v(t,2),r=n[0],o=n[1];s.setError(e,r,o).setEnd()})),J.error("GroupController.setGroupMemberCustomField error:".concat(de(e)," groupID:").concat(n," userID:").concat(o)),Hr(e)}))}},{key:"getGroupList",value:function(e){var t=this,n=new ro;n.setMethod(bo).setStart(),J.log("GroupController.getGroupList");var r={introduction:"Introduction",notification:"Notification",createTime:"CreateTime",ownerID:"Owner_Account",lastInfoTime:"LastInfoTime",memberNum:"MemberNum",maxMemberNum:"MaxMemberNum",joinOption:"ApplyJoinOption",muteAllMembers:"ShutUpAllMember"},o=["Type","Name","FaceUrl","NextMsgSeq","LastMsgTime"];return e&&e.groupProfileFilter&&e.groupProfileFilter.forEach((function(e){r[e]&&o.push(r[e])})),this.request({name:"group",action:"list",param:{responseFilter:{groupBaseInfoFilter:o,selfInfoFilter:["Role","JoinTime","MsgFlag"]}}}).then((function(e){var r=e.data.groups;return J.log("GroupController.getGroupList ok. nums=".concat(r.length)),t._groupListTreeShaking(r),t.updateGroupMap(r),n.setCode(0).setNetworkType(t.getNetworkType()).setText("".concat(r.length,"-afterTreeshaking-").concat(t.groupMap.size)).setEnd(),t.tempConversationList&&(J.log("GroupController.getGroupList update last message with tempConversationList, nums=".concat(t.tempConversationList.length)),t._handleUpdateGroupLastMessage({data:t.tempConversationList}),t.tempConversationList=null),t.emitGroupListUpdate(),new Ur({groupList:t.getLocalGroups()})})).catch((function(e){return t.probeNetwork().then((function(t){var r=v(t,2),o=r[0],i=r[1];n.setError(e,o,i).setEnd()})),J.error("GroupController.getGroupList error:",e),Hr(e)}))}},{key:"getGroupMemberList",value:function(e){var t=this,n=e.groupID,r=e.offset,o=void 0===r?0:r,i=e.count,s=void 0===i?15:i,a=new ro;a.setMethod(Fo).setStart(),J.log("GroupController.getGroupMemberList groupID: ".concat(n," offset: ").concat(o," count: ").concat(s));var u=[];return this.request({name:"group",action:"getGroupMemberList",param:{groupID:n,offset:o,limit:s>100?100:s,memberInfoFilter:["Role","NameCard","ShutUpUntil"]}}).then((function(e){var r=e.data,o=r.members,i=r.memberNum;return re(o)&&0!==o.length?(t.hasLocalGroup(n)&&(t.getLocalGroupProfile(n).memberNum=i),u=t._updateLocalGroupMemberMap(n,o),t.tim.getUserProfile({userIDList:o.map((function(e){return e.userID})),tagList:[et.NICK,et.AVATAR]})):Promise.resolve([])})).then((function(e){var r=e.data;if(!re(r)||0===r.length)return Fr({memberList:[]});var i=r.map((function(e){return{userID:e.userID,nick:e.nick,avatar:e.avatar}}));return t._updateLocalGroupMemberMap(n,i),a.setCode(0).setNetworkType(t.getNetworkType()).setText("groupID=".concat(n," offset=").concat(o," count=").concat(s)).setEnd(),J.log("GroupController.getGroupMemberList ok."),new Ur({memberList:u})})).catch((function(e){return t.probeNetwork().then((function(t){var n=v(t,2),r=n[0],o=n[1];a.setError(e,r,o).setEnd()})),J.error("GroupController.getGroupMemberList error:",e),Hr(e)}))}},{key:"getLocalGroups",value:function(){return _(this.groupMap.values())}},{key:"getLocalGroupProfile",value:function(e){return this.groupMap.get(e)}},{key:"hasLocalGroup",value:function(e){return this.groupMap.has(e)}},{key:"getLocalGroupMemberInfo",value:function(e,t){return this.groupMemberListMap.has(e)?this.groupMemberListMap.get(e).get(t):null}},{key:"setLocalGroupMember",value:function(e,t){if(this.groupMemberListMap.has(e))this.groupMemberListMap.get(e).set(t.userID,t);else{var n=(new Map).set(t.userID,t);this.groupMemberListMap.set(e,n)}}},{key:"hasLocalGroupMember",value:function(e,t){return this.groupMemberListMap.has(e)&&this.groupMemberListMap.get(e).has(t)}},{key:"hasLocalGroupMemberMap",value:function(e){return this.groupMemberListMap.has(e)}},{key:"getGroupProfile",value:function(e){var t=this,n=new ro;n.setMethod(Uo).setStart(),J.log("GroupController.getGroupProfile. groupID:",e.groupID);var r=e.groupID,o=e.groupCustomFieldFilter,i={groupIDList:[r],responseFilter:{groupBaseInfoFilter:["Type","Name","Introduction","Notification","FaceUrl","Owner_Account","CreateTime","InfoSeq","LastInfoTime","LastMsgTime","MemberNum","MaxMemberNum","ApplyJoinOption","NextMsgSeq","ShutUpAllMember"],groupCustomFieldFilter:o}};return this.getGroupProfileAdvance(i).then((function(o){var i,s=o.data,a=s.successGroupList,u=s.failureGroupList;return J.log("GroupController.getGroupProfile ok. groupID:".concat(e.groupID)),u.length>0?Hr(u[0]):(De(a[0].type)&&!t.hasLocalGroup(r)?i=new ba(a[0]):(t.updateGroupMap(a),i=t.getLocalGroupProfile(r)),n.setCode(0).setNetworkType(t.getNetworkType()).setText("groupID=".concat(i.groupID," type=").concat(i.type," muteAllMembers=").concat(i.muteAllMembers," ownerID=").concat(i.ownerID)).setEnd(),i&&i.selfInfo&&!i.selfInfo.nameCard?t.updateSelfInfo(i).then((function(e){return new Ur({group:e})})):new Ur({group:i}))})).catch((function(r){return t.probeNetwork().then((function(t){var o=v(t,2),i=o[0],s=o[1];n.setError(r,i,s).setText("groupID=".concat(e.groupID)).setEnd()})),J.error("GroupController.getGroupProfile error:".concat(de(r)," groupID:").concat(e.groupID)),Hr(r)}))}},{key:"getGroupMemberProfile",value:function(e){var t=this,n=new ro;n.setMethod(Ho).setText(e.userIDList.length>5?"userIDList.length=".concat(e.userIDList.length):"userIDList=".concat(e.userIDList)).setStart(),J.log("GroupController.getGroupMemberProfile groupID:".concat(e.groupID," userIDList:").concat(e.userIDList.join(","))),e.userIDList.length>50&&(e.userIDList=e.userIDList.slice(0,50));var r=e.groupID,o=e.userIDList;return this._getGroupMemberProfileAdvance(u(u({},e),{},{userIDList:o})).then((function(e){var n=e.data.members;return re(n)&&0!==n.length?(t._updateLocalGroupMemberMap(r,n),t.tim.getUserProfile({userIDList:n.map((function(e){return e.userID})),tagList:[et.NICK,et.AVATAR]})):Fr([])})).then((function(e){var i=e.data.map((function(e){return{userID:e.userID,nick:e.nick,avatar:e.avatar}}));t._updateLocalGroupMemberMap(r,i);var s=o.filter((function(e){return t.hasLocalGroupMember(r,e)})).map((function(e){return t.getLocalGroupMemberInfo(r,e)}));return n.setCode(0).setNetworkType(t.getNetworkType()).setEnd(),new Ur({memberList:s})}))}},{key:"_getGroupMemberProfileAdvance",value:function(e){return this.request({name:"group",action:"getGroupMemberProfile",param:u(u({},e),{},{memberInfoFilter:e.memberInfoFilter?e.memberInfoFilter:["Role","JoinTime","NameCard","ShutUpUntil"]})})}},{key:"updateSelfInfo",value:function(e){var t=e.groupID;J.log("GroupController.updateSelfInfo groupID:",t);var n={groupID:t,userIDList:[this.tim.loginInfo.identifier]};return this.getGroupMemberProfile(n).then((function(n){var r=n.data.memberList;return J.log("GroupController.updateSelfInfo ok. groupID:",t),e&&0!==r.length&&e.updateSelfInfo(r[0]),e}))}},{key:"addGroupMember",value:function(e){var t=this,n=new ro;n.setMethod(Ko).setText("groupID=".concat(e.groupID)).setStart();var r=this.getLocalGroupProfile(e.groupID);if(De(r.type)){var o=new ht({code:dt.CANNOT_ADD_MEMBER_IN_AVCHATROOM,message:zt});return n.setCode(dt.CANNOT_ADD_MEMBER_IN_AVCHATROOM).setMessage(zt).setNetworkType(this.getNetworkType()).setText("groupID=".concat(e.groupID," groupType=").concat(r.type)).setEnd(),Hr(o)}return e.userIDList=e.userIDList.map((function(e){return{userID:e}})),J.log("GroupController.addGroupMember. groupID:",e.groupID),this.request({name:"group",action:"addGroupMember",param:e}).then((function(o){var i=o.data.members;n.setCode(0).setNetworkType(t.getNetworkType()).setText("groupID=".concat(e.groupID)).setEnd(),J.log("GroupController.addGroupMember ok. groupID:",e.groupID);var s=i.filter((function(e){return 1===e.result})).map((function(e){return e.userID})),a=i.filter((function(e){return 0===e.result})).map((function(e){return e.userID})),u=i.filter((function(e){return 2===e.result})).map((function(e){return e.userID}));return 0===s.length?new Ur({successUserIDList:s,failureUserIDList:a,existedUserIDList:u}):(r.memberNum+=s.length,new Ur({successUserIDList:s,failureUserIDList:a,existedUserIDList:u,group:r}))})).catch((function(r){return t.probeNetwork().then((function(t){var o=v(t,2),i=o[0],s=o[1];n.setError(r,i,s).setText("groupID=".concat(e.groupID)).setEnd()})),J.error("GroupController.addGroupMember error:".concat(de(r)," groupID:").concat(e.groupID)),Hr(r)}))}},{key:"deleteGroupMember",value:function(e){var n=this,r=new ro;r.setMethod(Bo).setText(e.userIDList.length>5?"userIDList.length=".concat(e.userIDList.length):"userIDList=".concat(e.userIDList)).setStart(),J.log("GroupController.deleteGroupMember groupID:".concat(e.groupID," userIDList:").concat(e.userIDList));var o=this.getLocalGroupProfile(e.groupID);return o.type===t.GRP_AVCHATROOM?Hr(new ht({code:dt.CANNOT_KICK_MEMBER_IN_AVCHATROOM,message:Jt})):this.request({name:"group",action:"deleteGroupMember",param:e}).then((function(){return r.setCode(0).setNetworkType(n.getNetworkType()).setEnd(),J.log("GroupController.deleteGroupMember ok"),o.memberNum--,n.deleteLocalGroupMembers(e.groupID,e.userIDList),new Ur({group:o,userIDList:e.userIDList})})).catch((function(t){return n.probeNetwork().then((function(n){var o=v(n,2),i=o[0],s=o[1];r.setError(t,i,s).setText("groupID=".concat(e.groupID)).setEnd()})),J.error("GroupController.deleteGroupMember error:".concat(de(t)," groupID:").concat(e.groupID)),Hr(t)}))}},{key:"searchGroupByID",value:function(e){var t=this,n={groupIDList:[e]},r=new ro;return r.setMethod(Oo).setText("groupID=".concat(e)).setStart(),J.log("GroupController.searchGroupByID. groupID:".concat(e)),this.request({name:"group",action:"searchGroupByID",param:n}).then((function(n){var o=n.data.groupProfile;if(o[0].errorCode!==Pe.SUCCESS)throw new ht({code:o[0].errorCode,message:o[0].errorInfo});return r.setCode(0).setNetworkType(t.getNetworkType()).setEnd(),J.log("GroupController.searchGroupByID ok. groupID:".concat(e)),new Ur({group:new ba(o[0])})})).catch((function(n){return t.probeNetwork().then((function(e){var t=v(e,2),o=t[0],i=t[1];r.setError(n,o,i).setEnd()})),J.warn("GroupController.searchGroupByID error:".concat(de(n)," groupID:").concat(e)),Hr(n)}))}},{key:"applyJoinGroup",value:function(e){var t=this,n=new ro;return n.setMethod(Ao).setStart(),this.request({name:"group",action:"applyJoinGroup",param:e}).then((function(r){var o=r.data,i=o.joinedStatus,s=o.longPollingKey;switch(n.setCode(0).setNetworkType(t.getNetworkType()).setText("groupID=".concat(e.groupID," joinedStatus=").concat(i)).setEnd(),J.log("GroupController.joinGroup ok. groupID:".concat(e.groupID," joinedStatus:").concat(i," longPollingKey:").concat(s)),i){case Le.WAIT_APPROVAL:return new Ur({status:Le.WAIT_APPROVAL});case Le.SUCCESS:return t.getGroupProfile({groupID:e.groupID}).then((function(n){var r=n.data.group,o={status:Le.SUCCESS,group:r};return oe(s)?(t.emitGroupListUpdate(!0,!1),new Ur(o)):(t.emitInnerEvent(Tr,e.groupID),t.AVChatRoomHandler.startRunLoop({longPollingKey:s,group:r}))}));default:var a=new ht({code:dt.JOIN_GROUP_FAIL,message:Wt});return J.error("GroupController.joinGroup error:".concat(de(a)," groupID:").concat(e.groupID)),Hr(a)}})).catch((function(r){return n.setText("groupID=".concat(e.groupID)),t.probeNetwork().then((function(e){var t=v(e,2),o=t[0],i=t[1];n.setError(r,o,i).setEnd()})),J.error("GroupController.joinGroup error:".concat(de(r)," groupID:").concat(e.groupID)),Hr(r)}))}},{key:"applyJoinAVChatRoom",value:function(e){return this.AVChatRoomHandler.applyJoinAVChatRoom(e)}},{key:"handleGroupApplication",value:function(e){var t=this,n=e.message.payload,r=n.groupProfile.groupID,o=n.authentication,i=n.messageKey,s=n.operatorID,a=new ro;return a.setMethod(wo).setText("groupID=".concat(r)).setStart(),J.log("GroupController.handleApplication. groupID:",r),this.request({name:"group",action:"handleApplyJoinGroup",param:u(u({},e),{},{applicant:s,groupID:r,authentication:o,messageKey:i})}).then((function(){return a.setCode(0).setNetworkType(t.getNetworkType()).setEnd(),J.log("GroupController.handleApplication ok. groupID:",r),t.deleteGroupSystemNotice({messageList:[e.message]}),new Ur({group:t.getLocalGroupProfile(r)})})).catch((function(e){return t.probeNetwork().then((function(t){var n=v(t,2),r=n[0],o=n[1];a.setError(e,r,o).setEnd()})),J.error("GroupController.handleApplication error. error:".concat(de(e)," groupID:").concat(r)),Hr(e)}))}},{key:"deleteGroupSystemNotice",value:function(e){var n=this;return re(e.messageList)&&0!==e.messageList.length?(J.log("GroupController.deleteGroupSystemNotice "+e.messageList.map((function(e){return e.ID}))),this.request({name:"group",action:"deleteGroupSystemNotice",param:{messageListToDelete:e.messageList.map((function(e){return{from:t.CONV_SYSTEM,messageSeq:e.clientSequence,messageRandom:e.random}}))}}).then((function(){return J.log("GroupController.deleteGroupSystemNotice ok"),e.messageList.forEach((function(e){n.tim.messageController.deleteLocalMessage(e)})),new Ur})).catch((function(e){return J.error("GroupController.deleteGroupSystemNotice error:",e),Hr(e)}))):Fr()}},{key:"getGroupProfileAdvance",value:function(e){return re(e.groupIDList)&&e.groupIDList.length>50&&(J.warn("GroupController.getGroupProfileAdvance 获取群资料的数量不能超过50个"),e.groupIDList.length=50),J.log("GroupController.getGroupProfileAdvance. groupIDList:",e.groupIDList),this.request({name:"group",action:"query",param:e}).then((function(e){J.log("GroupController.getGroupProfileAdvance ok.");var t=e.data.groups,n=t.filter((function(e){return oe(e.errorCode)||e.errorCode===Pe.SUCCESS})),r=t.filter((function(e){return e.errorCode&&e.errorCode!==Pe.SUCCESS})).map((function(e){return new ht({code:e.errorCode,message:e.errorInfo,data:{groupID:e.groupID}})}));return new Ur({successGroupList:n,failureGroupList:r})})).catch((function(t){return J.error("GroupController.getGroupProfileAdvance error:".concat(de(t)," groupIDList:").concat(e.groupIDList)),Hr(t)}))}},{key:"_deleteLocalGroup",value:function(e){return this.groupMap.delete(e),this.groupMemberListMap.delete(e),this._setStorageGroupList(),this.groupMap.has(e)&&this.groupMemberListMap.has(e)}},{key:"_initGroupList",value:function(){var e=this,t=new ro;t.setMethod(qo).setStart(),J.time(to),J.log("GroupController._initGroupList");var n=this._getStorageGroupList();re(n)&&n.length>0?(n.forEach((function(t){e.groupMap.set(t.groupID,new ba(t))})),this.emitGroupListUpdate(!0,!1),t.setCode(0).setNetworkType(this.getNetworkType()).setText(this.groupMap.size).setEnd()):t.setCode(0).setNetworkType(this.getNetworkType()).setText(0).setEnd(),this.triggerReady(),J.log("GroupController._initGroupList ok. initCost=".concat(J.timeEnd(to),"ms")),this.getGroupList()}},{key:"_initListeners",value:function(){var e=this.tim.innerEmitter;e.once(xn,this._initGroupList,this),e.on(Cr,this._handleUpdateGroupLastMessage,this),e.on($n,this._handleReceivedGroupMessage,this),e.on(Sr,this._handleProfileUpdated,this)}},{key:"emitGroupListUpdate",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=this.getLocalGroups();n&&this.emitInnerEvent(gr,r),t&&this.emitOuterEvent(e.GROUP_LIST_UPDATED,r)}},{key:"_handleReceivedGroupMessage",value:function(e){var n=this,r=e.data.eventDataList;Array.isArray(r)&&r.forEach((function(e){var r=e.conversationID.replace(t.CONV_GROUP,"");n.groupMap.has(r)&&(n.groupMap.get(r).nextMessageSeq=e.lastMessage.sequence+1)}))}},{key:"_onReceivedGroupSystemNotice",value:function(e){var t=e.data;this.groupNoticeHandler._onReceivedGroupNotice(t)}},{key:"_handleUpdateGroupLastMessage",value:function(e){var n=e.data;if(J.log("GroupController._handleUpdateGroupLastMessage convNums=".concat(n.length," groupNums=").concat(this.groupMap.size)),0!==this.groupMap.size){for(var r,o,i,s=!1,a=0,u=n.length;a<u;a++)(r=n[a]).conversationID&&r.type!==t.CONV_GROUP&&(o=r.conversationID.split(/^GROUP/)[1],(i=this.getLocalGroupProfile(o))&&(i.lastMessage=r.lastMessage,s=!0));s&&(this.groupMap=this._sortLocalGroupList(this.groupMap),this.emitGroupListUpdate(!0,!1))}else this.tempConversationList=n}},{key:"_sortLocalGroupList",value:function(e){var t=_(e).filter((function(e){var t=v(e,2);t[0];return!Oe(t[1].lastMessage)}));return t.sort((function(e,t){return t[1].lastMessage.lastTime-e[1].lastMessage.lastTime})),new Map([].concat(_(t),_(e)))}},{key:"_getStorageGroupList",value:function(){return this.tim.storage.getItem("groupMap")}},{key:"_setStorageGroupList",value:function(){var e=this.getLocalGroups().filter((function(e){var t=e.type;return!De(t)})).slice(0,20).map((function(e){return{groupID:e.groupID,name:e.name,avatar:e.avatar,type:e.type}}));this.tim.storage.setItem("groupMap",e)}},{key:"updateGroupMap",value:function(e){var t=this;e.forEach((function(e){t.groupMap.has(e.groupID)?t.groupMap.get(e.groupID).updateGroup(e):t.groupMap.set(e.groupID,new ba(e))})),this._setStorageGroupList()}},{key:"_updateLocalGroupMemberMap",value:function(e,t){var n=this;return re(t)&&0!==t.length?t.map((function(t){return n.hasLocalGroupMember(e,t.userID)?n.getLocalGroupMemberInfo(e,t.userID).updateMember(t):n.setLocalGroupMember(e,new Wa(t)),n.getLocalGroupMemberInfo(e,t.userID)})):[]}},{key:"deleteLocalGroupMembers",value:function(e,t){var n=this.groupMemberListMap.get(e);n&&t.forEach((function(e){n.delete(e)}))}},{key:"_modifyGroupMemberInfo",value:function(e){var t=this,n=e.groupID,r=e.userID;return this.request({name:"group",action:"modifyGroupMemberInfo",param:e}).then((function(){if(t.hasLocalGroupMember(n,r)){var o=t.getLocalGroupMemberInfo(n,r);return oe(e.muteTime)||o.updateMuteUntil(e.muteTime),oe(e.role)||o.updateRole(e.role),oe(e.nameCard)||o.updateNameCard(e.nameCard),oe(e.memberCustomField)||o.updateMemberCustomField(e.memberCustomField),o}return t.getGroupMemberProfile({groupID:n,userIDList:[r]}).then((function(e){return v(e.data.memberList,1)[0]}))}))}},{key:"_groupListTreeShaking",value:function(e){for(var t=new Map(_(this.groupMap)),n=0,r=e.length;n<r;n++)t.delete(e[n].groupID);this.AVChatRoomHandler.hasJoinedAVChatRoom()&&this.AVChatRoomHandler.getJoinedAVChatRoom().forEach((function(e){t.delete(e)}));for(var o=_(t.keys()),i=0,s=o.length;i<s;i++)this.groupMap.delete(o[i])}},{key:"_handleProfileUpdated",value:function(e){for(var t=this,n=e.data,r=function(e){var r=n[e];t.groupMemberListMap.forEach((function(e){e.has(r.userID)&&e.get(r.userID).updateMember({nick:r.nick,avatar:r.avatar})}))},o=0;o<n.length;o++)r(o)}},{key:"getJoinedAVChatRoom",value:function(){return this.AVChatRoomHandler.getJoinedAVChatRoom()}},{key:"deleteLocalGroupAndConversation",value:function(e){this._deleteLocalGroup(e),this.tim.conversationController.deleteLocalConversation("GROUP".concat(e)),this.emitGroupListUpdate(!0,!1)}},{key:"checkJoinedAVChatRoomByID",value:function(e){return this.AVChatRoomHandler.checkJoinedAVChatRoomByID(e)}},{key:"getGroupLastSequence",value:function(e){var t=this,n=new ro;n.setMethod(xo).setStart();var r=0;if(this.hasLocalGroup(e)){var o=this.getLocalGroupProfile(e);if(o.lastMessage.lastSequence>0)return r=o.lastMessage.lastSequence,J.log("GroupController.getGroupLastSequence got lastSequence=".concat(r," from local group profile[lastMessage.lastSequence]. groupID=").concat(e)),n.setCode(0).setNetworkType(this.getNetworkType()).setText("got lastSequence=".concat(r," from local group profile[lastMessage.lastSequence]. groupID=").concat(e)).setEnd(),Promise.resolve(r);if(o.nextMessageSeq>1)return r=o.nextMessageSeq-1,J.log("GroupController.getGroupLastSequence got lastSequence=".concat(r," from local group profile[nextMessageSeq]. groupID=").concat(e)),n.setCode(0).setNetworkType(this.getNetworkType()).setText("got lastSequence=".concat(r," from local group profile[nextMessageSeq]. groupID=").concat(e)).setEnd(),Promise.resolve(r)}var i="GROUP".concat(e),s=this.tim.conversationController.getLocalConversation(i);if(s&&s.lastMessage.lastSequence)return r=s.lastMessage.lastSequence,J.log("GroupController.getGroupLastSequence got lastSequence=".concat(r," from local conversation profile[lastMessage.lastSequence]. groupID=").concat(e)),n.setCode(0).setNetworkType(this.getNetworkType()).setText("got lastSequence=".concat(r," from local conversation profile[lastMessage.lastSequence]. groupID=").concat(e)).setEnd(),Promise.resolve(r);var a={groupIDList:[e],responseFilter:{groupBaseInfoFilter:["NextMsgSeq"]}};return this.getGroupProfileAdvance(a).then((function(o){var i=o.data.successGroupList;return Oe(i)?J.log("GroupController.getGroupLastSequence successGroupList is empty. groupID=".concat(e)):(r=i[0].nextMessageSeq-1,J.log("GroupController.getGroupLastSequence got lastSequence=".concat(r," from getGroupProfileAdvance. groupID=").concat(e))),n.setCode(0).setNetworkType(t.getNetworkType()).setText("got lastSequence=".concat(r," from getGroupProfileAdvance. groupID=").concat(e)).setEnd(),r})).catch((function(r){return t.probeNetwork().then((function(t){var o=v(t,2),i=o[0],s=o[1];n.setError(r,i,s).setText("get lastSequence failed from getGroupProfileAdvance. groupID=".concat(e)).setEnd()})),J.warn("GroupController.getGroupLastSequence failed. ".concat(r)),Hr(r)}))}},{key:"reset",value:function(){this.groupMap.clear(),this.groupMemberListMap.clear(),this.resetReady(),this.groupNoticeHandler.reset(),this.AVChatRoomHandler.reset(),this.tim.innerEmitter.once(xn,this._initGroupList,this)}}]),s}(Pr),eu=function(n){c(s,n);var o=y(s);function s(e){var n;r(this,s),(n=o.call(this,e)).REALTIME_MESSAGE_TIMEOUT=11e4,n.LONGPOLLING_ID_TIMEOUT=3e5,n._currentState=t.NET_STATE_CONNECTED,n._status={OPENIM:{lastResponseReceivedTime:0,jitterCount:0,failedCount:0},AVCHATROOM:{lastResponseReceivedTime:0,jitterCount:0,failedCount:0}};var i=n.tim.innerEmitter;return i.on(Xn,n._onGetLongPollIDFailed,g(n)),i.on(Qn,n._onOpenIMResponseOK,g(n)),i.on(Jn,n._onOpenIMRequestFailed,g(n)),i.on(fr,n._onAVChatroomResponseOK,g(n)),i.on(dr,n._onAVChatroomRequestFailed,g(n)),n}return i(s,[{key:"_onGetLongPollIDFailed",value:function(){this._currentState!==t.NET_STATE_DISCONNECTED&&this._emitNetStateChangeEvent(t.NET_STATE_DISCONNECTED)}},{key:"_onOpenIMResponseOK",value:function(){this._onResponseOK("OPENIM")}},{key:"_onOpenIMRequestFailed",value:function(){this._onRequestFailed("OPENIM")}},{key:"_onAVChatroomResponseOK",value:function(){this.isLoggedIn()||this._onResponseOK("AVCHATROOM")}},{key:"_onAVChatroomRequestFailed",value:function(){this.isLoggedIn()||this._onRequestFailed("AVCHATROOM")}},{key:"_onResponseOK",value:function(e){var n=this._status[e],r=Date.now();if(0!==n.lastResponseReceivedTime){var o=r-n.lastResponseReceivedTime;if(J.debug("StatusController._onResponseOK key=".concat(e," currentState=").concat(this._currentState," interval=").concat(o," failedCount=").concat(n.failedCount," jitterCount=").concat(n.jitterCount)),n.failedCount>0&&(n.failedCount=0,n.jitterCount+=1,this._currentState!==t.NET_STATE_CONNECTED&&this._emitNetStateChangeEvent(t.NET_STATE_CONNECTED)),o<=this.REALTIME_MESSAGE_TIMEOUT){if(n.jitterCount>=3){var i=new ro;i.setMethod(Xo).setStart(),i.setCode(0).setText("".concat(e,"-").concat(o,"-").concat(n.jitterCount)).setNetworkType(this.getNetworkType()).setEnd(),n.jitterCount=0}}else if(o>=this.REALTIME_MESSAGE_TIMEOUT&&o<this.LONGPOLLING_ID_TIMEOUT){var s=new ro;s.setMethod(Jo).setStart(),s.setCode(0).setText("".concat(e,"-").concat(o)).setNetworkType(this.getNetworkType()).setEnd(),J.warn("StatusController._onResponseOK, fast start. key=".concat(e," interval=").concat(o," ms")),this.emitInnerEvent(Zn)}else if(o>=this.LONGPOLLING_ID_TIMEOUT){var a=new ro;a.setMethod(Qo).setStart(),a.setCode(0).setText("".concat(e,"-").concat(o)).setNetworkType(this.getNetworkType()).setEnd(),J.warn("StatusController._onResponseOK, slow start. key=".concat(e," interval=").concat(o," ms")),this.emitInnerEvent(er)}n.lastResponseReceivedTime=r}else n.lastResponseReceivedTime=r}},{key:"_onRequestFailed",value:function(e){var n=this,r=this._status[e];Date.now()-r.lastResponseReceivedTime>=this.LONGPOLLING_ID_TIMEOUT?this._currentState!==t.NET_STATE_DISCONNECTED&&(J.warn("StatusController._onRequestFailed, disconnected, longpolling unavailable more than 5min. key=".concat(e," networkType=").concat(this.getNetworkType())),this._emitNetStateChangeEvent(t.NET_STATE_DISCONNECTED)):(r.failedCount+=1,r.failedCount>5?this.probeNetwork().then((function(o){var i=v(o,2),s=i[0],a=i[1];s?(n._currentState!==t.NET_STATE_CONNECTING&&n._emitNetStateChangeEvent(t.NET_STATE_CONNECTING),J.warn("StatusController._onRequestFailed, connecting, network jitter. key=".concat(e," networkType=").concat(a))):(n._currentState!==t.NET_STATE_DISCONNECTED&&n._emitNetStateChangeEvent(t.NET_STATE_DISCONNECTED),J.warn("StatusController._onRequestFailed, disconnected, longpolling unavailable. key=".concat(e," networkType=").concat(a))),r.failedCount=0,r.jitterCount=0})):this._currentState===t.NET_STATE_CONNECTED&&this._emitNetStateChangeEvent(t.NET_STATE_CONNECTING))}},{key:"_emitNetStateChangeEvent",value:function(t){J.log("StatusController._emitNetStateChangeEvent net state changed from ".concat(this._currentState," to ").concat(t)),this._currentState=t,this.emitOuterEvent(e.NET_STATE_CHANGE,{state:t})}},{key:"reset",value:function(){J.log("StatusController.reset"),this._currentState=t.NET_STATE_CONNECTED,this._status={OPENIM:{lastResponseReceivedTime:0,jitterCount:0,failedCount:0},AVCHATROOM:{lastResponseReceivedTime:0,jitterCount:0,failedCount:0}}}}]),s}(Pr);function tu(){return null}var nu=function(){function e(t){r(this,e),this.tim=t,this.isWX=N,this.storageQueue=new Map,this.checkTimes=0,this.checkTimer=setInterval(this._onCheckTimer.bind(this),1e3),this._errorTolerantHandle()}return i(e,[{key:"_errorTolerantHandle",value:function(){!this.isWX&&oe(window.localStorage)&&(this.getItem=tu,this.setItem=tu,this.removeItem=tu,this.clear=tu)}},{key:"_onCheckTimer",value:function(){if(this.checkTimes++,this.checkTimes%20==0){if(0===this.storageQueue.size)return;this._doFlush()}}},{key:"_doFlush",value:function(){try{var e,t=M(this.storageQueue);try{for(t.s();!(e=t.n()).done;){var n=v(e.value,2),r=n[0],o=n[1];this.isWX?wx.setStorageSync(this._getKey(r),o):localStorage.setItem(this._getKey(r),JSON.stringify(o))}}catch(i){t.e(i)}finally{t.f()}this.storageQueue.clear()}catch(s){J.warn("Storage._doFlush error",s)}}},{key:"_getPrefix",value:function(){var e=this.tim.loginInfo,t=e.SDKAppID,n=e.identifier;return"TIM_".concat(t,"_").concat(n,"_")}},{key:"getItem",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];try{var n=t?this._getKey(e):e;return this.isWX?wx.getStorageSync(n):JSON.parse(localStorage.getItem(n))}catch(r){J.warn("Storage.getItem error:",r)}}},{key:"setItem",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(n){var o=r?this._getKey(e):e;this.isWX?wx.setStorageSync(o,t):localStorage.setItem(o,JSON.stringify(t))}else this.storageQueue.set(e,t)}},{key:"clear",value:function(){try{this.isWX?wx.clearStorageSync():localStorage.clear()}catch(e){J.warn("Storage.clear error:",e)}}},{key:"removeItem",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];try{var n=t?this._getKey(e):e;this.isWX?wx.removeStorageSync(n):localStorage.removeItem(n)}catch(r){J.warn("Storage.removeItem error:",r)}}},{key:"getSize",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"b";try{var r={size:0,limitSize:5242880,unit:n};if(Object.defineProperty(r,"leftSize",{enumerable:!0,get:function(){return r.limitSize-r.size}}),this.isWX&&(r.limitSize=1024*wx.getStorageInfoSync().limitSize),e)r.size=JSON.stringify(this.getItem(e)).length+this._getKey(e).length;else if(this.isWX){var o=wx.getStorageInfoSync(),i=o.keys;i.forEach((function(e){r.size+=JSON.stringify(wx.getStorageSync(e)).length+t._getKey(e).length}))}else for(var s in localStorage)localStorage.hasOwnProperty(s)&&(r.size+=localStorage.getItem(s).length+s.length);return this._convertUnit(r)}catch(a){J.warn("Storage.getSize error:",a)}}},{key:"_convertUnit",value:function(e){var t={},n=e.unit;for(var r in t.unit=n,e)"number"==typeof e[r]&&("kb"===n.toLowerCase()?t[r]=Math.round(e[r]/1024):"mb"===n.toLowerCase()?t[r]=Math.round(e[r]/1024/1024):t[r]=e[r]);return t}},{key:"_getKey",value:function(e){return"".concat(this._getPrefix()).concat(e)}},{key:"reset",value:function(){this._doFlush(),this.checkTimes=0}}]),e}(),ru=T((function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}function o(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function i(e,t,r,i,s){if("function"!=typeof r)throw new TypeError("The listener must be a function");var a=new o(r,i||e,s),u=n?n+t:t;return e._events[u]?e._events[u].fn?e._events[u]=[e._events[u],a]:e._events[u].push(a):(e._events[u]=a,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function a(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),a.prototype.eventNames=function(){var e,r,o=[];if(0===this._eventsCount)return o;for(r in e=this._events)t.call(e,r)&&o.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},a.prototype.listeners=function(e){var t=n?n+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,i=r.length,s=new Array(i);o<i;o++)s[o]=r[o].fn;return s},a.prototype.listenerCount=function(e){var t=n?n+e:e,r=this._events[t];return r?r.fn?1:r.length:0},a.prototype.emit=function(e,t,r,o,i,s){var a=n?n+e:e;if(!this._events[a])return!1;var u,c,l=this._events[a],p=arguments.length;if(l.fn){switch(l.once&&this.removeListener(e,l.fn,void 0,!0),p){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,r),!0;case 4:return l.fn.call(l.context,t,r,o),!0;case 5:return l.fn.call(l.context,t,r,o,i),!0;case 6:return l.fn.call(l.context,t,r,o,i,s),!0}for(c=1,u=new Array(p-1);c<p;c++)u[c-1]=arguments[c];l.fn.apply(l.context,u)}else{var h,d=l.length;for(c=0;c<d;c++)switch(l[c].once&&this.removeListener(e,l[c].fn,void 0,!0),p){case 1:l[c].fn.call(l[c].context);break;case 2:l[c].fn.call(l[c].context,t);break;case 3:l[c].fn.call(l[c].context,t,r);break;case 4:l[c].fn.call(l[c].context,t,r,o);break;default:if(!u)for(h=1,u=new Array(p-1);h<p;h++)u[h-1]=arguments[h];l[c].fn.apply(l[c].context,u)}}return!0},a.prototype.on=function(e,t,n){return i(this,e,t,n,!1)},a.prototype.once=function(e,t,n){return i(this,e,t,n,!0)},a.prototype.removeListener=function(e,t,r,o){var i=n?n+e:e;if(!this._events[i])return this;if(!t)return s(this,i),this;var a=this._events[i];if(a.fn)a.fn!==t||o&&!a.once||r&&a.context!==r||s(this,i);else{for(var u=0,c=[],l=a.length;u<l;u++)(a[u].fn!==t||o&&!a[u].once||r&&a[u].context!==r)&&c.push(a[u]);c.length?this._events[i]=1===c.length?c[0]:c:s(this,i)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=n?n+e:e,this._events[t]&&s(this,t)):(this._events=new r,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=n,a.EventEmitter=a,e.exports=a})),ou=function(e){var t,n,r,o,i;return Oe(e.context)?(t="",n=0,r=0,o=0,i=1):(t=e.context.a2Key,n=e.context.tinyID,r=e.context.SDKAppID,o=e.context.contentType,i=e.context.apn),{platform:wn,websdkappid:Nn,v:On,a2:t,tinyid:n,sdkappid:r,contentType:o,apn:i,reqtime:function(){return+new Date}}},iu=function(){function e(t){r(this,e),this.tim=t,this.tim.innerEmitter.on(Un,this._update,this),this.tim.innerEmitter.on(qn,this._update,this),this.tim.innerEmitter.on(Fn,this._updateSpecifiedConfig,this),this._initConfig()}return i(e,[{key:"_update",value:function(e){this._initConfig()}},{key:"_updateSpecifiedConfig",value:function(e){var t=this;e.data.forEach((function(e){t._set(e)}))}},{key:"get",value:function(e){var t=e.name,r=e.action,o=e.param,i=e.tjgID;if(oe(this.config[t])||oe(this.config[t][r]))throw new ht({code:dt.NETWORK_PACKAGE_UNDEFINED,message:"".concat(hn,": PackageConfig.").concat(t)});var s=function e(t){if(0===Object.getOwnPropertyNames(t).length)return Object.create(null);var r=Array.isArray(t)?[]:Object.create(null),o="";for(var i in t)null!==t[i]?void 0!==t[i]?(o=n(t[i]),["string","number","function","boolean"].indexOf(o)>=0?r[i]=t[i]:r[i]=e(t[i])):r[i]=void 0:r[i]=null;return r}(this.config[t][r]);return s.requestData=this._initRequestData(o,s),s.encode=this._initEncoder(s),s.decode=this._initDecoder(s),i&&(s.queryString.tjg_id=i),s}},{key:"_set",value:function(e){var t=e.key,r=e.value;if(!1!=!!t){var o=t.split(".");if(!(o.length<=0)){!function e(t,r,o,i){var s=r[o];"object"===n(t[s])?e(t[s],r,o+1,i):t[s]=i}(this.config,o,0,r)}}}},{key:"_initConfig",value:function(){var e;this.config={},this.config.accessLayer=(e=this.tim,{create:null,query:{serverName:Gn.NAME.WEB_IM,cmd:Gn.CMD.ACCESS_LAYER,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:{platform:wn,identifier:e.context.identifier,usersig:e.context.userSig,contentType:e.context.contentType,apn:null!==e.context?e.context.apn:1,websdkappid:Nn,v:On},requestData:{}},update:null,delete:null}),this.config.login=function(e){return{create:null,query:{serverName:Gn.NAME.OPEN_IM,cmd:Gn.CMD.LOGIN,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:{websdkappid:Nn,v:On,platform:wn,identifier:e.loginInfo.identifier,usersig:e.loginInfo.userSig,sdkappid:e.loginInfo.SDKAppID,accounttype:e.loginInfo.accountType,contentType:null!==e.context?e.context.contentType:0,apn:null!==e.context?e.context.apn:1,reqtime:+new Date/1e3},requestData:{state:"Online"},keyMaps:{request:{tinyID:"tinyId"},response:{TinyId:"tinyID"}}},update:null,delete:null}}(this.tim),this.config.logout=function(e){return{create:null,query:{serverName:Gn.NAME.OPEN_IM,cmd:Gn.CMD.LOGOUT_ALL,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:{websdkappid:Nn,v:On,platform:wn,a2:null!==e.context?e.context.a2Key:"",tinyid:null!==e.context?e.context.tinyID:"",sdkappid:null!==e.loginInfo?e.loginInfo.SDKAppID:0,contentType:null!==e.context?e.context.contentType:0,apn:null!==e.context?e.context.apn:"",reqtime:+new Date/1e3},requestData:{}},update:null,delete:null}}(this.tim),this.config.longPollLogout=function(e){return{create:null,query:{serverName:Gn.NAME.OPEN_IM,cmd:Gn.CMD.LOGOUT_LONG_POLL,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:{websdkappid:Nn,v:On,platform:wn,a2:null!==e.context?e.context.a2Key:"",tinyid:null!==e.context?e.context.tinyID:0,sdkappid:null!==e.context?e.context.SDKAppID:0,contentType:null!==e.context?e.context.contentType:0,apn:null!==e.context?e.context.apn:1,reqtime:function(){return Date.now()}},requestData:{longPollID:""},keyMaps:{request:{longPollID:"LongPollingId"}}},update:null,delete:null}}(this.tim),this.config.profile=function(e){var t=ou(e),n=Gn.NAME.PROFILE,r=Gn.CHANNEL.XHR,o=Pn;return{query:{serverName:n,cmd:Gn.CMD.PORTRAIT_GET,channel:r,protocol:o,method:"POST",queryString:t,requestData:{fromAccount:"",userItem:[]},keyMaps:{request:{toAccount:"To_Account",standardSequence:"StandardSequence",customSequence:"CustomSequence"}}},update:{serverName:n,cmd:Gn.CMD.PORTRAIT_SET,channel:r,protocol:o,method:"POST",queryString:t,requestData:{fromAccount:"",profileItem:[{tag:et.NICK,value:""},{tag:et.GENDER,value:""},{tag:et.ALLOWTYPE,value:""},{tag:et.AVATAR,value:""}]}}}}(this.tim),this.config.group=function(e){var n={websdkappid:Nn,v:On,platform:wn,a2:null!==e.context&&e.context.a2Key?e.context.a2Key:void 0,tinyid:null!==e.context&&e.context.tinyID?e.context.tinyID:void 0,sdkappid:null!==e.context?e.context.SDKAppID:0,contentType:null!==e.context?e.context.contentType:0,accounttype:null!==e.context?e.context.accountType:0},r={request:{ownerID:"Owner_Account",userID:"Member_Account",newOwnerID:"NewOwner_Account",maxMemberNum:"MaxMemberCount",groupCustomField:"AppDefinedData",memberCustomField:"AppMemberDefinedData",groupCustomFieldFilter:"AppDefinedDataFilter_Group",memberCustomFieldFilter:"AppDefinedDataFilter_GroupMember",messageRemindType:"MsgFlag",userIDList:"MemberList",groupIDList:"GroupIdList",applyMessage:"ApplyMsg",muteTime:"ShutUpTime",muteAllMembers:"ShutUpAllMember",joinOption:"ApplyJoinOption"},response:{GroupIdList:"groups",MsgFlag:"messageRemindType",AppDefinedData:"groupCustomField",AppMemberDefinedData:"memberCustomField",AppDefinedDataFilter_Group:"groupCustomFieldFilter",AppDefinedDataFilter_GroupMember:"memberCustomFieldFilter",InfoSeq:"infoSequence",MemberList:"members",GroupInfo:"groups",ShutUpUntil:"muteUntil",ShutUpAllMember:"muteAllMembers",ApplyJoinOption:"joinOption"}};return{create:{serverName:Gn.NAME.GROUP,cmd:Gn.CMD.CREATE_GROUP,channel:Gn.CHANNEL.XHR,protocol:Pn,queryString:n,requestData:{type:t.GRP_WORK,name:void 0,groupID:void 0,ownerID:e.loginInfo.identifier,introduction:void 0,notification:void 0,avatar:void 0,maxMemberNum:void 0,joinOption:void 0,memberList:void 0,groupCustomField:void 0},keyMaps:r},list:{serverName:Gn.NAME.GROUP,cmd:Gn.CMD.GET_JOINED_GROUPS,channel:Gn.CHANNEL.XHR,protocol:Pn,queryString:n,requestData:{userID:e.loginInfo.identifier,limit:void 0,offset:void 0,groupType:void 0,responseFilter:void 0},keyMaps:r},query:{serverName:Gn.NAME.GROUP,cmd:Gn.CMD.GET_GROUP_INFO,channel:Gn.CHANNEL.XHR,protocol:Pn,queryString:n,requestData:{groupIDList:void 0,responseFilter:void 0},keyMaps:r},getGroupMemberProfile:{serverName:Gn.NAME.GROUP,cmd:Gn.CMD.GET_GROUP_MEMBER_INFO,channel:Gn.CHANNEL.XHR,protocol:Pn,queryString:n,requestData:{groupID:void 0,userIDList:void 0,memberInfoFilter:void 0,memberCustomFieldFilter:void 0},keyMaps:{request:u(u({},r.request),{},{userIDList:"Member_List_Account"}),response:r.response}},getGroupMemberList:{serverName:Gn.NAME.GROUP,cmd:Gn.CMD.GET_GROUP_MEMBER_LIST,channel:Gn.CHANNEL.XHR,protocol:Pn,queryString:n,requestData:{groupID:void 0,limit:0,offset:0,memberRoleFilter:void 0,memberInfoFilter:void 0},keyMaps:r},quitGroup:{serverName:Gn.NAME.GROUP,cmd:Gn.CMD.QUIT_GROUP,channel:Gn.CHANNEL.XHR,protocol:Pn,queryString:n,requestData:{groupID:void 0}},changeGroupOwner:{serverName:Gn.NAME.GROUP,cmd:Gn.CMD.CHANGE_GROUP_OWNER,channel:Gn.CHANNEL.XHR,protocol:Pn,queryString:n,requestData:{groupID:void 0,newOwnerID:void 0},keyMaps:r},destroyGroup:{serverName:Gn.NAME.GROUP,cmd:Gn.CMD.DESTROY_GROUP,channel:Gn.CHANNEL.XHR,protocol:Pn,queryString:n,requestData:{groupID:void 0}},updateGroupProfile:{serverName:Gn.NAME.GROUP,cmd:Gn.CMD.MODIFY_GROUP_INFO,channel:Gn.CHANNEL.XHR,protocol:Pn,queryString:n,requestData:{groupID:void 0,name:void 0,introduction:void 0,notification:void 0,avatar:void 0,maxMemberNum:void 0,joinOption:void 0,groupCustomField:void 0,muteAllMembers:void 0},keyMaps:{request:u(u({},r.request),{},{groupCustomField:"AppDefinedData"}),response:r.response}},modifyGroupMemberInfo:{serverName:Gn.NAME.GROUP,cmd:Gn.CMD.MODIFY_GROUP_MEMBER_INFO,channel:Gn.CHANNEL.XHR,protocol:Pn,queryString:n,requestData:{groupID:void 0,userID:void 0,messageRemindType:void 0,nameCard:void 0,role:void 0,memberCustomField:void 0,muteTime:void 0},keyMaps:r},addGroupMember:{serverName:Gn.NAME.GROUP,cmd:Gn.CMD.ADD_GROUP_MEMBER,channel:Gn.CHANNEL.XHR,protocol:Pn,queryString:n,requestData:{groupID:void 0,silence:void 0,userIDList:void 0},keyMaps:r},deleteGroupMember:{serverName:Gn.NAME.GROUP,cmd:Gn.CMD.DELETE_GROUP_MEMBER,channel:Gn.CHANNEL.XHR,protocol:Pn,queryString:n,requestData:{groupID:void 0,userIDList:void 0,reason:void 0},keyMaps:{request:{userIDList:"MemberToDel_Account"}}},searchGroupByID:{serverName:Gn.NAME.GROUP,cmd:Gn.CMD.SEARCH_GROUP_BY_ID,channel:Gn.CHANNEL.XHR,protocol:Pn,queryString:n,requestData:{groupIDList:void 0,responseFilter:{groupBasePublicInfoFilter:["Type","Name","Introduction","Notification","FaceUrl","CreateTime","Owner_Account","LastInfoTime","LastMsgTime","NextMsgSeq","MemberNum","MaxMemberNum","ApplyJoinOption"]}},keyMaps:{request:{groupIDList:"GroupIdList"}}},applyJoinGroup:{serverName:Gn.NAME.GROUP,cmd:Gn.CMD.APPLY_JOIN_GROUP,channel:Gn.CHANNEL.XHR,protocol:Pn,queryString:n,requestData:{groupID:void 0,applyMessage:void 0,userDefinedField:void 0},keyMaps:r},applyJoinAVChatRoom:{serverName:Gn.NAME.BIG_GROUP_NO_AUTH,cmd:Gn.CMD.APPLY_JOIN_GROUP,channel:Gn.CHANNEL.XHR,protocol:Pn,queryString:{websdkappid:Nn,v:On,platform:wn,sdkappid:null!==e.context?e.context.SDKAppID:0,contentType:null!==e.context?e.context.contentType:0,accounttype:null!==e.context?e.context.accountType:0},requestData:{groupID:void 0,applyMessage:void 0,userDefinedField:void 0},keyMaps:r},handleApplyJoinGroup:{serverName:Gn.NAME.GROUP,cmd:Gn.CMD.HANDLE_APPLY_JOIN_GROUP,channel:Gn.CHANNEL.XHR,protocol:Pn,queryString:n,requestData:{groupID:void 0,applicant:void 0,handleAction:void 0,handleMessage:void 0,authentication:void 0,messageKey:void 0,userDefinedField:void 0},keyMaps:{request:{applicant:"Applicant_Account",handleAction:"HandleMsg",handleMessage:"ApprovalMsg",messageKey:"MsgKey"},response:{MsgKey:"messageKey"}}},deleteGroupSystemNotice:{serverName:Gn.NAME.OPEN_IM,cmd:Gn.CMD.DELETE_GROUP_SYSTEM_MESSAGE,channel:Gn.CHANNEL.XHR,protocol:Pn,queryString:n,requestData:{messageListToDelete:void 0},keyMaps:{request:{messageListToDelete:"DelMsgList",messageSeq:"MsgSeq",messageRandom:"MsgRandom"}}},getGroupPendency:{serverName:Gn.NAME.GROUP,cmd:Gn.CMD.GET_GROUP_PENDENCY,channel:Gn.CHANNEL.XHR,protocol:Pn,queryString:n,requestData:{startTime:void 0,limit:void 0,handleAccount:void 0},keyMaps:{request:{handleAccount:"Handle_Account"}}}}}(this.tim),this.config.longPollID=function(e){return{create:{},query:{serverName:Gn.NAME.OPEN_IM,cmd:Gn.CMD.GET_LONG_POLL_ID,channel:Gn.CHANNEL.XHR,protocol:Pn,queryString:{websdkappid:Nn,v:On,platform:wn,a2:null!==e.context?e.context.a2Key:"",tinyid:null!==e.context?e.context.tinyID:0,sdkappid:null!==e.context?e.context.SDKAppID:0,contentType:null!==e.context?e.context.contentType:0,apn:null!==e.context?e.context.apn:1,reqtime:+new Date/1e3},requestData:{},keyMaps:{response:{LongPollingId:"longPollingID"}}},update:{},delete:{}}}(this.tim),this.config.longPoll=function(e){var t={websdkappid:Nn,v:On,platform:wn,a2:null!==e.context?e.context.a2Key:"",tinyid:null!==e.context?e.context.tinyID:0,sdkappid:null!==e.context?e.context.SDKAppID:0,contentType:null!==e.context?e.context.contentType:0,accounttype:null!==e.context?e.loginInfo.accountType:0,apn:null!==e.context?e.context.apn:1,reqtime:Math.ceil(+new Date/1e3)};return{create:{},query:{serverName:Gn.NAME.OPEN_IM,cmd:Gn.CMD.LONG_POLL,channel:Gn.CHANNEL.AUTO,protocol:Pn,queryString:t,requestData:{timeout:null,cookie:{notifySeq:0,noticeSeq:0,longPollingID:0}},keyMaps:{response:{C2cMsgArray:"C2CMessageArray",GroupMsgArray:"groupMessageArray",GroupTips:"groupTips",C2cNotifyMsgArray:"C2CNotifyMessageArray",ClientSeq:"clientSequence",MsgPriority:"priority",NoticeSeq:"noticeSequence",MsgContent:"content",MsgType:"type",MsgBody:"elements",ToGroupId:"to",Desc:"description",Ext:"extension"}}},update:{},delete:{}}}(this.tim),this.config.applyC2C=function(e){var t=ou(e),n=Gn.NAME.FRIEND,r=Gn.CHANNEL.XHR,o=Pn;return{create:{serverName:n,cmd:Gn.CMD.FRIEND_ADD,channel:r,protocol:o,queryString:t,requestData:{fromAccount:"",addFriendItem:[]}},get:{serverName:n,cmd:Gn.CMD.GET_PENDENCY,channel:r,protocol:o,queryString:t,requestData:{fromAccount:"",pendencyType:"Pendency_Type_ComeIn"}},update:{serverName:n,cmd:Gn.CMD.RESPONSE_PENDENCY,channel:r,protocol:o,queryString:t,requestData:{fromAccount:"",responseFriendItem:[]}},delete:{serverName:n,cmd:Gn.CMD.DELETE_PENDENCY,channel:r,protocol:o,queryString:t,requestData:{fromAccount:"",toAccount:[],pendencyType:"Pendency_Type_ComeIn"}}}}(this.tim),this.config.friend=function(e){var t=ou(e),n=Gn.NAME.FRIEND,r=Gn.CHANNEL.XHR,o=Pn;return{get:{serverName:n,cmd:Gn.CMD.FRIEND_GET_ALL,channel:r,protocol:o,method:"POST",queryString:t,requestData:{fromAccount:"",timeStamp:0,tagList:[et.NICK,"Tag_SNS_IM_Remark",et.AVATAR]},keyMaps:{request:{},response:{}}},delete:{serverName:n,cmd:Gn.CMD.FRIEND_DELETE,channel:r,protocol:o,method:"POST",queryString:t,requestData:{fromAccount:"",toAccount:[],deleteType:"Delete_Type_Single"}}}}(this.tim),this.config.blacklist=function(e){var t=ou(e);return{create:{serverName:Gn.NAME.FRIEND,cmd:Gn.CMD.ADD_BLACKLIST,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:t,requestData:{fromAccount:"",toAccount:[]}},get:{serverName:Gn.NAME.FRIEND,cmd:Gn.CMD.GET_BLACKLIST,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:t,requestData:{fromAccount:"",startIndex:0,maxLimited:30,lastSequence:0}},delete:{serverName:Gn.NAME.FRIEND,cmd:Gn.CMD.DELETE_BLACKLIST,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:t,requestData:{fromAccount:"",toAccount:[]}},update:{}}}(this.tim),this.config.c2cMessage=function(e){var t={platform:wn,websdkappid:Nn,v:On,a2:null!==e.context?e.context.a2Key:"",tinyid:null!==e.context?e.context.tinyID:0,sdkappid:null!==e.context?e.context.SDKAppID:0,contentType:null!==e.context?e.context.contentType:0,apn:null!==e.context?e.context.apn:1,reqtime:function(){return+new Date}},n={request:{fromAccount:"From_Account",toAccount:"To_Account",msgTimeStamp:"MsgTimeStamp",msgSeq:"MsgSeq",msgRandom:"MsgRandom",msgBody:"MsgBody",count:"MaxCnt",lastMessageTime:"LastMsgTime",messageKey:"MsgKey",peerAccount:"Peer_Account",data:"Data",description:"Desc",extension:"Ext",type:"MsgType",content:"MsgContent",sizeType:"Type",uuid:"UUID",imageUrl:"URL",fileUrl:"Url",remoteAudioUrl:"Url",remoteVideoUrl:"VideoUrl",thumbUUID:"ThumbUUID",videoUUID:"VideoUUID",videoUrl:"",downloadFlag:"Download_Flag"},response:{MsgContent:"content",MsgTime:"time",Data:"data",Desc:"description",Ext:"extension",MsgKey:"messageKey",MsgType:"type",MsgBody:"elements",Download_Flag:"downloadFlag",ThumbUUID:"thumbUUID",VideoUUID:"videoUUID"}};return{create:{serverName:Gn.NAME.OPEN_IM,cmd:Gn.CMD.SEND_MESSAGE,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:t,requestData:{fromAccount:e.loginInfo.identifier,toAccount:"",msgTimeStamp:Math.ceil(+new Date/1e3),msgSeq:0,msgRandom:0,msgBody:[],msgLifeTime:void 0,offlinePushInfo:{pushFlag:0,title:"",desc:"",ext:"",apnsInfo:{badgeMode:0},androidInfo:{OPPOChannelID:""}}},keyMaps:n},query:{serverName:Gn.NAME.OPEN_IM,cmd:Gn.CMD.GET_C2C_ROAM_MESSAGES,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:t,requestData:{peerAccount:"",count:15,lastMessageTime:0,messageKey:"",withRecalledMsg:1},keyMaps:n}}}(this.tim),this.config.c2cMessageWillBeRevoked=function(e){var t={platform:wn,websdkappid:Nn,v:On,a2:null!==e.context?e.context.a2Key:"",tinyid:null!==e.context?e.context.tinyID:0,sdkappid:null!==e.context?e.context.SDKAppID:0,contentType:null!==e.context?e.context.contentType:0,apn:null!==e.context?e.context.apn:1,reqtime:function(){return+new Date}};return{create:{serverName:Gn.NAME.OPEN_IM,cmd:Gn.CMD.REVOKE_C2C_MESSAGE,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:t,requestData:{msgInfo:{fromAccount:"",toAccount:"",msgTimeStamp:Math.ceil(+new Date/1e3),msgSeq:0,msgRandom:0}},keyMaps:{request:{msgInfo:"MsgInfo",fromAccount:"From_Account",toAccount:"To_Account",msgTimeStamp:"MsgTimeStamp",msgSeq:"MsgSeq",msgRandom:"MsgRandom",msgBody:"MsgBody"}}}}}(this.tim),this.config.c2cPeerReadTime=function(e){var t={platform:wn,websdkappid:Nn,v:On,a2:null!==e.context?e.context.a2Key:"",tinyid:null!==e.context?e.context.tinyID:0,sdkappid:null!==e.context?e.context.SDKAppID:0,contentType:null!==e.context?e.context.contentType:0,apn:null!==e.context?e.context.apn:1,reqtime:function(){return+new Date}};return{get:{serverName:Gn.NAME.OPEN_IM,cmd:Gn.CMD.GET_PEER_READ_TIME,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:t,requestData:{userIDList:void 0},keyMaps:{request:{userIDList:"To_Account"},response:{ReadTime:"peerReadTimeList"}}}}}(this.tim),this.config.groupMessage=function(e){var t={platform:wn,websdkappid:Nn,v:On,a2:null!==e.context?e.context.a2Key:"",tinyid:null!==e.context?e.context.tinyID:0,sdkappid:null!==e.context?e.context.SDKAppID:0,contentType:null!==e.context?e.context.contentType:0,apn:null!==e.context?e.context.apn:1,reqtime:function(){return+new Date}},n={request:{to:"GroupId",extension:"Ext",data:"Data",description:"Desc",random:"Random",sequence:"ReqMsgSeq",count:"ReqMsgNumber",type:"MsgType",priority:"MsgPriority",content:"MsgContent",elements:"MsgBody",sizeType:"Type",uuid:"UUID",imageUrl:"URL",fileUrl:"Url",remoteAudioUrl:"Url",remoteVideoUrl:"VideoUrl",thumbUUID:"ThumbUUID",videoUUID:"VideoUUID",videoUrl:"",downloadFlag:"Download_Flag",clientSequence:"ClientSeq"},response:{Random:"random",MsgTime:"time",MsgSeq:"sequence",ReqMsgSeq:"sequence",RspMsgList:"messageList",IsPlaceMsg:"isPlaceMessage",IsSystemMsg:"isSystemMessage",ToGroupId:"to",EnumFrom_AccountType:"fromAccountType",EnumTo_AccountType:"toAccountType",GroupCode:"groupCode",MsgPriority:"priority",MsgBody:"elements",MsgType:"type",MsgContent:"content",IsFinished:"complete",Download_Flag:"downloadFlag",ClientSeq:"clientSequence",ThumbUUID:"thumbUUID",VideoUUID:"videoUUID"}};return{create:{serverName:Gn.NAME.GROUP,cmd:Gn.CMD.SEND_GROUP_MESSAGE,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:t,requestData:{groupID:"",fromAccount:e.loginInfo.identifier,random:0,clientSequence:0,priority:"",msgBody:[],onlineOnlyFlag:0,offlinePushInfo:{pushFlag:0,title:"",desc:"",ext:"",apnsInfo:{badgeMode:0},androidInfo:{OPPOChannelID:""}}},keyMaps:n},query:{serverName:Gn.NAME.GROUP,cmd:Gn.CMD.GET_GROUP_ROAM_MESSAGES,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:t,requestData:{withRecalledMsg:1,groupID:"",count:15,sequence:""},keyMaps:n},update:null,delete:null}}(this.tim),this.config.groupMessageWillBeRevoked=function(e){var t={platform:wn,websdkappid:Nn,v:On,a2:null!==e.context?e.context.a2Key:"",tinyid:null!==e.context?e.context.tinyID:0,sdkappid:null!==e.context?e.context.SDKAppID:0,contentType:null!==e.context?e.context.contentType:0,apn:null!==e.context?e.context.apn:1,reqtime:function(){return+new Date}};return{create:{serverName:Gn.NAME.GROUP,cmd:Gn.CMD.REVOKE_GROUP_MESSAGE,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:t,requestData:{to:"",msgSeqList:[]},keyMaps:{request:{to:"GroupId",msgSeqList:"MsgSeqList",msgSeq:"MsgSeq"}}}}}(this.tim),this.config.conversation=function(e){var t={platform:wn,websdkappid:Nn,v:On,a2:null!==e.context?e.context.a2Key:"",tinyid:null!==e.context?e.context.tinyID:0,sdkappid:null!==e.context?e.context.SDKAppID:0,contentType:null!==e.context?e.context.contentType:0,apn:null!==e.context?e.context.apn:1};return{query:{serverName:Gn.NAME.RECENT_CONTACT,cmd:Gn.CMD.GET_CONVERSATION_LIST,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:t,requestData:{fromAccount:e.loginInfo.identifier,count:0},keyMaps:{request:{},response:{SessionItem:"conversations",ToAccount:"groupID",To_Account:"userID",UnreadMsgCount:"unreadCount",MsgGroupReadedSeq:"messageReadSeq"}}},pagingQuery:{serverName:Gn.NAME.RECENT_CONTACT,cmd:Gn.CMD.PAGING_GET_CONVERSATION_LIST,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:t,requestData:{fromAccount:void 0,timeStamp:void 0,orderType:void 0},keyMaps:{request:{},response:{SessionItem:"conversations",ToAccount:"groupID",To_Account:"userID",UnreadMsgCount:"unreadCount",MsgGroupReadedSeq:"messageReadSeq",C2cPeerReadTime:"c2cPeerReadTime"}}},delete:{serverName:Gn.NAME.RECENT_CONTACT,cmd:Gn.CMD.DELETE_CONVERSATION,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:t,requestData:{fromAccount:e.loginInfo.identifier,toAccount:void 0,type:1,toGroupID:void 0},keyMaps:{request:{toGroupID:"ToGroupid"}}},setC2CMessageRead:{serverName:Gn.NAME.OPEN_IM,cmd:Gn.CMD.SET_C2C_MESSAGE_READ,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:t,requestData:{C2CMsgReaded:void 0},keyMaps:{request:{lastMessageTime:"LastedMsgTime"}}},setGroupMessageRead:{serverName:Gn.NAME.GROUP,cmd:Gn.CMD.SET_GROUP_MESSAGE_READ,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:t,requestData:{groupID:void 0,messageReadSeq:void 0},keyMaps:{request:{messageReadSeq:"MsgReadedSeq"}}}}}(this.tim),this.config.syncMessage=function(e){var t={platform:wn,websdkappid:Nn,v:On,a2:null!==e.context?e.context.a2Key:"",tinyid:null!==e.context?e.context.tinyID:0,sdkappid:null!==e.context?e.context.SDKAppID:0,contentType:null!==e.context?e.context.contentType:0,apn:null!==e.context?e.context.apn:1,reqtime:function(){return[Math.ceil(+new Date),Math.random()].join("")}};return{create:null,query:{serverName:Gn.NAME.OPEN_IM,cmd:Gn.CMD.GET_MESSAGES,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:t,requestData:{cookie:"",syncFlag:0,needAbstract:1},keyMaps:{request:{fromAccount:"From_Account",toAccount:"To_Account",from:"From_Account",to:"To_Account",time:"MsgTimeStamp",sequence:"MsgSeq",random:"MsgRandom",elements:"MsgBody"},response:{MsgList:"messageList",SyncFlag:"syncFlag",To_Account:"to",From_Account:"from",ClientSeq:"clientSequence",MsgSeq:"sequence",NoticeSeq:"noticeSequence",NotifySeq:"notifySequence",MsgRandom:"random",MsgTimeStamp:"time",MsgContent:"content",ToGroupId:"groupID",MsgKey:"messageKey",GroupTips:"groupTips",MsgBody:"elements",MsgType:"type",C2CRemainingUnreadCount:"C2CRemainingUnreadList"}}},update:null,delete:null}}(this.tim),this.config.AVChatRoom=function(e){return{startLongPoll:{serverName:Gn.NAME.BIG_GROUP_LONG_POLLING_NO_AUTH,cmd:Gn.CMD.AVCHATROOM_LONG_POLL,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:{websdkappid:Nn,v:On,platform:wn,sdkappid:e.loginInfo.SDKAppID,accounttype:"792",apn:null!==e.context?e.context.apn:1,reqtime:function(){return+new Date}},requestData:{USP:1,startSeq:1,holdTime:90,key:void 0},keyMaps:{request:{USP:"USP"},response:{ToGroupId:"groupID",MsgPriority:"priority"}}}}}(this.tim),this.config.cosUpload=function(e){var t={platform:wn,websdkappid:Nn,v:On,a2:null!==e.context?e.context.a2Key:"",tinyid:null!==e.context?e.context.tinyID:0,sdkappid:null!==e.context?e.context.SDKAppID:0,contentType:null!==e.context?e.context.contentType:0,apn:null!==e.context?e.context.apn:1,reqtime:function(){return Date.now()}};return{create:{serverName:Gn.NAME.OPEN_IM,cmd:Gn.CMD.FILE_UPLOAD,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:t,requestData:{appVersion:"2.1",fromAccount:"",toAccount:"",sequence:0,time:function(){return Math.ceil(Date.now()/1e3)},random:function(){return me()},fileStrMd5:"",fileSize:"",serverVer:1,authKey:"",busiId:1,pkgFlag:1,sliceOffset:0,sliceSize:0,sliceData:"",contentType:"application/x-www-form-urlencoded"},keyMaps:{request:{},response:{}}},update:null,delete:null}}(this.tim),this.config.cosSig=function(e){var t={sdkappid:function(){return e.loginInfo.SDKAppID},identifier:function(){return e.loginInfo.identifier},userSig:function(){return e.context.userSig}};return{create:null,query:{serverName:Gn.NAME.IM_COS_SIGN,cmd:Gn.CMD.COS_SIGN,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:t,requestData:{cmd:"open_im_cos_svc",subCmd:"get_cos_token",duration:300,version:2},keyMaps:{request:{userSig:"usersig",subCmd:"sub_cmd",cmd:"cmd",duration:"duration",version:"version"},response:{expired_time:"expiredTime",bucket_name:"bucketName",session_token:"sessionToken",tmp_secret_id:"secretId",tmp_secret_key:"secretKey"}}},update:null,delete:null}}(this.tim),this.config.bigDataHallwayAuthKey=function(e){return{create:null,query:{serverName:Gn.NAME.OPEN_IM,cmd:Gn.CMD.BIG_DATA_HALLWAY_AUTH_KEY,channel:Gn.CHANNEL.XHR,protocol:Pn,method:"POST",queryString:{websdkappid:Nn,v:On,platform:wn,sdkappid:e.loginInfo.SDKAppID,accounttype:"792",apn:null!==e.context?e.context.apn:1,reqtime:function(){return+new Date}},requestData:{}}}}(this.tim),this.config.ssoEventStat=function(e){var t={sdkappid:e.loginInfo.SDKAppID,reqtime:Math.ceil(+new Date/1e3)};return{create:{serverName:Gn.NAME.IM_OPEN_STAT,cmd:Gn.CMD.TIM_WEB_REPORT,channel:Gn.CHANNEL.AUTO,protocol:Pn,queryString:t,requestData:{table:"",report:[]},keyMaps:{request:{table:"table",report:"report",SDKAppID:"sdkappid",version:"version",tinyID:"tinyid",userID:"userid",platform:"platform",method:"method",time:"time",start:"start",end:"end",cost:"cost",status:"status",codeint:"codeint",message:"message",pointer:"pointer",text:"text",msgType:"msgtype",networkType:"networktype",startts:"startts",endts:"endts",timespan:"timespan"}}},query:{},update:{},delete:{}}}(this.tim),this.config.ssoSumStat=function(e){var t=null;null!==e.context&&(t={sdkappid:e.context.SDKAppID,reqtime:Math.ceil(+new Date/1e3)});return{create:{serverName:Gn.NAME.IM_OPEN_STAT,cmd:Gn.CMD.TIM_WEB_REPORT,channel:Gn.CHANNEL.AUTO,protocol:Pn,queryString:t,requestData:{table:"",report:[]},keyMaps:{request:{table:"table",report:"report",SDKAppID:"sdkappid",version:"version",tinyID:"tinyid",userID:"userid",item:"item",lpID:"lpid",platform:"platform",scene:"scene",networkType:"networktype",total:"total",successRate:"successrate",avg:"avg",timespan:"timespan",time:"time"}}},query:{},update:{},delete:{}}}(this.tim)}},{key:"_initRequestData",value:function(e,t){if(void 0===e)return Or(t.requestData,this._getRequestMap(t),this.tim);var n=t.requestData,r=Object.create(null);for(var o in n)if(Object.prototype.hasOwnProperty.call(n,o)){if(r[o]="function"==typeof n[o]?n[o]():n[o],void 0===e[o])continue;r[o]=e[o]}return r=Or(r,this._getRequestMap(t),this.tim)}},{key:"_getRequestMap",value:function(e){if(e.keyMaps&&e.keyMaps.request&&Object.keys(e.keyMaps.request).length>0)return e.keyMaps.request}},{key:"_initEncoder",value:function(e){switch(e.protocol){case Pn:return function(e){if("string"===n(e))try{return JSON.parse(e)}catch(t){return e}return e};case Ln:return function(e){return e};default:return function(e){return J.warn("PackageConfig._initEncoder(), unknow response type, data: ",JSON.stringify(e)),e}}}},{key:"_initDecoder",value:function(e){switch(e.protocol){case Pn:return function(e){if("string"===n(e))try{return JSON.parse(e)}catch(t){return e}return e};case Ln:return function(e){return e};default:return function(e){return J.warn("PackageConfig._initDecoder(), unknow response type, data: ",e),e}}}}]),e}(),su=function(){for(var e=[],t=au(arguments),n=0;n<arguments.length;n++)Number.isInteger(arguments[n])?e.push(arguments[n]):e.push(!0==!!arguments[n]?"1":"0");return e.join(t)},au=function(e){var t=e.length,n=e[t-1];if("string"!=typeof n)return"";if(n.length>1)return"";var r=e[t-1];return delete e[t-1],e.length-=t===e.length?1:0,r},uu={C2CMessageArray:1,groupMessageArray:1,groupTips:1,C2CNotifyMessageArray:1,profileModify:1,friendListMod:1},cu=function(e){c(n,e);var t=y(n);function n(e){var o;return r(this,n),(o=t.call(this,e))._initialization(),o}return i(n,[{key:"_initialization",value:function(){this._syncOffset="",this._syncNoticeList=[],this._syncEventArray=[],this._syncMessagesIsRunning=!1,this._syncMessagesFinished=!1,this._isLongPoll=!1,this._longPollID=0,this._noticeSequence=0,this._initializeListener(),this._runLoop=null,this._initShuntChannels()}},{key:"_initShuntChannels",value:function(){this._shuntChannels=Object.create(null),this._shuntChannels.C2CMessageArray=this._C2CMessageArrayChannel.bind(this),this._shuntChannels.groupMessageArray=this._groupMessageArrayChannel.bind(this),this._shuntChannels.groupTips=this._groupTipsChannel.bind(this),this._shuntChannels.C2CNotifyMessageArray=this._C2CNotifyMessageArrayChannel.bind(this),this._shuntChannels.profileModify=this._profileModifyChannel.bind(this),this._shuntChannels.friendListMod=this._friendListModChannel.bind(this)}},{key:"_C2CMessageArrayChannel",value:function(e,t,n){this.emitInnerEvent(rr,t)}},{key:"_groupMessageArrayChannel",value:function(e,t,n){this.emitInnerEvent(or,t)}},{key:"_groupTipsChannel",value:function(e,t,n){var r=this;switch(e){case 4:case 6:this.emitInnerEvent(ir,t);break;case 5:t.forEach((function(e){re(e.elements.revokedInfos)?r.emitInnerEvent(lr,t):r.emitInnerEvent(sr,{groupSystemNotices:t,type:n})}));break;default:J.log("NotificationController._groupTipsChannel unknown event=".concat(e," type=").concat(n),t)}}},{key:"_C2CNotifyMessageArrayChannel",value:function(e,t,n){if(t[0]){var r=t[0];r.hasOwnProperty("kickoutMsgNotify")?this.emitInnerEvent(nr):r.hasOwnProperty("sysCmdMsgNotify")?this.emitInnerEvent(cr):r.hasOwnProperty("c2cMessageRevokedNotify")?this.emitInnerEvent(pr,t):r.hasOwnProperty("c2cMessageReadReceipt")&&this.emitInnerEvent(hr,t)}}},{key:"_profileModifyChannel",value:function(e,t,n){this.emitInnerEvent(ur,t)}},{key:"_friendListModChannel",value:function(e,t,n){this.emitInnerEvent(ar,t)}},{key:"_dispatchNotice",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"poll";if(re(e))for(var n=null,r=null,o="",i="",s="",a=0,u=0,c=e.length;u<c;u++)a=(n=e[u]).event,o=Object.keys(n).find((function(e){return void 0!==uu[e]})),se(this._shuntChannels[o])?(r=n[o],"poll"===t&&this._updatenoticeSequence(r),this._shuntChannels[o](a,r,t)):("poll"===t&&this._updatenoticeSequence(),i="".concat(dt.NOTICE_RUNLOOP_UNEXPECTED_CONDITION),s="".concat(gn,": ").concat(a,", ").concat(o),this.emitInnerEvent(Ir,new ht({code:i,message:s,data:{payloadName:o,event:a}})),i="",s="")}},{key:"getLongPollID",value:function(){return this._longPollID}},{key:"_IAmReady",value:function(){this.triggerReady()}},{key:"reset",value:function(){this._noticeSequence=0,this._resetSync(),this.closeNoticeChannel()}},{key:"_resetSync",value:function(){this._syncOffset="",this._syncNoticeList=[],this._syncEventArray=[],this._syncMessagesIsRunning=!1,this._syncMessagesFinished=!1}},{key:"_setNoticeSeqInRequestData",value:function(e){e.Cookie.NoticeSeq=this._noticeSequence,this.tim.sumStatController.addTotalCount(Vr)}},{key:"_updatenoticeSequence",value:function(e){if(e){var t=e[e.length-1].noticeSequence;t&&"number"==typeof t?t<=this._noticeSequence||(this._noticeSequence=t):this._noticeSequence++}else this._noticeSequence++}},{key:"_initializeListener",value:function(){var e=this.tim.innerEmitter;e.on(xn,this._startSyncMessages,this),e.on(vr,this.closeNoticeChannel,this),e.on(Zn,this._onFastStart,this)}},{key:"openNoticeChannel",value:function(){J.log("NotificationController.openNoticeChannel"),this._getLongPollID()}},{key:"closeNoticeChannel",value:function(){J.log("NotificationController.closeNoticeChannel"),(this._runLoop instanceof Ma||this._runLoop instanceof Ea)&&(this._runLoop.abort(),this._runLoop.stop()),this._longPollID=0,this._isLongPoll=!1}},{key:"_getLongPollID",value:function(){var e=this;if(0===this._longPollID){var t=new ro;t.setMethod(Wo).setStart(),this.request({name:"longPollID",action:"query"}).then((function(n){var r=n.data.longPollingID;e._onGetLongPollIDSuccess(r),t.setCode(0).setText("longPollingID=".concat(r)).setNetworkType(e.getNetworkType()).setEnd()})).catch((function(n){var r=new ht({code:n.code||dt.GET_LONGPOLL_ID_FAILED,message:n.message||yn});e.emitInnerEvent(Xn),e.emitInnerEvent(Ir,r),e.probeNetwork().then((function(e){var n=v(e,2),o=n[0],i=n[1];t.setError(r,o,i).setEnd()}))}))}else this._onGetLongPollIDSuccess(this._longPollID)}},{key:"_onGetLongPollIDSuccess",value:function(e){this.emitInnerEvent(Fn,[{key:"long_poll_logout.query.requestData.longPollingID",value:e},{key:"longPoll.query.requestData.cookie.longPollingID",value:e}]),this._longPollID=e,this._startLongPoll(),this._IAmReady(),this.tim.sumStatController.recordLongPollingID(this._longPollID)}},{key:"_startLongPoll",value:function(){if(!0!==this._isLongPoll){J.log("NotificationController._startLongPoll...");var e=this.tim.connectionController,t=this.createTransportCapsule({name:"longPoll",action:"query"});this._isLongPoll=!0,this._runLoop=e.createRunLoop({pack:t,before:this._setNoticeSeqInRequestData.bind(this),success:this._onNoticeReceived.bind(this),fail:this._onNoticeFail.bind(this)}),this._runLoop.start()}else J.log("NotificationController._startLongPoll is running...")}},{key:"_onFastStart",value:function(){this.closeNoticeChannel(),this.syncMessage()}},{key:"_onNoticeReceived",value:function(e){var t=e.data;if(t.errorCode!==Pe.SUCCESS){var n=new ro;n.setMethod(zo).setStart(),n.setMessage(t.errorInfo||JSON.stringify(t)).setCode(t.errorCode).setNetworkType(this.getNetworkType()).setEnd(!0),this._onResponseError(t)}else this.emitInnerEvent(Qn);this.tim.sumStatController.addSuccessCount(Vr),this.tim.sumStatController.addCost(Vr,t.timecost),e.data.eventArray&&this._dispatchNotice(e.data.eventArray)}},{key:"_onResponseError",value:function(e){switch(e.errorCode){case dt.LONG_POLL_KICK_OUT:J.warn("NotificationController._onResponseError, longPollingID=".concat(this._longPollID," was kicked out")),this.emitInnerEvent(tr),this.closeNoticeChannel();break;case dt.MESSAGE_A2KEY_EXPIRED:case dt.ACCOUNT_A2KEY_EXPIRED:this.emitInnerEvent(_r);break;default:oe(e.errorCode)||oe(e.errorInfo)?J.log("NotificationController._onResponseError, errorCode or errorInfo undefined!",e):this.emitInnerEvent(Ir,new ht({code:e.errorCode,message:e.errorInfo}))}}},{key:"_onNoticeFail",value:function(e){if(e.error)if("ECONNABORTED"===e.error.code||e.error.code===dt.NETWORK_TIMEOUT)if(e.error.config){var t=e.error.config.url,n=e.error.config.data;J.log("NotificationController._onNoticeFail request timed out. url=".concat(t," data=").concat(n))}else J.log("NotificationController._onNoticeFail request timed out.");else J.log("NotificationController._onNoticeFail request failed due to network error");this.emitInnerEvent(Jn)}},{key:"_startSyncMessages",value:function(e){!0!==this._syncMessagesFinished&&this.syncMessage()}},{key:"syncMessage",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this._syncMessagesIsRunning=!0,this.request({name:"syncMessage",action:"query",param:{cookie:t,syncFlag:n}}).then((function(t){var n=t.data;switch(su(n.cookie,n.syncFlag)){case"00":case"01":e.emitInnerEvent(Ir,{code:dt.NOTICE_RUNLOOP_OFFSET_LOST,message:mn});break;case"10":case"11":n.eventArray&&e._dispatchNotice(n.eventArray,"sync"),e._syncNoticeList=e._syncNoticeList.concat(n.messageList),e.emitInnerEvent(Hn,{data:n.messageList,C2CRemainingUnreadList:n.C2CRemainingUnreadList}),e._syncOffset=n.cookie,e.syncMessage(n.cookie,n.syncFlag);break;case"12":n.eventArray&&e._dispatchNotice(n.eventArray,"sync"),e.openNoticeChannel(),e._syncNoticeList=e._syncNoticeList.concat(n.messageList),e.emitInnerEvent(Kn,{messageList:n.messageList,C2CRemainingUnreadList:n.C2CRemainingUnreadList}),e._syncOffset=n.cookie,e._syncNoticeList=[],e._syncMessagesIsRunning=!1,e._syncMessagesFinished=!0}})).catch((function(t){e._syncMessagesIsRunning=!1,J.error("NotificationController.syncMessage failed. error:",t)}))}}]),n}(Pr),lu=function(e){c(n,e);var t=y(n);function n(e){var o;return r(this,n),(o=t.call(this,e)).COSSDK=null,o._cosUploadMethod=null,o.expiredTimeLimit=300,o.appid=0,o.bucketName="",o.ciUrl="",o.directory="",o.downloadUrl="",o.uploadUrl="",o.expiredTimeOut=o.expiredTimeLimit,o.region="ap-shanghai",o.cos=null,o.cosOptions={secretId:"",secretKey:"",sessionToken:"",expiredTime:0},o._timer=0,o.tim.innerEmitter.on(xn,o._init,g(o)),o.triggerReady(),o}return i(n,[{key:"_expiredTimer",value:function(){var e=this;this._timer=setInterval((function(){Math.ceil(Date.now()/1e3)>=e.cosOptions.expiredTime-60&&(e._getAuthorizationKey(),clearInterval(e._timer))}),3e4)}},{key:"_init",value:function(){var e=N?"cos-wx-sdk":"cos-js-sdk";this.COSSDK=this.tim.getPlugin(e),this.COSSDK?this._getAuthorizationKey():J.warn("UploadController._init 没有检测到上传插件,将无法发送图片、音频、视频、文件等类型的消息。详细请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#registerPlugin")}},{key:"_getAuthorizationKey",value:function(){var e=this,t=Math.ceil(Date.now()/1e3),n=new ro;n.setMethod(po).setStart(),this.request({name:"cosSig",action:"query",param:{duration:this.expiredTimeLimit}}).then((function(r){J.log("UploadController._getAuthorizationKey ok. data:",r.data);var o=r.data,i=o.expiredTime-t;n.setCode(0).setText("timeout=".concat(i,"s")).setNetworkType(e.getNetworkType()).setEnd(),e.appid=o.appid,e.bucketName=o.bucketName,e.ciUrl=o.ciUrl,e.directory=o.directory,e.downloadUrl=o.downloadUrl,e.uploadUrl=o.uploadUrl,e.expiredTimeOut=i,e.cosOptions={secretId:o.secretId,secretKey:o.secretKey,sessionToken:o.sessionToken,expiredTime:o.expiredTime},e._initUploaderMethod(),e._expiredTimer()})).catch((function(t){e.probeNetwork().then((function(n){var r=v(n,2),o=r[0],i=r[1];e.setError(t,o,i).setEnd()})),J.warn("UploadController._getAuthorizationKey failed. error:",t)}))}},{key:"_initUploaderMethod",value:function(){var e=this;this.appid&&(this.cos=N?new this.COSSDK({ForcePathStyle:!0,getAuthorization:this._getAuthorization.bind(this)}):new this.COSSDK({getAuthorization:this._getAuthorization.bind(this)}),this._cosUploadMethod=N?function(t,n){e.cos.postObject(t,n)}:function(t,n){e.cos.uploadFiles(t,n)})}},{key:"_getAuthorization",value:function(e,t){t({TmpSecretId:this.cosOptions.secretId,TmpSecretKey:this.cosOptions.secretKey,XCosSecurityToken:this.cosOptions.sessionToken,ExpiredTime:this.cosOptions.expiredTime})}},{key:"uploadImage",value:function(e){if(!e.file)return Hr(new ht({code:dt.MESSAGE_IMAGE_SELECT_FILE_FIRST,message:At}));var t=this._checkImageType(e.file);if(!0!==t)return t;var n=this._checkImageMime(e.file);if(!0!==n)return n;var r=this._checkImageSize(e.file);return!0!==r?r:this.upload(e)}},{key:"_checkImageType",value:function(e){var t="";return t=N?e.url.slice(e.url.lastIndexOf(".")+1):e.files[0].name.slice(e.files[0].name.lastIndexOf(".")+1),_n.indexOf(t.toLowerCase())>=0||Hr(new ht({coe:dt.MESSAGE_IMAGE_TYPES_LIMIT,message:Rt}))}},{key:"_checkImageMime",value:function(e){return!0}},{key:"_checkImageSize",value:function(e){var t=0;return 0===(t=N?e.size:e.files[0].size)?Hr(new ht({code:dt.MESSAGE_FILE_IS_EMPTY,message:"".concat(Tt)})):t<20971520||Hr(new ht({coe:dt.MESSAGE_IMAGE_SIZE_LIMIT,message:"".concat(Ot)}))}},{key:"uploadFile",value:function(e){var t=null;return e.file?e.file.files[0].size>104857600?(t=new ht({code:dt.MESSAGE_FILE_SIZE_LIMIT,message:qt}),Hr(t)):0===e.file.files[0].size?(t=new ht({code:dt.MESSAGE_FILE_IS_EMPTY,message:"".concat(Tt)}),Hr(t)):this.upload(e):(t=new ht({code:dt.MESSAGE_FILE_SELECT_FILE_FIRST,message:Ut}),Hr(t))}},{key:"uploadVideo",value:function(e){return e.file.videoFile.size>104857600?Hr(new ht({code:dt.MESSAGE_VIDEO_SIZE_LIMIT,message:"".concat(Pt)})):0===e.file.videoFile.size?Hr(new ht({code:dt.MESSAGE_FILE_IS_EMPTY,message:"".concat(Tt)})):-1===In.indexOf(e.file.videoFile.type)?Hr(new ht({code:dt.MESSAGE_VIDEO_TYPES_LIMIT,message:"".concat(Gt)})):N?this.handleVideoUpload({file:e.file.videoFile}):O?this.handleVideoUpload(e):void 0}},{key:"handleVideoUpload",value:function(e){var t=this;return new Promise((function(n,r){t.upload(e).then((function(e){n(e)})).catch((function(){t.upload(e).then((function(e){n(e)})).catch((function(){r(new ht({code:dt.MESSAGE_VIDEO_UPLOAD_FAIL,message:Lt}))}))}))}))}},{key:"uploadAudio",value:function(e){return e.file?e.file.size>20971520?Hr(new ht({code:dt.MESSAGE_AUDIO_SIZE_LIMIT,message:"".concat(wt)})):0===e.file.size?Hr(new ht({code:dt.MESSAGE_FILE_IS_EMPTY,message:"".concat(Tt)})):this.upload(e):Hr(new ht({code:dt.MESSAGE_AUDIO_UPLOAD_FAIL,message:Nt}))}},{key:"upload",value:function(e){var t=this;if(!se(this._cosUploadMethod))return J.warn("UploadController.upload 没有检测到上传插件,将无法发送图片、音频、视频、文件等类型的消息。详细请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#registerPlugin"),Hr(new ht({code:dt.COS_UNDETECTED,message:It}));var n=new ro;n.setMethod(ho).setStart(),J.time(no);var r=N?e.file:e.file.files[0];return new Promise((function(o,i){var s=N?t._createCosOptionsWXMiniApp(e):t._createCosOptionsWeb(e),a=t;t._cosUploadMethod(s,(function(e,s){var u=Object.create(null);if(s){if(e||re(s.files)&&s.files[0].error){var c=new ht({code:dt.MESSAGE_FILE_UPLOAD_FAIL,message:bt});return n.setError(c,!0,t.getNetworkType()).setEnd(),J.log("UploadController.upload failed, error:",s.files[0].error),403===s.files[0].error.statusCode&&(J.warn("UploadController.upload failed. cos AccessKeyId was invalid, regain auth key!"),t._getAuthorizationKey()),void i(c)}u.fileName=r.name,u.fileSize=r.size,u.fileType=r.type.slice(r.type.indexOf("/")+1).toLowerCase(),u.location=N?s.Location:s.files[0].data.Location;var l=J.timeEnd(no),p=a._formatFileSize(r.size),h=a._formatSpeed(1e3*r.size/l),d="size=".concat(p,",time=").concat(l,"ms,speed=").concat(h);return J.log("UploadController.upload success name=".concat(r.name,",").concat(d)),o(u),void n.setCode(0).setNetworkType(t.getNetworkType()).setText(d).setEnd()}var f=new ht({code:dt.MESSAGE_FILE_UPLOAD_FAIL,message:bt});n.setError(f,!0,a.getNetworkType()).setEnd(),J.warn("UploadController.upload failed, error:",e),403===e.statusCode&&(J.warn("UploadController.upload failed. cos AccessKeyId was invalid, regain auth key!"),t._getAuthorizationKey()),i(f)}))}))}},{key:"_formatFileSize",value:function(e){return e<1024?e+"B":e<1048576?Math.floor(e/1024)+"KB":Math.floor(e/1048576)+"MB"}},{key:"_formatSpeed",value:function(e){return e<=1048576?(e/1024).toFixed(1)+"KB/s":(e/1048576).toFixed(1)+"MB/s"}},{key:"_createCosOptionsWeb",value:function(e){var t=this.tim.context.identifier,n=this._genFileName(t,e.to,e.file.files[0].name);return{files:[{Bucket:"".concat(this.bucketName,"-").concat(this.appid),Region:this.region,Key:"".concat(this.directory,"/").concat(n),Body:e.file.files[0]}],SliceSize:1048576,onProgress:function(t){if("function"==typeof e.onProgress)try{e.onProgress(t.percent)}catch(n){J.warn("onProgress callback error:",n),J.error(n)}},onFileFinish:function(e,t,n){}}}},{key:"_createCosOptionsWXMiniApp",value:function(e){var t=this.tim.context.identifier,n=this._genFileName(t,e.to,e.file.name),r=e.file.url;return{Bucket:"".concat(this.bucketName,"-").concat(this.appid),Region:this.region,Key:"".concat(this.directory,"/").concat(n),FilePath:r,onProgress:function(t){if(J.log(JSON.stringify(t)),"function"==typeof e.onProgress)try{e.onProgress(t.percent)}catch(n){J.warn("onProgress callback error:",n),J.error(n)}}}}},{key:"_genFileName",value:function(e,t,n){return"".concat(e,"-").concat(t,"-").concat(me(99999),"-").concat(n)}},{key:"reset",value:function(){this._timer&&(clearInterval(this._timer),this._timer=0)}}]),n}(Pr),pu=function(e){c(o,e);var n=y(o);function o(e){var t;return r(this,o),(t=n.call(this,e)).FILETYPE={SOUND:2106,FILE:2107,VIDEO:2113},t._bdh_download_server="grouptalk.c2c.qq.com",t._BDHBizID=10001,t._authKey="",t._expireTime=0,t.tim.innerEmitter.on(xn,t._getAuthKey,g(t)),t}return i(o,[{key:"_getAuthKey",value:function(){var e=this;this.request({name:"bigDataHallwayAuthKey",action:"query"}).then((function(t){t.data.authKey&&(e._authKey=t.data.authKey,e._expireTime=parseInt(t.data.expireTime))}))}},{key:"_isFromOlderVersion",value:function(e){return 2!==e.content.downloadFlag}},{key:"parseElements",value:function(e,t){if(!re(e)||!t)return[];for(var n=[],r=null,o=0;o<e.length;o++)r=e[o],this._needParse(r)?n.push(this._parseElement(r,t)):n.push(e[o]);return n}},{key:"_needParse",value:function(e){return!(!this._isFromOlderVersion(e)||e.type!==t.MSG_AUDIO&&e.type!==t.MSG_FILE&&e.type!==t.MSG_VIDEO)}},{key:"_parseElement",value:function(e,n){switch(e.type){case t.MSG_AUDIO:return this._parseAudioElement(e,n);case t.MSG_FILE:return this._parseFileElement(e,n);case t.MSG_VIDEO:return this._parseVideoElement(e,n)}}},{key:"_parseAudioElement",value:function(e,t){return e.content.url=this._genAudioUrl(e.content.uuid,t),e}},{key:"_parseFileElement",value:function(e,t){return e.content.url=this._genFileUrl(e.content.uuid,t,e.content.fileName),e}},{key:"_parseVideoElement",value:function(e,t){return e.content.url=this._genVideoUrl(e.content.uuid,t),e}},{key:"_genAudioUrl",value:function(e,t){return""===this._authKey?(J.warn("BigDataHallwayController._genAudioUrl no authKey!"),""):"https://".concat(this._bdh_download_server,"/asn.com/stddownload_common_file?authkey=").concat(this._authKey,"&bid=").concat(this._BDHBizID,"&subbid=").concat(this.tim.context.SDKAppID,"&fileid=").concat(e,"&filetype=").concat(this.FILETYPE.SOUND,"&openid=").concat(t,"&ver=0")}},{key:"_genFileUrl",value:function(e,t,n){return""===this._authKey?(J.warn("BigDataHallwayController._genFileUrl no authKey!"),""):(n||(n="".concat(Math.floor(1e5*Math.random()),"-").concat(Date.now())),"https://".concat(this._bdh_download_server,"/asn.com/stddownload_common_file?authkey=").concat(this._authKey,"&bid=").concat(this._BDHBizID,"&subbid=").concat(this.tim.context.SDKAppID,"&fileid=").concat(e,"&filetype=").concat(this.FILETYPE.FILE,"&openid=").concat(t,"&ver=0&filename=").concat(encodeURIComponent(n)))}},{key:"_genVideoUrl",value:function(e,t){return""===this._authKey?(J.warn("BigDataHallwayController._genVideoUrl no authKey!"),""):"https://".concat(this._bdh_download_server,"/asn.com/stddownload_common_file?authkey=").concat(this._authKey,"&bid=").concat(this._BDHBizID,"&subbid=").concat(this.tim.context.SDKAppID,"&fileid=").concat(e,"&filetype=").concat(this.FILETYPE.VIDEO,"&openid=").concat(t,"&ver=0")}},{key:"reset",value:function(){this._authKey="",this.expireTime=0}}]),o}(Pr),hu={app_id:"",event_id:"",api_base:"https://pingtas.qq.com/pingd",prefix:"_mta_",version:"1.3.9",stat_share_app:!1,stat_pull_down_fresh:!1,stat_reach_bottom:!1,stat_param:!0};function du(){try{var e="s"+fu();return wx.setStorageSync(hu.prefix+"ssid",e),e}catch(t){}}function fu(e){for(var t=[0,1,2,3,4,5,6,7,8,9],n=10;1<n;n--){var r=Math.floor(10*Math.random()),o=t[r];t[r]=t[n-1],t[n-1]=o}for(n=r=0;5>n;n++)r=10*r+t[n];return(e||"")+(r+"")+ +new Date}function gu(){try{var e=getCurrentPages(),t="/";return 0<e.length&&(t=e.pop().__route__),t}catch(n){console.log("get current page path error:"+n)}}function mu(){var e,t={dm:"wechat.apps.xx",url:encodeURIComponent(gu()+_u(Iu.Data.pageQuery)),pvi:"",si:"",ty:0};return t.pvi=((e=function(){try{return wx.getStorageSync(hu.prefix+"auid")}catch(t){}}())||(e=function(){try{var t=fu();return wx.setStorageSync(hu.prefix+"auid",t),t}catch(e){}}(),t.ty=1),e),t.si=function(){var e=function(){try{return wx.getStorageSync(hu.prefix+"ssid")}catch(e){}}();return e||(e=du()),e}(),t}function yu(){var e=function(){var e=wx.getSystemInfoSync();return{adt:encodeURIComponent(e.model),scl:e.pixelRatio,scr:e.windowWidth+"x"+e.windowHeight,lg:e.language,fl:e.version,jv:encodeURIComponent(e.system),tz:encodeURIComponent(e.platform)}}();return function(e){wx.getNetworkType({success:function(t){e(t.networkType)}})}((function(e){try{wx.setStorageSync(hu.prefix+"ntdata",e)}catch(t){}})),e.ct=wx.getStorageSync(hu.prefix+"ntdata")||"4g",e}function vu(){var e,t=Iu.Data.userInfo,n=[];for(e in t)t.hasOwnProperty(e)&&n.push(e+"="+t[e]);return t=n.join(";"),{r2:hu.app_id,r4:"wx",ext:"v="+hu.version+(null!==t&&""!==t?";ui="+encodeURIComponent(t):"")}}function _u(e){if(!hu.stat_param||!e)return"";e=function(e){if(1>hu.ignore_params.length)return e;var t,n={};for(t in e)0<=hu.ignore_params.indexOf(t)||(n[t]=e[t]);return n}(e);var t,n=[];for(t in e)n.push(t+"="+e[t]);return 0<n.length?"?"+n.join("&"):""}var Iu={App:{init:function(e){"appID"in e&&(hu.app_id=e.appID),"eventID"in e&&(hu.event_id=e.eventID),"statShareApp"in e&&(hu.stat_share_app=e.statShareApp),"statPullDownFresh"in e&&(hu.stat_pull_down_fresh=e.statPullDownFresh),"statReachBottom"in e&&(hu.stat_reach_bottom=e.statReachBottom),"ignoreParams"in e&&(hu.ignore_params=e.ignoreParams),"statParam"in e&&(hu.stat_param=e.statParam),du();try{"lauchOpts"in e&&(Iu.Data.lanchInfo=e.lauchOpts,Iu.Data.lanchInfo.landing=1)}catch(t){}"autoReport"in e&&e.autoReport&&function(){var e=Page;Page=function(t){var n=t.onLoad;t.onLoad=function(e){n&&n.call(this,e),Iu.Data.lastPageQuery=Iu.Data.pageQuery,Iu.Data.pageQuery=e,Iu.Data.lastPageUrl=Iu.Data.pageUrl,Iu.Data.pageUrl=gu(),Iu.Data.show=!1,Iu.Page.init()},e(t)}}()}},Page:{init:function(){var e,t=getCurrentPages()[getCurrentPages().length-1];t.onShow&&(e=t.onShow,t.onShow=function(){if(!0===Iu.Data.show){var t=Iu.Data.lastPageQuery;Iu.Data.lastPageQuery=Iu.Data.pageQuery,Iu.Data.pageQuery=t,Iu.Data.lastPageUrl=Iu.Data.pageUrl,Iu.Data.pageUrl=gu()}Iu.Data.show=!0,Iu.Page.stat(),e.apply(this,arguments)}),hu.stat_pull_down_fresh&&t.onPullDownRefresh&&function(){var e=t.onPullDownRefresh;t.onPullDownRefresh=function(){Iu.Event.stat(hu.prefix+"pulldownfresh",{url:t.__route__}),e.apply(this,arguments)}}(),hu.stat_reach_bottom&&t.onReachBottom&&function(){var e=t.onReachBottom;t.onReachBottom=function(){Iu.Event.stat(hu.prefix+"reachbottom",{url:t.__route__}),e.apply(this,arguments)}}(),hu.stat_share_app&&t.onShareAppMessage&&function(){var e=t.onShareAppMessage;t.onShareAppMessage=function(){return Iu.Event.stat(hu.prefix+"shareapp",{url:t.__route__}),e.apply(this,arguments)}}()},multiStat:function(e,t){if(1==t)Iu.Page.stat(e);else{var n=getCurrentPages()[getCurrentPages().length-1];n.onShow&&function(){var t=n.onShow;n.onShow=function(){Iu.Page.stat(e),t.call(this,arguments)}}()}},stat:function(e){if(""!=hu.app_id){var t=[],n=vu();if(e&&(n.r2=e),e=[mu(),n,yu()],Iu.Data.lanchInfo){e.push({ht:Iu.Data.lanchInfo.scene}),Iu.Data.pageQuery&&Iu.Data.pageQuery._mta_ref_id&&e.push({rarg:Iu.Data.pageQuery._mta_ref_id});try{1==Iu.Data.lanchInfo.landing&&(n.ext+=";lp=1",Iu.Data.lanchInfo.landing=0)}catch(i){}}e.push({rdm:"/",rurl:0>=Iu.Data.lastPageUrl.length?Iu.Data.pageUrl+_u(Iu.Data.lastPageQuery):encodeURIComponent(Iu.Data.lastPageUrl+_u(Iu.Data.lastPageQuery))}),e.push({rand:+new Date}),n=0;for(var r=e.length;n<r;n++)for(var o in e[n])e[n].hasOwnProperty(o)&&t.push(o+"="+(void 0===e[n][o]?"":e[n][o]));wx.request({url:hu.api_base+"?"+t.join("&").toLowerCase()})}}},Event:{stat:function(e,t){if(""!=hu.event_id){var n=[],r=mu(),o=vu();r.dm="wxapps.click",r.url=e,o.r2=hu.event_id;var i,s=void 0===t?{}:t,a=[];for(i in s)s.hasOwnProperty(i)&&a.push(encodeURIComponent(i)+"="+encodeURIComponent(s[i]));for(s=a.join(";"),o.r5=s,s=0,o=(r=[r,o,yu(),{rand:+new Date}]).length;s<o;s++)for(var u in r[s])r[s].hasOwnProperty(u)&&n.push(u+"="+(void 0===r[s][u]?"":r[s][u]));wx.request({url:hu.api_base+"?"+n.join("&").toLowerCase()})}}},Data:{userInfo:null,lanchInfo:null,pageQuery:null,lastPageQuery:null,pageUrl:"",lastPageUrl:"",show:!1}},Cu=Iu,Mu=function(){function e(){r(this,e),this.cache=[],this.MtaWX=null,this._init()}return i(e,[{key:"report",value:function(e,t){var n=this;try{O?window.MtaH5?(window.MtaH5.clickStat(e,t),this.cache.length>0&&(this.cache.forEach((function(e){var t=e.name,n=e.param;window.MtaH5.clickStat(t,n)})),this.cache=[])):this.cache.push({name:e,param:t}):N&&(this.MtaWX?(this.MtaWX.Event.stat(e,t),this.cache.length>0&&(this.cache.forEach((function(e){var t=e.name,r=e.param;n.MtaWX.Event.stat(t,r)})),this.cache=[])):this.cache.push({name:e,param:t}))}catch(r){}}},{key:"stat",value:function(){try{O&&window.MtaH5?window.MtaH5.pgv():N&&this.MtaWX&&this.MtaWX.Page.stat()}catch(e){}}},{key:"_init",value:function(){try{if(O){window._mtac={autoReport:0};var e=document.createElement("script"),t=Ce();e.src="".concat(t,"//pingjs.qq.com/h5/stats.js?v2.0.4"),e.setAttribute("name","MTAH5"),e.setAttribute("sid","500690998"),e.setAttribute("cid","500691017");var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(e,n)}else N&&(this.MtaWX=Cu,this.MtaWX.App.init({appID:"500690995",eventID:"500691014",autoReport:!1,statParam:!0}))}catch(r){}}}]),e}(),Eu=function(e){c(n,e);var t=y(n);function n(e){var o;r(this,n),(o=t.call(this,e)).MTA=new Mu;var i=o.tim.innerEmitter;return i.on(kr,o._stat,g(o)),i.on(Dr,o._stat,g(o)),o}return i(n,[{key:"_stat",value:function(){this.MTA.report("sdkappid",{value:this.tim.context.SDKAppID}),this.MTA.report("version",{value:qu.VERSION}),this.MTA.stat()}}]),n}(Pr),Su=function(){function e(t){r(this,e),this._table="timwebii",this._report=[]}return i(e,[{key:"pushIn",value:function(e){J.debug("SSOLogBody.pushIn",this._report.length,e),this._report.push(e)}},{key:"backfill",value:function(e){var t;re(e)&&0!==e.length&&(J.debug("SSOLogBody.backfill",this._report.length,e.length),(t=this._report).unshift.apply(t,_(e)))}},{key:"getLogsNumInMemory",value:function(){return this._report.length}},{key:"isEmpty",value:function(){return 0===this._report.length}},{key:"_reset",value:function(){this._report.length=0,this._report=[]}},{key:"getTable",value:function(){return this._table}},{key:"getLogsInMemory",value:function(){var e=this._report.slice();return this._reset(),e}}]),e}(),Tu=function(e){c(n,e);var t=y(n);function n(e){var o;return r(this,n),(o=t.call(this,e)).TAG="im-ssolog-event",o._reportBody=new Su,o._version="2.7.6",o.MIN_THRESHOLD=20,o.MAX_THRESHOLD=100,o.WAITING_TIME=6e4,o.INTERVAL=2e4,o._timerID=0,o._resetLastReportTime(),o._startReportTimer(),o._retryCount=0,o.MAX_RETRY_COUNT=3,o.tim.innerEmitter.on(mr,o._onLoginSuccess,g(o)),o}return i(n,[{key:"reportAtOnce",value:function(){J.debug("EventStatController.reportAtOnce"),this._report()}},{key:"_onLoginSuccess",value:function(){var e=this,t=this.tim.storage,n=t.getItem(this.TAG,!1);Oe(n)||(J.log("EventStatController._onLoginSuccess get ssolog in storage, nums="+n.length),n.forEach((function(t){e._reportBody.pushIn(t)})),t.removeItem(this.TAG,!1))}},{key:"pushIn",value:function(e){e instanceof ro&&(e.setCommonInfo({SDKAppID:this.tim.context.SDKAppID,version:this._version,tinyID:this.tim.context.tinyID,userID:this.tim.loginInfo.identifier,platform:this.getPlatform(),scene:this.tim.context.scene}),this._reportBody.pushIn(e),this._reportBody.getLogsNumInMemory()>=this.MIN_THRESHOLD&&this._report())}},{key:"_resetLastReportTime",value:function(){this._lastReportTime=Date.now()}},{key:"_startReportTimer",value:function(){var e=this;this._timerID=setInterval((function(){Date.now()<e._lastReportTime+e.WAITING_TIME||e._reportBody.isEmpty()||e._report()}),this.INTERVAL)}},{key:"_stopReportTimer",value:function(){this._timerID>0&&(clearInterval(this._timerID),this._timerID=0)}},{key:"_report",value:function(){var e=this;if(!this._reportBody.isEmpty()){var t=this._reportBody.getLogsInMemory();this.request({name:"ssoEventStat",action:"create",param:{table:this._reportBody.getTable(),report:t}}).then((function(){e._resetLastReportTime(),e._retryCount>0&&(J.debug("EventStatController.report retry success"),e._retryCount=0)})).catch((function(n){if(J.warn("EventStatController.report, networkType:".concat(e.getNetworkType()," error:").concat(de(n))),e._reportBody.backfill(t),e._reportBody.getLogsNumInMemory()>e.MAX_THRESHOLD||e._retryCount===e.MAX_RETRY_COUNT||0===e._timerID)return e._retryCount=0,void e._flushAtOnce();e._retryCount+=1}))}}},{key:"_flushAtOnce",value:function(){var e=this.tim.storage,t=e.getItem(this.TAG,!1),n=this._reportBody.getLogsInMemory();if(Oe(t))J.log("EventStatController._flushAtOnce nums="+n.length),e.setItem(this.TAG,n,!0,!1);else{var r=n.concat(t);r.length>this.MAX_THRESHOLD&&(r=r.slice(0,this.MAX_THRESHOLD)),J.log("EventStatController._flushAtOnce nums="+r.length),e.setItem(this.TAG,r,!0,!1)}}},{key:"reset",value:function(){J.log("EventStatController.reset"),this._stopReportTimer(),this._report()}}]),n}(Pr),Du="none",ku="online",Au=function(){function e(){r(this,e),this._networkType="",this.maxWaitTime=3e3}return i(e,[{key:"start",value:function(){var e=this;N?(wx.getNetworkType({success:function(t){e._networkType=t.networkType,t.networkType===Du?J.warn("NetMonitor no network, please check!"):J.info("NetMonitor networkType:".concat(t.networkType))}}),wx.onNetworkStatusChange(this._onWxNetworkStatusChange.bind(this))):this._networkType=ku}},{key:"_onWxNetworkStatusChange",value:function(e){this._networkType=e.networkType,e.isConnected?J.info("NetMonitor networkType:".concat(e.networkType)):J.warn("NetMonitor no network, please check!")}},{key:"probe",value:function(){var e=this;return new Promise((function(t,n){if(N)wx.getNetworkType({success:function(n){e._networkType=n.networkType,n.networkType===Du?(J.warn("NetMonitor no network, please check!"),t([!1,n.networkType])):(J.info("NetMonitor networkType:".concat(n.networkType)),t([!0,n.networkType]))}});else if(window&&window.fetch)fetch("".concat(Ce(),"//webim-1252463788.file.myqcloud.com/assets/test/speed.xml?random=").concat(Math.random())).then((function(e){e.ok?t([!0,ku]):t([!1,Du])})).catch((function(e){t([!1,Du])}));else{var r=new XMLHttpRequest,o=setTimeout((function(){J.warn("NetMonitor fetch timeout. Probably no network, please check!"),r.abort(),e._networkType=Du,t([!1,Du])}),e.maxWaitTime);r.onreadystatechange=function(){4===r.readyState&&(clearTimeout(o),200===r.status||304===r.status?(this._networkType=ku,t([!0,ku])):(J.warn("NetMonitor fetch status:".concat(r.status,". Probably no network, please check!")),this._networkType=Du,t([!1,Du])))},r.open("GET","".concat(Ce(),"//webim-1252463788.file.myqcloud.com/assets/test/speed.xml?random=").concat(Math.random())),r.send()}}))}},{key:"getNetworkType",value:function(){return this._networkType}},{key:"reset",value:function(){this._networkType=""}}]),e}(),Ru=function(){function e(t){var n=this;r(this,e),re(t)?(this._map=new Map,t.forEach((function(e){n._map.set(e,[])}))):J.warn("AverageCalculator.constructor need keys")}return i(e,[{key:"push",value:function(e,t){return!(oe(e)||!this._map.has(e)||!Z(t))&&(this._map.get(e).push(t),!0)}},{key:"getSize",value:function(e){return oe(e)||!this._map.has(e)?-1:this._map.get(e).length}},{key:"getAvg",value:function(e){if(oe(e)||!this._map.has(e))return-1;var t=this._map.get(e),n=t.length;if(0===n)return 0;var r=0;return t.forEach((function(e){r+=e})),t.length=0,this._map.set(e,[]),parseInt(r/n)}},{key:"getMax",value:function(e){return oe(e)||!this._map.has(e)?-1:Math.max.apply(null,this._map.get(e))}},{key:"getMin",value:function(e){return oe(e)||!this._map.has(e)?-1:Math.min.apply(null,this._map.get(e))}},{key:"reset",value:function(){this._map.forEach((function(e){e.length=0}))}}]),e}(),Ou=function(){function e(t){var n=this;r(this,e),re(t)?(this._map=new Map,t.forEach((function(e){n._map.set(e,{totalCount:0,successCount:0})}))):J.warn("SuccessRateCalculator.constructor need keys")}return i(e,[{key:"addTotalCount",value:function(e){return!(oe(e)||!this._map.has(e))&&(this._map.get(e).totalCount+=1,!0)}},{key:"addSuccessCount",value:function(e){return!(oe(e)||!this._map.has(e))&&(this._map.get(e).successCount+=1,!0)}},{key:"getSuccessRate",value:function(e){if(oe(e)||!this._map.has(e))return-1;var t=this._map.get(e);if(0===t.totalCount)return 1;var n=parseFloat((t.successCount/t.totalCount).toFixed(2));return n>1&&(n=1),t.totalCount=t.successCount=0,n}},{key:"getTotalCount",value:function(e){return oe(e)||!this._map.has(e)?-1:this._map.get(e).totalCount}},{key:"reset",value:function(){this._map.forEach((function(e){e.totalCount=0,e.successCount=0}))}}]),e}(),Nu=function(e){c(n,e);var t=y(n);function n(e){var o;return r(this,n),(o=t.call(this,e)).TABLE="timwebsum",o.TAG="im-ssolog-sumstat",o._items=[Vr,jr,Yr,$r,Wr,zr,Xr,Jr,Qr,Zr],o._thresholdMap=new Map,o._thresholdMap.set(Vr,100),o._thresholdMap.set(jr,150),o._thresholdMap.set(Yr,15),o._thresholdMap.set($r,6),o._thresholdMap.set(Wr,6),o._thresholdMap.set(zr,6),o._thresholdMap.set(Xr,6),o._thresholdMap.set(Jr,6),o._thresholdMap.set(Qr,50),o._thresholdMap.set(Zr,50),o._lpID="",o._platform=o.getPlatform(),o._lastReportTime=0,o._statInfoArr=[],o._retryCount=0,o._avgCalc=new Ru(o._items),o._successRateCalc=new Ou(o._items),o.tim.innerEmitter.on(mr,o._onLoginSuccess,g(o)),o}return i(n,[{key:"_onLoginSuccess",value:function(){var e=this,t=this.tim.storage,n=t.getItem(this.TAG,!1);Oe(n)||(J.log("SumStatController._onLoginSuccess get sumstatlog in storage, nums="+n.length),n.forEach((function(t){e._statInfoArr.pushIn(t)})),t.removeItem(this.TAG,!1))}},{key:"recordLongPollingID",value:function(e){this._lpID=e}},{key:"addTotalCount",value:function(e){this._successRateCalc.addTotalCount(e)?1===this._successRateCalc.getTotalCount(e)&&(this._lastReportTime=Date.now()):J.warn("SumStatController.addTotalCount invalid key:",e)}},{key:"addSuccessCount",value:function(e){this._successRateCalc.addSuccessCount(e)||J.warn("SumStatController.addSuccessCount invalid key:",e)}},{key:"addCost",value:function(e,t){this._avgCalc.push(e,t)?(J.debug("SumStatController.addCost",e,t,this._avgCalc.getSize(e)),this._avgCalc.getSize(e)>=this._thresholdMap.get(e)&&this._report(e)):J.warn("SumStatController.addCost invalid key or cost:",e,t)}},{key:"_getItemNum",value:function(e){switch(e){case Vr:return 1;case jr:return 2;case Yr:return 3;case Qr:return 4;case Zr:return 5;case $r:return 6;case Wr:return 7;case zr:return 8;case Xr:return 9;case Jr:return 10;default:return 100}}},{key:"_getStatInfo",value:function(e){var t=null;return this._avgCalc.getSize(e)>0&&(t={SDKAppID:"".concat(this.tim.context.SDKAppID),version:"".concat("2.7.6"),tinyID:this.tim.context.tinyID,userID:this.tim.loginInfo.identifier,item:this._getItemNum(e),lpID:e===Vr?this._lpID:"",platform:this._platform,scene:this.tim.context.scene,networkType:this.getNetworkType(),total:this._successRateCalc.getTotalCount(e),successRate:this._successRateCalc.getSuccessRate(e),avg:this._avgCalc.getAvg(e),timespan:Date.now()-this._lastReportTime,time:fe()}),t}},{key:"_report",value:function(e){var t=this,n=[],r=null;oe(e)?this._items.forEach((function(e){null!==(r=t._getStatInfo(e))&&n.push(r)})):null!==(r=this._getStatInfo(e))&&n.push(r),J.debug("SumStatController._report",n),this._statInfoArr.length>0&&(n=n.concat(this.statInfoArr),this._statInfoArr=[]),this._doReport(n)}},{key:"_doReport",value:function(e){var t=this;Oe(e)?J.warn("SumStatController._doReport statInfoArr is empty, do nothing"):this.request({name:"ssoSumStat",action:"create",param:{table:this.TABLE,report:e}}).then((function(){t._lastReportTime=Date.now(),t._retryCount>0&&(J.debug("SumStatController._doReport retry success"),t._retryCount=0)})).catch((function(n){J.warn("SumStatController._doReport, online:".concat(t.getNetworkType()," error:").concat(de(n)),e),t._retryCount<=1?setTimeout((function(){J.info("SumStatController._doReport retry",e),t._retryCount+=1,t._doReport(e)}),5e3):(t._retryCount=0,t._statInfoArr=t._statInfoArr.concat(e),t._flusgAtOnce())}))}},{key:"_flushAtOnce",value:function(){var e=this.tim.storage,t=e.getItem(this.TAG,!1),n=this._statInfoArr;if(Oe(t))J.log("SumStatController._flushAtOnce nums="+n.length),e.setItem(this.TAG,n,!0,!1);else{var r=n.concat(t);r.length>10&&(r=r.slice(0,10)),J.log("SumStatController._flushAtOnce nums="+r.length),e.setItem(this.TAG,r,!0,!1)}this._statInfoArr=[]}},{key:"reset",value:function(){J.info("SumStatController.reset"),this._report(),this._avgCalc.reset(),this._successRateCalc.reset()}}]),n}(Pr),wu=function(){function e(){r(this,e),this._funcMap=new Map}return i(e,[{key:"defense",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;if("string"!=typeof e)return null;if(0===e.length)return null;if("function"!=typeof t)return null;if(this._funcMap.has(e)&&this._funcMap.get(e).has(t))return this._funcMap.get(e).get(t);this._funcMap.has(e)||this._funcMap.set(e,new Map);var r=null;return this._funcMap.get(e).has(t)?r=this._funcMap.get(e).get(t):(r=this._pack(e,t,n),this._funcMap.get(e).set(t,r)),r}},{key:"defenseOnce",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;return"function"!=typeof t?null:this._pack(e,t,n)}},{key:"find",value:function(e,t){return"string"!=typeof e||0===e.length||"function"!=typeof t?null:this._funcMap.has(e)?this._funcMap.get(e).has(t)?this._funcMap.get(e).get(t):(J.log("SafetyCallback.find: 找不到 func —— ".concat(e,"/").concat(""!==t.name?t.name:"[anonymous]")),null):(J.log("SafetyCallback.find: 找不到 eventName-".concat(e," 对应的 func")),null)}},{key:"delete",value:function(e,t){return"function"==typeof t&&(!!this._funcMap.has(e)&&(!!this._funcMap.get(e).has(t)&&(this._funcMap.get(e).delete(t),0===this._funcMap.get(e).size&&this._funcMap.delete(e),!0)))}},{key:"_pack",value:function(e,t,n){return function(){try{t.apply(n,Array.from(arguments))}catch(o){var r=new ro;r.setMethod(ai).setText("eventName=".concat(e)).setStart(),r.setCode(0).setMessage(o.message).setEnd()}}}}]),e}(),Lu=function(e){c(n,e);var t=y(n);function n(e){var o;return r(this,n),(o=t.call(this,e))._maybeLostSequencesMap=new Map,o}return i(n,[{key:"onMessageMaybeLost",value:function(e,t,n){this._maybeLostSequencesMap.has(e)||this._maybeLostSequencesMap.set(e,[]);for(var r=this._maybeLostSequencesMap.get(e),o=0;o<n;o++)r.push(t+o);J.debug("MessageLossController.onMessageMaybeLost. maybeLostSequences:".concat(r))}},{key:"detectMessageLoss",value:function(e,t){var n=this._maybeLostSequencesMap.get(e);if(!Oe(n)&&!Oe(t)){var r=t.filter((function(e){return-1!==n.indexOf(e)}));if(J.debug("MessageLossController.detectMessageLoss. matchedSequences:".concat(r)),n.length===r.length)J.info("MessageLossController.detectMessageLoss no message loss. conversationID=".concat(e));else{var o,i=n.filter((function(e){return-1===r.indexOf(e)})),s=i.length;s<=5?o=e+"-"+i.join("-"):(i.sort((function(e,t){return e-t})),o=e+" start:"+i[0]+" end:"+i[s-1]+" count:"+s);var a=new ro;a.setMethod(Zo).setStart(),a.setCode(0).setText(o).setNetworkType(this.getNetworkType()).setEnd(),J.warn("MessageLossController.detectMessageLoss message loss detected. conversationID:".concat(e," lostSequences:").concat(i))}n.length=0}}},{key:"reset",value:function(){J.log("MessageLossController.reset"),this._maybeLostSequencesMap.clear()}}]),n}(Pr),Pu=function(){function t(e){r(this,t);var n=new ro;n.setMethod(oo).setStart(),Lr.mixin(this),this._initOptions(e),this._initMemberVariables(),this._initControllers(),this._initListener(),ro.bindController(this.eventStatController),n.setCode(0).setText("mp=".concat(N,"-ua=").concat(w)).setEnd(),J.info("SDK inWxMiniApp:".concat(N,", SDKAppID:").concat(e.SDKAppID,", UserAgent:").concat(w)),this._safetyCallbackFactory=new wu}return i(t,[{key:"login",value:function(e){return J.time(Kr),this._ssoLog=new ro,this._ssoLog.setMethod(io).setStart(),this.netMonitor.start(),this.loginInfo.identifier=e.identifier||e.userID,this.loginInfo.userSig=e.userSig,this.signController.login(this.loginInfo)}},{key:"logout",value:function(){var e=this.signController.logout();return this.resetSDK(),e}},{key:"on",value:function(t,n,r){t===e.GROUP_SYSTEM_NOTICE_RECEIVED&&J.warn("!!!TIM.EVENT.GROUP_SYSTEM_NOTICE_RECEIVED v2.6.0起弃用,为了更好的体验,请在 TIM.EVENT.MESSAGE_RECEIVED 事件回调内接收处理群系统通知,详细请参考:https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/Message.html#.GroupSystemNoticePayload"),J.debug("on","eventName:".concat(t)),this.outerEmitter.on(t,this._safetyCallbackFactory.defense(t,n,r),r)}},{key:"once",value:function(e,t,n){J.debug("once","eventName:".concat(e)),this.outerEmitter.once(e,this._safetyCallbackFactory.defenseOnce(e,t,n),n||this)}},{key:"off",value:function(e,t,n,r){J.debug("off","eventName:".concat(e));var o=this._safetyCallbackFactory.find(e,t);null!==o&&(this.outerEmitter.off(e,o,n,r),this._safetyCallbackFactory.delete(e,t))}},{key:"registerPlugin",value:function(e){var t=this;this.plugins||(this.plugins={}),Object.keys(e).forEach((function(n){t.plugins[n]=e[n]}));var n=new ro;n.setMethod(lo).setStart(),n.setCode(0).setText("key=".concat(Object.keys(e))).setEnd()}},{key:"getPlugin",value:function(e){return this.plugins[e]||void 0}},{key:"setLogLevel",value:function(e){if(e<=0){console.log([""," ________ ______ __ __ __ __ ________ _______","| \\| \\| \\ / \\| \\ _ | \\| \\| \\"," \\$$$$$$$$ \\$$$$$$| $$\\ / $$| $$ / \\ | $$| $$$$$$$$| $$$$$$$\\"," | $$ | $$ | $$$\\ / $$$| $$/ $\\| $$| $$__ | $$__/ $$"," | $$ | $$ | $$$$\\ $$$$| $$ $$$\\ $$| $$ \\ | $$ $$"," | $$ | $$ | $$\\$$ $$ $$| $$ $$\\$$\\$$| $$$$$ | $$$$$$$\\"," | $$ _| $$_ | $$ \\$$$| $$| $$$$ \\$$$$| $$_____ | $$__/ $$"," | $$ | $$ \\| $$ \\$ | $$| $$$ \\$$$| $$ \\| $$ $$"," \\$$ \\$$$$$$ \\$$ \\$$ \\$$ \\$$ \\$$$$$$$$ \\$$$$$$$","",""].join("\n")),console.log("%cIM 智能客服,随时随地解决您的问题 →_→ https://cloud.tencent.com/act/event/smarty-service?from=im-doc","color:#ff0000");console.log(["","参考以下文档,会更快解决问题哦!(#^.^#)\n","SDK 更新日志: https://cloud.tencent.com/document/product/269/38492\n","SDK 接口文档: https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html\n","常见问题: https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/tutorial-01-faq.html\n","反馈问题?戳我提 issue: https://github.com/tencentyun/TIMSDK/issues\n","如果您需要在生产环境关闭上面的日志,请 tim.setLogLevel(1)\n"].join("\n"))}J.setLevel(e)}},{key:"downloadLog",value:function(){var e=document.createElement("a"),t=new Date,n=new Blob(this.getLog());e.download="TIM-"+t.getFullYear()+"-"+(t.getMonth()+1)+"-"+t.getDate()+"-"+this.loginInfo.SDKAppID+"-"+this.context.identifier+".txt",e.href=URL.createObjectURL(n),e.click(),URL.revokeObjectURL(n)}},{key:"destroy",value:function(){this.logout(),this.outerEmitter.emit(e.SDK_DESTROY,{SDKAppID:this.loginInfo.SDKAppID})}},{key:"createTextMessage",value:function(e){return this.messageController.createTextMessage(e)}},{key:"createImageMessage",value:function(e){return this.messageController.createImageMessage(e)}},{key:"createAudioMessage",value:function(e){return this.messageController.createAudioMessage(e)}},{key:"createVideoMessage",value:function(e){return this.messageController.createVideoMessage(e)}},{key:"createCustomMessage",value:function(e){return this.messageController.createCustomMessage(e)}},{key:"createFaceMessage",value:function(e){return this.messageController.createFaceMessage(e)}},{key:"createFileMessage",value:function(e){return this.messageController.createFileMessage(e)}},{key:"sendMessage",value:function(e,t){return e instanceof Dn?this.messageController.sendMessageInstance(e,t):Hr(new ht({code:dt.MESSAGE_SEND_NEED_MESSAGE_INSTANCE,message:Et}))}},{key:"revokeMessage",value:function(e){return this.messageController.revokeMessage(e)}},{key:"resendMessage",value:function(e){return this.messageController.resendMessage(e)}},{key:"getMessageList",value:function(e){return this.messageController.getMessageList(e)}},{key:"setMessageRead",value:function(e){return this.messageController.setMessageRead(e)}},{key:"getConversationList",value:function(){return this.conversationController.getConversationList()}},{key:"getConversationProfile",value:function(e){return this.conversationController.getConversationProfile(e)}},{key:"deleteConversation",value:function(e){return this.conversationController.deleteConversation(e)}},{key:"getMyProfile",value:function(){return this.userController.getMyProfile()}},{key:"getUserProfile",value:function(e){return this.userController.getUserProfile(e)}},{key:"updateMyProfile",value:function(e){return this.userController.updateMyProfile(e)}},{key:"getFriendList",value:function(){return this.userController.getFriendList()}},{key:"deleteFriend",value:function(e){return this.userController.deleteFriend(e)}},{key:"getBlacklist",value:function(){return this.userController.getBlacklist()}},{key:"addToBlacklist",value:function(e){return this.userController.addBlacklist(e)}},{key:"removeFromBlacklist",value:function(e){return this.userController.deleteBlacklist(e)}},{key:"getGroupList",value:function(e){return this.groupController.getGroupList(e)}},{key:"getGroupProfile",value:function(e){return this.groupController.getGroupProfile(e)}},{key:"createGroup",value:function(e){return this.groupController.createGroup(e)}},{key:"dismissGroup",value:function(e){return this.groupController.dismissGroup(e)}},{key:"updateGroupProfile",value:function(e){return this.groupController.updateGroupProfile(e)}},{key:"joinGroup",value:function(e){return this.groupController.joinGroup(e)}},{key:"quitGroup",value:function(e){return this.groupController.quitGroup(e)}},{key:"searchGroupByID",value:function(e){return this.groupController.searchGroupByID(e)}},{key:"changeGroupOwner",value:function(e){return this.groupController.changeGroupOwner(e)}},{key:"handleGroupApplication",value:function(e){return this.groupController.handleGroupApplication(e)}},{key:"setMessageRemindType",value:function(e){return this.groupController.setMessageRemindType(e)}},{key:"getGroupMemberList",value:function(e){return this.groupController.getGroupMemberList(e)}},{key:"getGroupMemberProfile",value:function(e){return this.groupController.getGroupMemberProfile(e)}},{key:"addGroupMember",value:function(e){return this.groupController.addGroupMember(e)}},{key:"deleteGroupMember",value:function(e){return this.groupController.deleteGroupMember(e)}},{key:"setGroupMemberMuteTime",value:function(e){return this.groupController.setGroupMemberMuteTime(e)}},{key:"setGroupMemberRole",value:function(e){return this.groupController.setGroupMemberRole(e)}},{key:"setGroupMemberNameCard",value:function(e){return this.groupController.setGroupMemberNameCard(e)}},{key:"setGroupMemberCustomField",value:function(e){return this.groupController.setGroupMemberCustomField(e)}},{key:"_initOptions",value:function(e){this.plugins={};var t=e.SDKAppID||0,n=me();this.context={SDKAppID:t,accountType:n},this.loginInfo={SDKAppID:t,accountType:n,identifier:null,userSig:null,unlimitedAVChatRoom:e.unlimitedAVChatRoom||!1,scene:e.scene||""},this.options={runLoopNetType:e.runLoopNetType||Je,enablePointer:e.enablePointer||!1}}},{key:"_initMemberVariables",value:function(){this.innerEmitter=new ru,this.outerEmitter=new ru,xr(this.outerEmitter),this.packageConfig=new iu(this),this.storage=new nu(this),this.netMonitor=new Au,this.outerEmitter._emit=this.outerEmitter.emit,this.outerEmitter.emit=function(e,t){var n=arguments[0],r=[n,{name:arguments[0],data:arguments[1]}];this.outerEmitter._emit.apply(this.outerEmitter,r)}.bind(this),this.innerEmitter._emit=this.innerEmitter.emit,this.innerEmitter.emit=function(e,t){var n;ne(arguments[1])&&arguments[1].data?(J.warn("inner eventData has data property, please check!"),n=[e,{name:arguments[0],data:arguments[1].data}]):n=[e,{name:arguments[0],data:arguments[1]}],this.innerEmitter._emit.apply(this.innerEmitter,n)}.bind(this)}},{key:"_initControllers",value:function(){this.exceptionController=new Ta(this),this.connectionController=new Sa(this),this.contextController=new br(this),this.context=this.contextController.getContext(),this.signController=new ci(this),this.messageController=new $a(this),this.conversationController=new Fa(this),this.userController=new Pa(this),this.groupController=new Za(this),this.notificationController=new cu(this),this.bigDataHallwayController=new pu(this),this.statusController=new eu(this),this.uploadController=new lu(this),this.messageLossController=new Lu(this),this.eventStatController=new Tu(this),this.sumStatController=new Nu(this),this.mtaReportController=new Eu(this),this._initReadyListener()}},{key:"_initListener",value:function(){var e=this;if(this.innerEmitter.on(er,this._onSlowStart,this),N&&"function"==typeof wx.onAppShow&&"function"==typeof wx.onAppHide){var t=null;wx.onAppHide((function(){(t=new ro).setMethod(si).setStart()})),wx.onAppShow((function(){null!==t&&t.setCode(0).setNetworkType(e.netMonitor.getNetworkType()).setEnd()}))}}},{key:"_initReadyListener",value:function(){for(var e=this,t=this.readyList,n=0,r=t.length;n<r;n++)this[t[n]].ready((function(){return e._readyHandle()}))}},{key:"_onSlowStart",value:function(){J.log("slow start longpolling..."),this.resetSDK(),this.login(this.loginInfo)}},{key:"resetSDK",value:function(){var t=this;this.initList.forEach((function(e){t[e].reset&&t[e].reset()})),this.netMonitor.reset(),this.storage.reset(),this.resetReady(),this._initReadyListener(),this.outerEmitter.emit(e.SDK_NOT_READY)}},{key:"_readyHandle",value:function(){for(var t=this.readyList,n=!0,r=0,o=t.length;r<o;r++)if(!this[t[r]].isReady()){n=!1;break}if(n){var i=J.timeEnd(Kr);J.warn("SDK is ready. cost=".concat(i,"ms")),this.triggerReady(),this.innerEmitter.emit(kr),this.outerEmitter.emit(e.SDK_READY),this._ssoLog.setCode(0).setNetworkType(this.netMonitor.getNetworkType()).setText(i).setEnd()}}}]),t}();Pu.prototype.readyList=["conversationController"],Pu.prototype.initList=["exceptionController","connectionController","signController","contextController","messageController","conversationController","userController","groupController","notificationController","eventStatController","sumStatController","messageLossController","statusController"];var Gu={login:"login",on:"on",off:"off",ready:"ready",setLogLevel:"setLogLevel",joinGroup:"joinGroup",quitGroup:"quitGroup",registerPlugin:"registerPlugin"};function bu(e,t){return!(!e.isReady()&&void 0===Gu[t])||(e.innerEmitter.emit(Ir,new ht({code:dt.SDK_IS_NOT_READY,message:"".concat(t," ").concat(vn,",请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/module-EVENT.html#.SDK_READY")})),!1)}var Uu={},qu={};return qu.create=function(t){if(t.SDKAppID&&Uu[t.SDKAppID])return Uu[t.SDKAppID];J.log("TIM.create");var n=new Pu(t);n.on(e.SDK_DESTROY,(function(e){Uu[e.data.SDKAppID]=null,delete Uu[e.data.SDKAppID]}));var r=function(e){var t=Object.create(null);return Object.keys(Rn).forEach((function(n){if(e[n]){var r=Rn[n],o=new E;t[r]=function(){var t=Array.from(arguments);return o.use((function(t,r){if(bu(e,n))return r()})).use((function(e,t){if(!0===Ne(e,An[n],r))return t()})).use((function(t,r){return e[n].apply(e,t)})),o.run(t)}}})),t}(n);return Uu[t.SDKAppID]=r,J.log("TIM.create ok"),r},qu.TYPES=t,qu.EVENT=e,qu.VERSION="2.7.6",J.log("TIM.VERSION: ".concat(qu.VERSION)),qu}));