Files
2021-04-08 11:46:50 +08:00

13 lines
328 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
module.exports = (function() {
var __MODS__ = {};
var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexports: {} }; __MODS__[modId] = { status: 0, func: func, req: req, m: m }; };
var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; };
var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } };
var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
__DEFINE__(1617853245257, function(require, module, exports) {
!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",SDK_RELOAD:"sdkReload"},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_MERGER:"TIMRelayElem",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",CONV_AT_ME:1,CONV_AT_ALL:2,CONV_AT_ALL_AT_ME:3,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",MSG_AT_ALL:"__kImSDK_MesssageAtALL__"};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 o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function i(e,t,n){return t&&r(e.prototype,t),n&&r(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 o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}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 expression 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 g(){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=g()?Reflect.construct:function(e,t,n){var o=[null];o.push.apply(o,t);var r=new(Function.bind.apply(e,o));return n&&p(r,n.prototype),r}).apply(null,arguments)}function h(e){var t="function"==typeof Map?new Map:void 0;return(h=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,o)}function o(){return d(e,arguments,l(this).constructor)}return o.prototype=Object.create(e.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),p(o,e)})(e)}function m(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function v(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?f(e):t}function _(e){var t=g();return function(){var n,o=l(e);if(t){var r=l(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return v(this,n)}}function y(e,t){return I(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],o=!0,r=!1,i=void 0;try{for(var s,a=e[Symbol.iterator]();!(o=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);o=!0);}catch(u){r=!0,i=u}finally{try{o||null==a.return||a.return()}finally{if(r)throw i}}return n}(e,t)||E(e,t)||S()}function M(e){return function(e){if(Array.isArray(e))return T(e)}(e)||C(e)||E(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){if(Array.isArray(e))return e}function C(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function E(e,t){if(e){if("string"==typeof e)return T(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)?T(e,t):void 0}}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function S(){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 D(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=E(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0,r=function(){};return{s:r,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:r}}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 i,s=!0,a=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return s=e.done,e},e:function(e){a=!0,i=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw i}}}}var k=function(){function e(){o(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}(),A="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function O(e,t){return e(t={exports:{}},t.exports),t.exports}var N,R,L,w,P=O((function(e,t){var n,o,r,i,s,a,u,c,l,p,g,d,h,m,f,v,_,y;e.exports=(n="function"==typeof Promise,o="object"==typeof self?self:A,r="undefined"!=typeof Symbol,i="undefined"!=typeof Map,s="undefined"!=typeof Set,a="undefined"!=typeof WeakMap,u="undefined"!=typeof WeakSet,c="undefined"!=typeof DataView,l=r&&void 0!==Symbol.iterator,p=r&&void 0!==Symbol.toStringTag,g=s&&"function"==typeof Set.prototype.entries,d=i&&"function"==typeof Map.prototype.entries,h=g&&Object.getPrototypeOf((new Set).entries()),m=d&&Object.getPrototypeOf((new Map).entries()),f=l&&"function"==typeof Array.prototype[Symbol.iterator],v=f&&Object.getPrototypeOf([][Symbol.iterator]()),_=l&&"function"==typeof String.prototype[Symbol.iterator],y=_&&Object.getPrototypeOf(""[Symbol.iterator]()),function(e){var t=typeof e;if("object"!==t)return t;if(null===e)return"null";if(e===o)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 r=p&&e[Symbol.toStringTag];if("string"==typeof r)return r;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===m?"Map Iterator":s&&l===h?"Set Iterator":f&&l===v?"Array Iterator":_&&l===y?"String Iterator":null===l?"Object":Object.prototype.toString.call(e).slice(8,-1)})})),G="undefined"!=typeof wx&&"function"==typeof wx.getSystemInfoSync,b="undefined"!=typeof qq&&"function"==typeof qq.getSystemInfoSync,U="undefined"!=typeof tt&&"function"==typeof tt.getSystemInfoSync,q="undefined"!=typeof swan&&"function"==typeof swan.getSystemInfoSync,F="undefined"!=typeof my&&"function"==typeof my.getSystemInfoSync,x=G||b||U||q||F,V="undefined"!=typeof window&&!x,K=b?qq:U?tt:q?swan:F?my:G?wx:{},B=(N="web",oe?N="wechat":b?N="qqmp":U?N="ttmp":q?N="baidump":F?N="alipaymp":G&&(N="wxmp"),N),H=V&&window.navigator&&window.navigator.userAgent||"",j=/AppleWebKit\/([\d.]+)/i.exec(H),$=(j&&parseFloat(j.pop()),/iPad/i.test(H)),Y=/iPhone/i.test(H)&&!$,z=/iPod/i.test(H),W=Y||$||z,J=((R=H.match(/OS (\d+)_/i))&&R[1]&&R[1],/Android/i.test(H)),X=function(){var e=H.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}(),Q=(J&&/webkit/i.test(H),/Firefox/i.test(H),/Edge/i.test(H)),Z=!Q&&/Chrome/i.test(H),ee=(function(){var e=H.match(/Chrome\/(\d+)/);e&&e[1]&&parseFloat(e[1])}(),/MSIE/.test(H)),te=(/MSIE\s8\.0/.test(H),function(){var e=/MSIE\s(\d+)\.\d/.exec(H),t=e&&parseFloat(e[1]);return!t&&/Trident\/7.0/i.test(H)&&/rv:11.0/.test(H)&&(t=11),t}()),ne=(/Safari/i.test(H),/TBS\/\d+/i.test(H)),oe=(function(){var e=H.match(/TBS\/(\d+)/i);if(e&&e[1])e[1]}(),!ne&&/MQQBrowser\/\d+/i.test(H),!ne&&/ QQBrowser\/\d+/i.test(H),/(micromessenger|webbrowser)/i.test(H)),re=/Windows/i.test(H),ie=/MAC OS X/i.test(H),se=(/MicroMessenger/i.test(H),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});L="undefined"!=typeof console?console:void 0!==se&&se.console?se.console:"undefined"!=typeof window&&window.console?window.console:{};for(var ae=function(){},ue=["assert","clear","count","debug","dir","dirxml","error","exception","group","groupCollapsed","groupEnd","info","log","markTimeline","profile","profileEnd","table","time","timeEnd","timeStamp","trace","warn"],ce=ue.length;ce--;)w=ue[ce],console[w]||(L[w]=ae);L.methods=ue;var le=L,pe=0,ge=new Map;function de(){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 he={arguments2String:function(e){var t;if(1===e.length)t=de()+e[0];else{t=de();for(var n=0,o=e.length;n<o;n++)Ce(e[n])?Te(e[n])?t+=Ne(e[n]):t+=JSON.stringify(e[n]):t+=e[n],t+=" "}return t},debug:function(){if(pe<=-1){var e=this.arguments2String(arguments);le.debug(e)}},log:function(){if(pe<=0){var e=this.arguments2String(arguments);le.log(e)}},info:function(){if(pe<=1){var e=this.arguments2String(arguments);le.info(e)}},warn:function(){if(pe<=2){var e=this.arguments2String(arguments);le.warn(e)}},error:function(){if(pe<=3){var e=this.arguments2String(arguments);le.error(e)}},time:function(e){ge.set(e,Ae.now())},timeEnd:function(e){if(ge.has(e)){var t=Ae.now()-ge.get(e);return ge.delete(e),t}return le.warn("未找到对应label: ".concat(e,", 请在调用 logger.timeEnd 前,调用 logger.time")),0},setLevel:function(e){e<4&&le.log(de()+"set level from "+pe+" to "+e),pe=e}},me=function(e){return"file"===Se(e)},fe=function(e){return null!==e&&("number"==typeof e&&!isNaN(e-0)||"object"===n(e)&&e.constructor===Number)},ve=function(e){return"string"==typeof e},_e=function(e){return null!==e&&"object"===n(e)},ye=function(e){if("object"!==n(e)||null===e)return!1;var t=Object.getPrototypeOf(e);if(null===t)return!0;for(var o=t;null!==Object.getPrototypeOf(o);)o=Object.getPrototypeOf(o);return t===o},Me=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"array"===Se(e)},Ie=function(e){return void 0===e},Ce=function(e){return Me(e)||_e(e)},Ee=function(e){return"function"==typeof e},Te=function(e){return e instanceof Error},Se=function(e){return Object.prototype.toString.call(e).match(/^\[object (.*)\]$/)[1].toLowerCase()},De=function(e){if("string"!=typeof e)return!1;var t=e[0];return!/[^a-zA-Z0-9]/.test(t)},ke=0;Date.now||(Date.now=function(){return(new Date).getTime()});var Ae={now:function(){0===ke&&(ke=Date.now()-1);var e=Date.now()-ke;return e>4294967295?(ke+=4294967295,Date.now()-ke):e},utc:function(){return Math.round(Date.now()/1e3)}},Oe=function e(t,n,o,r){if(!Ce(t)||!Ce(n))return 0;for(var i,s=0,a=Object.keys(n),u=0,c=a.length;u<c;u++)if(i=a[u],!(Ie(n[i])||o&&o.includes(i)))if(Ce(t[i])&&Ce(n[i]))s+=e(t[i],n[i],o,r);else{if(r&&r.includes(n[i]))continue;t[i]!==n[i]&&(t[i]=n[i],s+=1)}return s},Ne=function(e){return JSON.stringify(e,["message","code"])},Re=function(){var e=new Date,t=e.toISOString(),n=e.getTimezoneOffset()/60,o="";return o=n<0?n>-10?"+0"+Math.abs(100*n):"+"+Math.abs(100*n):n>=10?"-"+100*n:"-0"+100*n,t.replace("Z",o)},Le=function(e){if(0===e.length)return 0;for(var t=0,n=0,o="undefined"!=typeof document&&void 0!==document.characterSet?document.characterSet:"UTF-8";void 0!==e[t];)n+=e[t++].charCodeAt[t]<=255?1:!1===o?3:2;return n},we=function(e){var t=e||99999999;return Math.round(Math.random()*t)},Pe="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",Ge=Pe.length,be=function(e,t){for(var n in e)if(e[n]===t)return!0;return!1},Ue={},qe=function(){if(x)return"https:";var e=window.location.protocol;return["http:","https:"].indexOf(e)<0&&(e="http:"),e},Fe=function(e){return-1===e.indexOf("http://")||-1===e.indexOf("https://")?"https://"+e:e.replace(/https|http/,"https")};function xe(e,t){Me(e)&&Me(t)?t.forEach((function(t){var n=t.key,o=t.value,r=e.find((function(e){return e.key===n}));r?r.value=o:e.push({key:n,value:o})})):he.warn("updateCustomField target 或 source 不是数组,忽略此次更新。")}var Ve=function(e){return e===t.GRP_WORK},Ke=function(e){return e===t.GRP_PUBLIC},Be=function(e){return e===t.GRP_MEETING},He=function(e){return e===t.GRP_AVCHATROOM},je=function(e){return ve(e)&&e===t.CONV_SYSTEM};function $e(e,t){var n={};return Object.keys(e).forEach((function(o){n[o]=t(e[o],o)})),n}function Ye(){return(65536*(1+Math.random())|0).toString(16).substring(1)}function ze(){return"".concat(Ye()+Ye()).concat(Ye()).concat(Ye()).concat(Ye()).concat(Ye()).concat(Ye()).concat(Ye())}function We(e){var t=e.originUrl,n=void 0===t?void 0:t,o=e.originWidth,r=e.originHeight,i=e.min,s=void 0===i?198:i,a=parseInt(o),u=parseInt(r),c={url:void 0,width:0,height:0};return(a<=u?a:u)<=s?(c.url=n,c.width=a,c.height=u):(u<=a?(c.width=Math.ceil(a*s/u),c.height=s):(c.width=s,c.height=Math.ceil(u*s/a)),n&&n.indexOf("?")>=0?c.url="".concat(n,198===s?"&imageView2/3/w/198/h/198":"&imageView2/3/w/720/h/720"):c.url="".concat(n,198===s?"?imageView2/3/w/198/h/198":"?imageView2/3/w/720/h/720")),Ie(n)?m(c,["url"]):c}function Je(e){var t=e[2];e[2]=e[1],e[1]=t;for(var n=0;n<e.length;n++)e[n].setType(n)}var Xe=Object.prototype.hasOwnProperty;function Qe(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(ye(e)){for(var t in e)if(Xe.call(e,t))return!1;return!0}return!("map"!==Se(e)&&!function(e){return"set"===Se(e)}(e)&&!me(e))&&0===e.size}function Ze(e,t,n){if(void 0===t)return!0;var o=!0;if("object"===P(t).toLowerCase())Object.keys(t).forEach((function(r){var i=1===e.length?e[0][r]:void 0;o=!!et(i,t[r],n,r)&&o}));else if("array"===P(t).toLowerCase())for(var r=0;r<t.length;r++)o=!!et(e[r],t[r],n,t[r].name)&&o;if(o)return o;throw new Error("Params validate failed.")}function et(e,t,n,o){if(void 0===t)return!0;var r=!0;return t.required&&Qe(e)&&(le.error("TIM [".concat(n,'] Missing required params: "').concat(o,'".')),r=!1),Qe(e)||P(e).toLowerCase()===t.type.toLowerCase()||(le.error("TIM [".concat(n,'] Invalid params: type check failed for "').concat(o,'".Expected ').concat(t.type,".")),r=!1),t.validator&&!t.validator(e)&&(le.error("TIM [".concat(n,"] Invalid params: custom validator check failed for params.")),r=!1),r}var nt={SUCCESS:"JoinedSuccess",WAIT_APPROVAL:"WaitAdminApproval"},ot={SUCCESS:0},rt={IS_LOGIN:1,IS_NOT_LOGIN:0},it={UNSEND:"unSend",SUCCESS:"success",FAIL:"fail"},st={NOT_START:"notStart",PENDING:"pengding",RESOLVED:"resolved",REJECTED:"rejected"},at=function(){function e(n){o(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}(),ut={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}},ct=1,lt=2,pt=3,gt=4,dt=5,ht=7,mt=8,ft=9,vt=10,_t=15,yt=255,Mt=2,It=0,Ct=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"},St={NONE:"AdminForbid_Type_None",SEND_OUT:"AdminForbid_Type_SendOut"},Dt={NEED_CONFIRM:"AllowType_Type_NeedConfirm",ALLOW_ANY:"AllowType_Type_AllowAny",DENY_ANY:"AllowType_Type_DenyAny"},kt=function(){function e(n){o(this,e),this._imageMemoryURL="",this._file=n.file,x?this.createImageDataASURLInWXMiniApp(n.file):this.createImageDataASURLInWeb(n.file),this._initImageInfoModel(),this.type=t.MSG_IMAGE,this._percent=0,this.content={imageFormat:n.imageFormat||ut.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=we(9999999),this.sizeType=t.type||0,this.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},setType:function(e){this.type=e},setImageUrl:function(e){e&&(this.imageUrl=e)},getImageUrl:function(){return this.imageUrl}}}},{key:"initImageInfoArray",value:function(e){for(var t=0,n=null,o=null;t<=2;)o=Ie(e)||Ie(e[t])?{type:0,size:0,width:0,height:0,url:""}:e[t],(n=new this._ImageInfoModel(o)).setSizeType(t+1),n.setType(t),this.addImageInfo(n),t++;this.updateAccessSideImageInfoArray()}},{key:"updateImageInfoArray",value:function(e){for(var t,n=this.content.imageInfoArray.length,o=0;o<n;o++)t=this.content.imageInfoArray[o],e[o].size&&(t.size=e[o].size),e[o].url&&t.setImageUrl(e[o].url),e[o].width&&(t.width=e[o].width),e[o].height&&(t.height=e[o].height)}},{key:"_autoFixUrl",value:function(){for(var e=this.content.imageInfoArray.length,t="",n="",o=["http","https"],r=null,i=0;i<e;i++)this.content.imageInfoArray[i].url&&""!==(r=this.content.imageInfoArray[i]).imageUrl&&(n=r.imageUrl.slice(0,r.imageUrl.indexOf("://")+1),t=r.imageUrl.slice(r.imageUrl.indexOf("://")+1),o.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=ut.IMAGE_FORMAT[e.toUpperCase()]||ut.IMAGE_FORMAT.UNKNOWN}},{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:"updateAccessSideImageInfoArray",value:function(){var e=this.content.imageInfoArray,t=e[0],n=t.width,o=void 0===n?0:n,r=t.height,i=void 0===r?0:r;0!==o&&0!==i&&(Je(e),Object.assign(e[2],We({originWidth:o,originHeight:i,min:720})))}},{key:"sendable",value:function(){return 0!==this.content.imageInfoArray.length&&(""!==this.content.imageInfoArray[0].imageUrl&&0!==this.content.imageInfoArray[0].size)}}]),e}(),At=function(){function e(n){o(this,e),this.type=t.MSG_FACE,this.content=n||null}return i(e,[{key:"sendable",value:function(){return null!==this.content}}]),e}(),Ot=function(){function e(n){o(this,e),this.type=t.MSG_AUDIO,this._percent=0,this.content={downloadFlag:2,second:n.second,size:n.size,url:n.url,remoteAudioUrl:n.url||"",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}(),Nt={from:!0,groupID:!0,groupName:!0,to:!0},Rt=function(){function e(n){o(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 he.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;case"onlineMemberInfo":break;case"memberNum":t.content[n]=e[n],t.content.memberCount=e[n];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 o=t[n];Nt[o]&&(this.content.groupProfile[o]=e[o])}}}]),e}(),Lt={from:!0,groupID:!0,name:!0,to:!0},wt=function(){function e(n){o(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 o=t[n];Lt[o]&&(this.content.groupProfile[o]=e[o])}}}]),e}(),Pt="https://cloud.tencent.com/document/product/",Gt="您可以在即时通信 IM 控制台的【开发辅助工具(https://console.cloud.tencent.com/im-detail/tool-usersig)】页面校验 UserSig。",bt="UserSig 非法,请使用官网提供的 API 重新生成 UserSig(".concat(Pt,"269/32688)。"),Ut={70001:"UserSig 已过期,请重新生成。建议 UserSig 有效期设置不小于24小时。",70002:"UserSig 长度为0请检查传入的 UserSig 是否正确。",70003:bt,70005:bt,70009:"UserSig 验证失败,可能因为生成 UserSig 时混用了其他 SDKAppID 的私钥或密钥导致,请使用对应 SDKAppID 下的私钥或密钥重新生成 UserSig(".concat(Pt,"269/32688)。"),70013:"请求中的 UserID 与生成 UserSig 时使用的 UserID 不匹配。".concat(Gt),70014:"请求中的 SDKAppID 与生成 UserSig 时使用的 SDKAppID 不匹配。".concat(Gt),70016:"密钥不存在UserSig 验证失败,请在即时通信 IM 控制台获取密钥(".concat(Pt,"269/32578#.E8.8E.B7.E5.8F.96.E5.AF.86.E9.92.A5)。"),70020:"SDKAppID 未找到,请在即时通信 IM 控制台确认应用信息。",70050:"UserSig 验证次数过于频繁。请检查 UserSig 是否正确并于1分钟后重新验证。".concat(Gt),70051:"帐号被拉入黑名单。",70052:"UserSig 已经失效,请重新生成,再次尝试。",70107:"因安全原因被限制登录,请不要频繁登录。",70169:"请求的用户帐号不存在。",70114:"".concat("服务端内部超时,请稍后重试。"),70202:"".concat("服务端内部超时,请稍后重试。"),70206:"请求中批量数量不合法。",70402:"参数非法,请检查必填字段是否填充,或者字段的填充是否满足协议要求。",70403:"请求失败,需要 App 管理员权限。",70398:"帐号数超限。如需创建多于100个帐号请将应用升级为专业版具体操作指引请参见购买指引(".concat(Pt,"269/32458)。"),70500:"".concat("服务端内部错误,请重试。"),71e3:"删除帐号失败。仅支持删除体验版帐号,您当前应用为专业版,暂不支持帐号删除。",20001:"请求包非法。",20002:"UserSig 或 A2 失效。",20003:"消息发送方或接收方 UserID 无效或不存在,请检查 UserID 是否已导入即时通信 IM。",20004:"网络异常,请重试。",20005:"".concat("服务端内部错误,请重试。"),20006:"触发发送".concat("单聊消息","之前回调App 后台返回禁止下发该消息。"),20007:"发送".concat("单聊消息",",被对方拉黑,禁止发送。消息发送状态默认展示为失败,您可以登录控制台修改该场景下的消息发送状态展示结果,具体操作请参见消息保留设置(").concat(Pt,"269/38656)。"),20009:"消息发送双方互相不是好友,禁止发送(配置".concat("单聊消息","校验好友关系才会出现)。"),20010:"发送".concat("单聊消息",",自己不是对方的好友(单向关系),禁止发送。"),20011:"发送".concat("单聊消息",",对方不是自己的好友(单向关系),禁止发送。"),20012:"发送方被禁言,该条消息被禁止发送。",20016:"消息撤回超过了时间限制默认2分钟。",20018:"删除漫游内部错误。",90001:"JSON 格式解析失败,请检查请求包是否符合 JSON 规范。",90002:"".concat("JSON 格式请求包体","中 MsgBody 不符合消息格式描述,或者 MsgBody 不是 Array 类型,请参考 TIMMsgElement 对象的定义(").concat(Pt,"269/2720#.E6.B6.88.E6.81.AF.E5.85.83.E7.B4.A0-timmsgelement)。"),90003:"".concat("JSON 格式请求包体","中缺少 To_Account 字段或者 To_Account 帐号不存在。"),90005:"".concat("JSON 格式请求包体","中缺少 MsgRandom 字段或者 MsgRandom 字段不是 Integer 类型。"),90006:"".concat("JSON 格式请求包体","中缺少 MsgTimeStamp 字段或者 MsgTimeStamp 字段不是 Integer 类型。"),90007:"".concat("JSON 格式请求包体","中 MsgBody 类型不是 Array 类型,请将其修改为 Array 类型。"),90008:"".concat("JSON 格式请求包体","中缺少 From_Account 字段或者 From_Account 帐号不存在。"),90009:"请求需要 App 管理员权限。",90010:"".concat("JSON 格式请求包体","不符合消息格式描述,请参考 TIMMsgElement 对象的定义(").concat(Pt,"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:"".concat("JSON 格式请求包体","中 SyncOtherMachine 字段不是 Integer 类型。"),90044:"".concat("JSON 格式请求包体","中 MsgLifeTime 字段不是 Integer 类型。"),90048:"请求的用户帐号不存在。",90054:"撤回请求中的 MsgKey 不合法。",90994:"".concat("服务端内部错误,请重试。"),90995:"".concat("服务端内部错误,请重试。"),91e3:"".concat("服务端内部错误,请重试。"),90992:"".concat("服务端内部错误,请重试。","如果所有请求都返回该错误码,且 App 配置了第三方回调,请检查 App 服务端是否正常向即时通信 IM 后台服务端返回回调结果。"),93e3:"JSON 数据包超长消息包体请不要超过8k。",91101:"Web 端长轮询被踢Web 端同时在线实例个数超出限制)。",10002:"".concat("服务端内部错误,请重试。"),10003:"请求中的接口名称错误,请核对接口名称并重试。",10004:"参数非法,请根据错误描述检查请求是否正确。",10005:"请求包体中携带的帐号数量过多。",10006:"操作频率限制,请尝试降低调用的频率。",10007:"操作权限不足,例如 Work ".concat("群组","中普通成员尝试执行踢人操作,但只有 App 管理员才有权限。"),10008:"请求非法,可能是请求中携带的签名信息验证不正确,请再次尝试。",10009:"该群不允许群主主动退出。",10010:"".concat("群组","不存在,或者曾经存在过,但是目前已经被解散。"),10011:"解析 JSON 包体失败,请检查包体的格式是否符合 JSON 格式。",10012:"发起操作的 UserID 非法,请检查发起操作的用户 UserID 是否填写正确。",10013:"被邀请加入的用户已经是群成员。",10014:"群已满员,无法将请求中的用户加入".concat("群组",",如果是批量加人,可以尝试减少加入用户的数量。"),10015:"找不到指定 ID 的".concat("群组","。"),10016:"App 后台通过第三方回调拒绝本次操作。",10017:"因被禁言而不能发送消息,请检查发送者是否被设置禁言。",10018:"应答包长度超过最大包长1MB请求的内容过多请尝试减少单次请求的数据量。",10019:"请求的用户帐号不存在。",10021:"".concat("群组"," ID 已被使用,请选择其他的").concat("群组"," ID。"),10023:"发消息的频率超限,请延长两次发消息时间的间隔。",10024:"此邀请或者申请请求已经被处理。",10025:"".concat("群组"," ID 已被使用,并且操作者为群主,可以直接使用。"),10026:"该 SDKAppID 请求的命令字已被禁用。",10030:"请求撤回的消息不存在。",10031:"消息撤回超过了时间限制默认2分钟。",10032:"请求撤回的消息不支持撤回操作。",10033:"".concat("群组","类型不支持消息撤回操作。"),10034:"该消息类型不支持删除操作。",10035:"直播群和在线成员广播大群不支持删除消息。",10036:"直播群创建数量超过了限制,请参考价格说明(".concat(Pt,"269/11673)购买预付费套餐“IM直播群”。"),10037:"单个用户可创建和加入的".concat("群组","数量超过了限制,请参考价格说明(").concat(Pt,"269/11673)购买或升级预付费套餐“单人可创建与加入").concat("群组","数”。"),10038:"群成员数量超过限制,请参考价格说明(".concat(Pt,"269/11673)购买或升级预付费套餐“扩展群人数上限”。"),10041:"该应用SDKAppID已配置不支持群消息撤回。"},qt=function(e){c(n,e);var t=_(n);function n(e){var r;return o(this,n),(r=t.call(this)).code=e.code,r.message=Ut[e.code]||e.message,r.data=e.data||{},r}return n}(h(Error)),Ft={NO_SDKAPPID:2e3,NO_ACCOUNT_TYPE:2001,NO_IDENTIFIER:2002,NO_USERSIG:2003,NO_TINYID:2022,NO_A2KEY:2023,USER_NOT_LOGGED_IN:2024,COS_UNDETECTED:2040,COS_GET_SIG_FAIL:2041,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,MESSAGE_MERGER_TYPE_INVALID:2450,MESSAGE_MERGER_KEY_INVALID:2451,MESSAGE_MERGER_DOWNLOAD_FAIL:2452,MESSAGE_FORWARD_TYPE_INVALID:2453,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,MEMBER_NOT_IN_GROUP:2623,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,INVALID_OPERATION:2905,SDK_IS_NOT_READY:2999,LONG_POLL_KICK_OUT:91101,MESSAGE_A2KEY_EXPIRED:20002,ACCOUNT_A2KEY_EXPIRED:70001,LONG_POLL_API_PARAM_ERROR:90001},xt="无 SDKAppID",Vt="无 accountType",Kt="无 userID",Bt="无 userSig",Ht="无 tinyID",jt="无 a2key",$t="用户未登录",Yt="未检测到 COS 上传插件",zt="获取 COS 预签名 URL 失败",Wt="消息发送失败",Jt="MessageController.constructor() 需要参数 options",Xt="需要 Message 的实例",Qt='Message.conversationType 只能为 "C2C" 或 "GROUP"',Zt="无法发送空文件",en="回调函数运行时遇到错误,请检查接入侧代码",tn="消息撤回失败",nn="请先选择一个图片",on="只允许上传 jpg png jpeg gif bmp格式的图片",rn="图片大小超过20M无法发送",sn="语音上传失败",an="语音大小大于20M无法发送",un="视频上传失败",cn="视频大小超过100M无法发送",ln="只允许上传 mp4 格式的视频",pn="文件上传失败",gn="请先选择一个文件",dn="文件大小超过100M无法发送 ",hn="缺少必要的参数文件 URL",mn="非合并消息",fn="合并消息的 messageKey 无效",vn="下载合并消息失败",_n="选择的消息类型(如群提示消息)不可以转发",yn="没有找到相应的会话,请检查传入参数",Mn="没有找到相应的用户或群组,请检查传入参数",In="未记录的会话类型",Cn="非法的群类型,请检查传入参数",En="不能加入 Work 类型的群组",Tn="AVChatRoom 类型的群组不能转让群主",Sn="不能把群主转让给自己",Dn="不能解散 Work 类型的群组",kn="用户不在该群组内",An="加群失败,请检查传入参数或重试",On="AVChatRoom 类型的群不支持邀请群成员",Nn="非 AVChatRoom 类型的群组不允许匿名加群,请先登录后再加群",Rn="不能在 AVChatRoom 类型的群组踢人",Ln="你不是群主,只有群主才有权限操作",wn="不能在 Work / AVChatRoom 类型的群中设置群成员身份",Pn="不合法的群成员身份,请检查传入参数",Gn="不能设置自己的群成员身份,请检查传入参数",bn="不能将自己禁言,请检查传入参数",Un="传入 deleteFriend 接口的参数无效",qn="传入 updateMyProfile 接口的参数无效",Fn="updateMyProfile 无标配资料字段或自定义资料字段",xn="传入 addToBlacklist 接口的参数无效",Vn="传入 removeFromBlacklist 接口的参数无效",Kn="不能拉黑自己",Bn="网络层初始化错误,缺少 URL 参数",Hn="打包错误,未定义的 serverName",jn="未定义的 packageConfig",$n="未连接到网络",Yn="不规范的参数名称",zn="_syncOffset 丢失",Wn="获取 longpolling id 失败",Jn="无效操作,如调用了未定义或者未实现的方法等",Xn="接口需要 SDK 处于 ready 状态后才能调用",Qn=["jpg","jpeg","gif","png","bmp"],Zn=["mp4"],eo=1,to=2,no=3,oo=255,ro=function(){function e(n){o(this,e);var r=this._check(n);if(r instanceof qt)throw r;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(x)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 qt({code:Ft.MESSAGE_FILE_SIZE_LIMIT,message:"".concat(dn,": ").concat(104857600," bytes")})}},{key:"sendable",value:function(){return""!==this.content.fileUrl&&(""!==this.content.fileName&&0!==this.content.fileSize)}}]),e}(),io=function(){function e(n){o(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}(),so=function(){function e(n){o(this,e),this.type=t.MSG_VIDEO,this._percent=0,this.content={remoteVideoUrl:n.remoteVideoUrl||n.videoUrl||"",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}(),ao=function e(n){o(this,e),this.type=t.MSG_GEO,this.content=n},uo=function(){function e(n){if(o(this,e),this.from=n.from,this.messageSender=n.from,this.time=n.time,this.messageSequence=n.sequence,this.clientSequence=n.clientSequence||n.sequence,this.messageRandom=n.random,n.ID)this.nick=n.nick||"",this.avatar=n.avatar||"",this.messageBody=[{type:n.type,payload:n.payload}],n.conversationType.startsWith(t.CONV_C2C)?this.receiverUserID=n.to:n.conversationType.startsWith(t.CONV_GROUP)&&(this.receiverGroupID=n.to),this.messageReceiver=n.to;else{this.nick=n.nick||"",this.avatar=n.avatar||"",this.messageBody=[];var r=n.elements[0].type,i=n.elements[0].content;this._patchRichMediaPayload(r,i),r===t.MSG_MERGER?this.messageBody.push({type:r,payload:new co(i).content}):this.messageBody.push({type:r,payload:i}),n.groupID&&(this.receiverGroupID=n.groupID,this.messageReceiver=n.groupID),n.to&&(this.receiverUserID=n.to,this.messageReceiver=n.to)}}return i(e,[{key:"_patchRichMediaPayload",value:function(e,n){e===t.MSG_IMAGE?n.imageInfoArray.forEach((function(e){!e.imageUrl&&e.url&&(e.imageUrl=e.url,e.sizeType=e.type,1===e.type?e.type=0:3===e.type&&(e.type=1))})):e===t.MSG_VIDEO?!n.remoteVideoUrl&&n.videoUrl&&(n.remoteVideoUrl=n.videoUrl):e===t.MSG_AUDIO?!n.remoteAudioUrl&&n.url&&(n.remoteAudioUrl=n.url):e===t.MSG_FILE&&!n.fileUrl&&n.url&&(n.fileUrl=n.url,n.url=void 0)}}]),e}(),co=function(){function e(n){if(o(this,e),this.type=t.MSG_MERGER,this.content={downloadKey:"",pbDownloadKey:"",messageList:[],title:"",abstractList:[],compatibleText:"",version:0,layersOverLimit:!1},n.downloadKey)this.content.downloadKey=n.downloadKey,this.content.pbDownloadKey=n.pbDownloadKey;else if(Qe(n.messageList))1===n.layersOverLimit&&(this.content.layersOverLimit=!0);else{var r=n.messageList,i=n.title,s=n.abstractList,a=n.compatibleText,u=n.version,c=[];r.forEach((function(e){if(!Qe(e)){var t=new uo(e);c.push(t)}})),this.content.messageList=c,this.content.title=i,this.content.abstractList=s,this.content.compatibleText=a,this.content.version=u||0}he.debug("MergerElement.content:",this.content)}return i(e,[{key:"sendable",value:function(){return!Qe(this.content.messageList)||!Qe(this.content.downloadKey)}}]),e}(),lo={1:t.MSG_PRIORITY_HIGH,2:t.MSG_PRIORITY_NORMAL,3:t.MSG_PRIORITY_LOW,4:t.MSG_PRIORITY_LOWEST},po=function(){function e(n){o(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||we(),this.priority=this._computePriority(n.priority),this.nick=n.nick||"",this.avatar=n.avatar||"",this.isPeerRead=!1,this.nameCard="",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||it.SUCCESS,this._onlineOnlyFlag=!1,this._groupAtInfoList=[],this._relayFlag=!1,this.atUserList=[],this.reInitialize(n.currentUser),this.extractGroupInfo(n.groupProfile||null),this.handleGroupAtInfo(n)}return i(e,[{key:"getElements",value:function(){return this._elements}},{key:"extractGroupInfo",value:function(e){if(null!==e){ve(e.nick)&&(this.nick=e.nick),ve(e.avatar)&&(this.avatar=e.avatar);var t=e.messageFromAccountExtraInformation;ye(t)&&ve(t.nameCard)&&(this.nameCard=t.nameCard)}}},{key:"handleGroupAtInfo",value:function(e){var n=this;e.payload&&e.payload.atUserList&&e.payload.atUserList.forEach((function(e){e!==t.MSG_AT_ALL?(n._groupAtInfoList.push({groupAtAllFlag:0,groupAtUserID:e}),n.atUserList.push(e)):(n._groupAtInfoList.push({groupAtAllFlag:1}),n.atUserList.push(t.MSG_AT_ALL))})),Me(e.groupAtInfo)&&e.groupAtInfo.forEach((function(e){1===e.groupAtAllFlag?n.atUserList.push(e.groupAtUserID):2===e.groupAtAllFlag&&n.atUserList.push(t.MSG_AT_ALL)}))}},{key:"getGroupAtInfoList",value:function(){return this._groupAtInfoList}},{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?it.SUCCESS:it.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?(he.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 he.error("autoincrementIndex(string: key) need key parameter"),!1;if(void 0===Ue[e]){var t=new Date,n="3".concat(t.getHours()).slice(-2),o="0".concat(t.getMinutes()).slice(-2),r="0".concat(t.getSeconds()).slice(-2);Ue[e]=parseInt([n,o,r,"0001"].join("")),n=null,o=null,r=null,he.warn("utils.autoincrementIndex() create new sequence : ".concat(e," = ").concat(Ue[e]))}return Ue[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,o="",r=this.conversationType;r!==t.CONV_SYSTEM?(o=r===t.CONV_C2C?e===this.from?n:this.from:this.to,this.conversationID="".concat(r).concat(o)):this.conversationID=t.CONV_SYSTEM}},{key:"isElement",value:function(e){return e instanceof at||e instanceof kt||e instanceof At||e instanceof Ot||e instanceof ro||e instanceof so||e instanceof Rt||e instanceof wt||e instanceof io||e instanceof ao||e instanceof co}},{key:"setElement",value:function(e){var n=this;if(this.isElement(e))return this._elements=[e],void this._initProxy();var o=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;case t.MSG_MERGER:n.setMergerElement(e.content);break;default:he.warn(e.type,e.content,"no operation......")}};if(Me(e))for(var r=0;r<e.length;r++)o(e[r]);else o(e);this._initProxy()}},{key:"clearElement",value:function(){this._elements.length=0}},{key:"setTextElement",value:function(e){var t="string"==typeof e?e:e.text,n=new at({text:t});this._elements.push(n)}},{key:"setImageElement",value:function(e){var t=new kt(e);this._elements.push(t)}},{key:"setAudioElement",value:function(e){var t=new Ot(e);this._elements.push(t)}},{key:"setFileElement",value:function(e){var t=new ro(e);this._elements.push(t)}},{key:"setVideoElement",value:function(e){var t=new so(e);this._elements.push(t)}},{key:"setGEOElement",value:function(e){var t=new ao(e);this._elements.push(t)}},{key:"setCustomElement",value:function(e){var t=new io(e);this._elements.push(t)}},{key:"setGroupTipElement",value:function(e){var n={},o=e.operationType;Qe(e.memberInfoList)||o!==t.GRP_TIP_MBR_JOIN&&o!==t.GRP_TIP_MBR_KICKED_OUT?e.operatorInfo&&(n=e.operatorInfo):n=e.memberInfoList[0];var r=n,i=r.nick,s=r.avatar;ve(i)&&(this.nick=i),ve(s)&&(this.avatar=s);var a=new Rt(e);this._elements.push(a)}},{key:"setGroupSystemNoticeElement",value:function(e){var t=new wt(e);this._elements.push(t)}},{key:"setFaceElement",value:function(e){var t=new At(e);this._elements.push(t)}},{key:"setMergerElement",value:function(e){var t=new co(e);this._elements.push(t)}},{key:"setIsRead",value:function(e){this.isRead=e}},{key:"setRelayFlag",value:function(e){this._relayFlag=e}},{key:"getRelayFlag",value:function(){return this._relayFlag}},{key:"setOnlineOnlyFlag",value:function(e){this._onlineOnlyFlag=e}},{key:"getOnlineOnlyFlag",value:function(){return this._onlineOnlyFlag}},{key:"_computePriority",value:function(e){if(Ie(e))return t.MSG_PRIORITY_NORMAL;if(ve(e)&&-1!==Object.values(lo).indexOf(e))return e;if(fe(e)){var n=""+e;if(-1!==Object.keys(lo).indexOf(n))return lo[n]}return t.MSG_PRIORITY_NORMAL}},{key:"setNickAndAvatar",value:function(e){var t=e.nick,n=e.avatar;ve(t)&&(this.nick=t),ve(n)&&(this.avatar=n)}},{key:"elements",get:function(){return he.warn("Message 实例的 elements 属性即将废弃,请尽快修改。使用 type 和 payload 属性处理单条消息,兼容组合消息使用 _elements 属性!!!"),this._elements}}]),e}(),go=function(e){return!!e&&(!!(function(e){return ve(e)&&e.slice(0,3)===t.CONV_C2C}(e)||function(e){return ve(e)&&e.slice(0,5)===t.CONV_GROUP}(e)||je(e))||(console.warn("非法的会话 ID:".concat(e,"。会话 ID 组成方式C2C + userID单聊GROUP + groupID群聊@TIM#SYSTEM系统通知会话")),!1))},ho="请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#",mo=function(e){return e.param?"".concat(e.api," ").concat(e.param," ").concat(e.desc,"。").concat(ho).concat(e.api):"".concat(e.api," ").concat(e.desc,"。").concat(ho).concat(e.api)},fo={type:"String",required:!0},vo={type:"Array",required:!0},_o={type:"Object",required:!0},yo={login:{userID:fo,userSig:fo},addToBlacklist:{userIDList:vo},on:[{name:"eventName",type:"String",validator:function(e){return"string"==typeof e&&0!==e.length||(console.warn(mo({api:"on",param:"eventName",desc:"类型必须为 String且不能为空"})),!1)}},{name:"handler",type:"Function",validator:function(e){return"function"!=typeof e?(console.warn(mo({api:"on",param:"handler",desc:"参数必须为 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(mo({api:"once",param:"eventName",desc:"类型必须为 String且不能为空"})),!1)}},{name:"handler",type:"Function",validator:function(e){return"function"!=typeof e?(console.warn(mo({api:"once",param:"handler",desc:"参数必须为 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(mo({api:"off",param:"eventName",desc:"类型必须为 String且不能为空"})),!1)}},{name:"handler",type:"Function",validator:function(e){return"function"!=typeof e?(console.warn(mo({api:"off",param:"handler",desc:"参数必须为 Function"})),!1):(""===e.name&&console.warn("off 接口无法为匿名函数取消监听事件。"),!0)}}],sendMessage:[u({name:"message"},_o)],getMessageList:{conversationID:u(u({},fo),{},{validator:function(e){return go(e)}}),nextReqMessageID:{type:"String"},count:{type:"Number",validator:function(e){return!(!Ie(e)&&!/^[1-9][0-9]*$/.test(e))||(console.warn(mo({api:"getMessageList",param:"count",desc:"必须为正整数"})),!1)}}},setMessageRead:{conversationID:u(u({},fo),{},{validator:function(e){return go(e)}})},getConversationProfile:[u(u({name:"conversationID"},fo),{},{validator:function(e){return go(e)}})],deleteConversation:[u(u({name:"conversationID"},fo),{},{validator:function(e){return go(e)}})],getGroupList:{groupProfileFilter:{type:"Array"}},getGroupProfile:{groupID:fo,groupCustomFieldFilter:{type:"Array"},memberCustomFieldFilter:{type:"Array"}},getGroupProfileAdvance:{groupIDList:vo},createGroup:{name:fo},joinGroup:{groupID:fo,type:{type:"String"},applyMessage:{type:"String"}},quitGroup:[u({name:"groupID"},fo)],handleApplication:{message:_o,handleAction:fo,handleMessage:{type:"String"}},changeGroupOwner:{groupID:fo,newOwnerID:fo},updateGroupProfile:{groupID:fo,muteAllMembers:{type:"Boolean"}},dismissGroup:[u({name:"groupID"},fo)],searchGroupByID:[u({name:"groupID"},fo)],getGroupMemberList:{groupID:fo,offset:{type:"Number"},count:{type:"Number"}},getGroupMemberProfile:{groupID:fo,userIDList:vo,memberCustomFieldFilter:{type:"Array"}},addGroupMember:{groupID:fo,userIDList:vo},setGroupMemberRole:{groupID:fo,userID:fo,role:fo},setGroupMemberMuteTime:{groupID:fo,userID:fo,muteTime:{type:"Number",validator:function(e){return e>=0}}},setGroupMemberNameCard:{groupID:fo,userID:{type:"String"},nameCard:u(u({},fo),{},{validator:function(e){return!0!==/^\s+$/.test(e)}})},setMessageRemindType:{groupID:fo,messageRemindType:fo},setGroupMemberCustomField:{groupID:fo,userID:{type:"String"},memberCustomField:vo},deleteGroupMember:{groupID:fo},createTextMessage:{to:fo,conversationType:fo,payload:u(u({},_o),{},{validator:function(e){return ye(e)?ve(e.text)?0!==e.text.length||(console.warn(mo({api:"createTextMessage",desc:"消息内容不能为空"})),!1):(console.warn(mo({api:"createTextMessage",param:"payload.text",desc:"类型必须为 String"})),!1):(console.warn(mo({api:"createTextMessage",param:"payload",desc:"类型必须为 plain object"})),!1)}})},createTextAtMessage:{to:fo,conversationType:fo,payload:u(u({},_o),{},{validator:function(e){return ye(e)?ve(e.text)?0===e.text.length?(console.warn(mo({api:"createTextAtMessage",desc:"消息内容不能为空"})),!1):!(e.atUserList&&!Me(e.atUserList))||(console.warn(mo({api:"createTextAtMessage",desc:"payload.atUserList 类型必须为数组"})),!1):(console.warn(mo({api:"createTextAtMessage",param:"payload.text",desc:"类型必须为 String"})),!1):(console.warn(mo({api:"createTextAtMessage",param:"payload",desc:"类型必须为 plain object"})),!1)}})},createCustomMessage:{to:fo,conversationType:fo,payload:u(u({},_o),{},{validator:function(e){return ye(e)?e.data&&!ve(e.data)?(console.warn(mo({api:"createCustomMessage",param:"payload.data",desc:"类型必须为 String"})),!1):e.description&&!ve(e.description)?(console.warn(mo({api:"createCustomMessage",param:"payload.description",desc:"类型必须为 String"})),!1):!(e.extension&&!ve(e.extension))||(console.warn(mo({api:"createCustomMessage",param:"payload.extension",desc:"类型必须为 String"})),!1):(console.warn(mo({api:"createCustomMessage",param:"payload",desc:"类型必须为 plain object"})),!1)}})},createImageMessage:{to:fo,conversationType:fo,payload:u(u({},_o),{},{validator:function(e){if(!ye(e))return console.warn(mo({api:"createImageMessage",param:"payload",desc:"类型必须为 plain object"})),!1;if(Ie(e.file))return console.warn(mo({api:"createImageMessage",param:"payload.file",desc:"不能为 undefined"})),!1;if(V){if(!(e.file instanceof HTMLInputElement||me(e.file)))return console.warn(mo({api:"createImageMessage",param:"payload.file",desc:"类型必须是 HTMLInputElement 或 File"})),!1;if(e.file instanceof HTMLInputElement&&0===e.file.files.length)return console.warn(mo({api:"createImageMessage",param:"payload.file",desc:"您没有选择文件,无法发送"})),!1}return!0},onProgress:{type:"Function",required:!1,validator:function(e){return Ie(e)&&console.warn(mo({api:"createImageMessage",desc:"没有 onProgress 回调,您将无法获取上传进度"})),!0}}})},createAudioMessage:{to:fo,conversationType:fo,payload:u(u({},_o),{},{validator:function(e){return!!ye(e)||(console.warn(mo({api:"createAudioMessage",param:"payload",desc:"类型必须为 plain object"})),!1)}}),onProgress:{type:"Function",required:!1,validator:function(e){return Ie(e)&&console.warn(mo({api:"createAudioMessage",desc:"没有 onProgress 回调,您将无法获取上传进度"})),!0}}},createVideoMessage:{to:fo,conversationType:fo,payload:u(u({},_o),{},{validator:function(e){if(!ye(e))return console.warn(mo({api:"createVideoMessage",param:"payload",desc:"类型必须为 plain object"})),!1;if(Ie(e.file))return console.warn(mo({api:"createVideoMessage",param:"payload.file",desc:"不能为 undefined"})),!1;if(V){if(!(e.file instanceof HTMLInputElement||me(e.file)))return console.warn(mo({api:"createVideoMessage",param:"payload.file",desc:"类型必须是 HTMLInputElement 或 File"})),!1;if(e.file instanceof HTMLInputElement&&0===e.file.files.length)return console.warn(mo({api:"createVideoMessage",param:"payload.file",desc:"您没有选择文件,无法发送"})),!1}return!0}}),onProgress:{type:"Function",required:!1,validator:function(e){return Ie(e)&&console.warn(mo({api:"createVideoMessage",desc:"没有 onProgress 回调,您将无法获取上传进度"})),!0}}},createFaceMessage:{to:fo,conversationType:fo,payload:u(u({},_o),{},{validator:function(e){return ye(e)?fe(e.index)?!!ve(e.data)||(console.warn(mo({api:"createFaceMessage",param:"payload.data",desc:"类型必须为 String"})),!1):(console.warn(mo({api:"createFaceMessage",param:"payload.index",desc:"类型必须为 Number"})),!1):(console.warn(mo({api:"createFaceMessage",param:"payload",desc:"类型必须为 plain object"})),!1)}})},createFileMessage:{to:fo,conversationType:fo,payload:u(u({},_o),{},{validator:function(e){if(!ye(e))return console.warn(mo({api:"createFileMessage",param:"payload",desc:"类型必须为 plain object"})),!1;if(Ie(e.file))return console.warn(mo({api:"createFileMessage",param:"payload.file",desc:"不能为 undefined"})),!1;if(V){if(!(e.file instanceof HTMLInputElement||me(e.file)))return console.warn(mo({api:"createFileMessage",param:"payload.file",desc:"类型必须是 HTMLInputElement 或 File"})),!1;if(e.file instanceof HTMLInputElement&&0===e.file.files.length)return console.warn(mo({api:"createFileMessage",desc:"您没有选择文件,无法发送"})),!1}return!0}}),onProgress:{type:"Function",required:!1,validator:function(e){return Ie(e)&&console.warn(mo({api:"createFileMessage",desc:"没有 onProgress 回调,您将无法获取上传进度"})),!0}}},createMergerMessage:{to:fo,conversationType:fo,payload:u(u({},_o),{},{validator:function(e){if(Qe(e.messageList))return console.warn(mo({api:"createMergerMessage",desc:"不能为空数组"})),!1;if(Qe(e.compatibleText))return console.warn(mo({api:"createMergerMessage",desc:"类型必须为 String且不能为空"})),!1;var t=!1;return e.messageList.forEach((function(e){e.status===it.FAIL&&(t=!0)})),!t||(console.warn(mo({api:"createMergerMessage",desc:"不支持合并已发送失败的消息"})),!1)}})},forwardMessage:{to:fo,conversationType:fo,payload:u(u({},_o),{},{validator:function(e){return e instanceof po?e.conversationType===t.CONV_SYSTEM?(console.warn("forwardMessage 不能转发系统会话消息,只能转发单聊消息或群消息"),!1):!0!==e.isRevoked||(console.warn("forwardMessage 不能转发已被撤回的消息"),!1):(console.warn("forwardMessage 参数 message 必须为 Message(".concat(ho,"Message.html) 实例。")),!1)}})},revokeMessage:[u(u({name:"message"},_o),{},{validator:function(e){return e instanceof po?e.conversationType===t.CONV_SYSTEM?(console.warn("revokeMessage 不能撤回系统会话消息,只能撤回单聊消息或群消息"),!1):!0!==e.isRevoked||(console.warn("revokeMessage 消息已经被撤回,请勿重复操作"),!1):(console.warn("revokeMessage 参数 message 必须为 Message(".concat(ho,"Message.html) 实例。")),!1)}})],getUserProfile:{userIDList:{type:"Array",validator:function(e){return Me(e)?(0===e.length&&console.warn(mo({api:"getUserProfile",param:"userIDList",desc:"不能为空数组"})),!0):(console.warn(mo({api:"getUserProfile",param:"userIDList",desc:"必须为数组"})),!1)}}},updateMyProfile:{profileCustomField:{type:"Array",validator:function(e){return!!Ie(e)||(!!Me(e)||(console.warn(mo({api:"updateMyProfile",param:"profileCustomField",desc:"必须为数组"})),!1))}}}},Mo={login:"login",logout:"logout",on:"on",once:"once",off:"off",setLogLevel:"setLogLevel",registerPlugin:"registerPlugin",destroy:"destroy",createTextMessage:"createTextMessage",createTextAtMessage:"createTextAtMessage",createImageMessage:"createImageMessage",createAudioMessage:"createAudioMessage",createVideoMessage:"createVideoMessage",createCustomMessage:"createCustomMessage",createFaceMessage:"createFaceMessage",createFileMessage:"createFileMessage",createMergerMessage:"createMergerMessage",downloadMergerMessage:"downloadMergerMessage",createForwardMessage:"createForwardMessage",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",getGroupOnlineMemberCount:"getGroupOnlineMemberCount",getMyProfile:"getMyProfile",getUserProfile:"getUserProfile",updateMyProfile:"updateMyProfile",getBlacklist:"getBlacklist",addToBlacklist:"addToBlacklist",removeFromBlacklist:"removeFromBlacklist",getFriendList:"getFriendList",callExperimentalAPI:"callExperimentalAPI"},Io="1.7.3",Co="537048168",Eo="10",To="protobuf",So="json",Do=1,ko=2,Ao=3,Oo=4,No={HOST:{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"},OVERSEA_PRODUCTION:{COMMON:"https://api.im.qcloud.com",PIC:"https://api.im.qcloud.com",COS:"https://api.im.qcloud.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;e===Do?this.CURRENT=this.SANDBOX:e===ko?this.CURRENT=this.TEST:e===Ao?this.CURRENT=this.PRODUCTION:e===Oo&&(this.CURRENT=this.OVERSEA_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:"group_open_long_polling_http_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",IM_LONG_MESSAGE:"im_long_msg",IM_COS_MESSAGE:"im_cos_msg"},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",DELETE_GROUP_AT_TIPS:"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",COS_PRE_SIG:"pre_sig",TIM_WEB_REPORT:"tim_web_report",BIG_DATA_HALLWAY_AUTH_KEY:"authkey",GET_ONLINE_MEMBER_NUM:"get_online_member_num",DOWNLOAD_MERGER_MESSAGE:"get_relay_json_msg",UPLOAD_MERGER_MESSAGE:"save_relay_json_msg"},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:"v4",group_open_long_polling_http_svc:"v4",group_open_long_polling_http_noauth_svc:"v4",imopenstat:"v4",im_cos_sign_svr:"v4",im_cos_msg:"v4",webim:"v4",im_long_msg:"v4"}};No.HOST.setCurrent(Ao);var Ro={request:{toAccount:"To_Account",fromAccount:"From_Account",to:"To_Account",from:"From_Account",groupID:"GroupId",groupAtUserID:"GroupAt_Account",receiverUserID:"To_Account",receiverGroupID:"GroupId",messageSender:"SenderId",messageReceiver:"ReceiverId",nick:"From_AccountNick",avatar:"From_AccountHeadurl",messageNumber:"MsgNum",pbDownloadKey:"PbMsgKey",downloadKey:"JsonMsgKey"},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",From_AccountNick:"nick",From_AccountHeadurl:"avatar",GroupWithdrawInfoArray:"revokedInfos",GroupReadInfoArray:"groupMessageReadNotice",LastReadMsgSeq:"lastMessageSeq",WithdrawC2cMsgNotify:"c2cMessageRevokedNotify",C2cWithdrawInfoArray:"revokedInfos",C2cReadedReceipt:"c2cMessageReadReceipt",ReadC2cMsgNotify:"c2cMessageReadNotice",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",GroupAt_Account:"groupAtUserID",MsgNum:"messageNumber",PbMsgKey:"pbDownloadKey",JsonMsgKey:"downloadKey",FromAccount:"from",ToAccount:"to",FromAccountNick:"nick",FromAccountHeadurl:"avatar"},ignoreKeyWord:["C2C","ID","USP"]},Lo="_contextWasUpdated",wo="_contextWasReset",Po="_a2KeyAndTinyIDUpdated",Go="_specifiedConfigUpdated",bo="_noticeIsSynchronizing",Uo="_noticeIsSynchronized",qo="_messageSent",Fo="_syncMessageProcessing",xo="_syncMessageFinished",Vo="_receiveInstantMessage",Ko="_receiveGroupInstantMessage",Bo="_receveGroupSystemNotice",Ho="_messageRevoked",jo="_longPollGetIDFailed",$o="_longPollRequestFailed",Yo="_longPollResponseOK",zo="_longPollKickedOut",Wo="_longPollMitipuleDeviceKickedOut",Jo="_longPollGetNewC2CNotice",Xo="_longPollGetNewGroupMessages",Qo="_longPollGetNewGroupTips",Zo="_longPollGetNewGroupAtTips",er="_longPollGetNewGroupNotice",tr="_longPollGetNewFriendMessages",nr="_longPollProfileModified",or=" _longpollGroupMessageRevoked",rr=" _longpollGroupMessageReadNotice",ir="_longpollC2CMessageRevoked",sr="_longpollC2CMessageReadReceipt",ar="_longpollC2CMessageReadNotice",ur="_avlongPollRequestFailed",cr="_avlongPollResponseOK",lr="_onGroupListUpdated",pr="_loginSuccess",gr="_signLogoutExcuting",dr="_logoutSuccess",hr="_a2keyExpired",mr="_errorHasBeenDetected",fr="_onConversationListUpdated",vr="_onConversationListProfileUpdated",_r="_conversationDeleted",yr="onProfileUpdated",Mr="joinAVChatRoomSuccess",Ir="joinAVChatRoomSuccessNoAuth",Cr="_sdkStateReady",Er="_sdkReload";function Tr(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=Sr(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 Sr=function(e){for(var t=!1,n=!1,o=!1,r=0;r<e.length;r++){var i=e[r];t&&/[a-zA-Z]/.test(i)&&i.toUpperCase()===i?(e=e.slice(0,r)+"-"+e.slice(r),t=!1,o=n,n=!0,r++):n&&o&&/[a-zA-Z]/.test(i)&&i.toLowerCase()===i?(e=e.slice(0,r-1)+"-"+e.slice(r-1),o=n,n=!1,t=!0):(t=i.toLowerCase()===i&&i.toUpperCase()!==i,o=n,n=i.toUpperCase()===i&&i.toLowerCase()!==i)}return e};function Dr(e,t,n){var o=[],r=0,i=function e(t,n){if(++r>100)return r--,t;if(Me(t)){var i=t.map((function(t){return _e(t)?e(t,n):t}));return r--,i}if(_e(t)){var s=(a=t,u=function(e,t){if(!De(t))return!1;if((s=t)!==Tr(s)){for(var r=!0,i=0;i<Ro.ignoreKeyWord.length;i++)if(t.includes(Ro.ignoreKeyWord[i])){r=!1;break}r&&o.push(t)}var s;return Ie(n[t])?function(e){return"OPPOChannelID"===e?e:e[0].toUpperCase()+Tr(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=$e(s,(function(t,o){return Me(t)||_e(t)?e(t,n):t})),r--,s}var a,u,c}(e,t=u(u({},Ro.request),t));return o.length>0&&n.innerEmitter.emit(mr,{code:Ft.CONVERTOR_IRREGULAR_PARAMS,message:Yn}),i}function kr(e,t){if(t=u(u({},Ro.response),t),Me(e))return e.map((function(e){return _e(e)?kr(e,t):e}));if(_e(e)){var n=(o=e,r=function(e,n){return Ie(t[n])?Tr(n):t[n]},i={},Object.keys(o).forEach((function(e){i[r(o[e],e)]=o[e]})),i);return n=$e(n,(function(e){return Me(e)||_e(e)?kr(e,t):e}))}var o,r,i}var Ar=function(){function e(t){var n=this;o(this,e),this.url="",this.requestData=null,this.method=t.method||"POST",this.callback=function(e){return kr(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 No.NAME)if(Object.prototype.hasOwnProperty.call(No.NAME,t))switch(e=No.NAME[t]){case No.NAME.PIC:this._serverMap[e]=No.HOST.CURRENT.PIC;break;case No.NAME.IM_COS_SIGN:this._serverMap[e]=No.HOST.CURRENT.COS;break;default:this._serverMap[e]=No.HOST.CURRENT.COMMON}}},{key:"_getHost",value:function(e){if(void 0!==this._serverMap[e])return this._serverMap[e];throw new qt({code:Ft.NETWORK_UNDEFINED_SERVER_NAME,message:Hn})}},{key:"_initializeURL",value:function(e){var t=e.serverName,n=e.cmd,o=this._getHost(t),r="".concat(o,"/").concat(No.NAME_VERSION[t],"/").concat(t,"/").concat(n);r+="?".concat(this._getQueryString(e.queryString)),this.url=r}},{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 o in e)Object.prototype.hasOwnProperty.call(e,o)&&De(o)&&null!==e[o]&&("object"!==n(e[o])?t[o]=e[o]:t[o]=this._requestDataCleaner.bind(this)(e[o]));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 Or(e){this.mixin(e)}Or.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 Nr=function(){function e(t){o(this,e),Or.mixin(this),this.tim=t}return i(e,[{key:"isLoggedIn",value:function(){return this.tim.context.login===rt.IS_LOGIN||!!this.tim.context.a2Key}},{key:"createTransportCapsule",value:function(e){var t=this.tim.packageConfig.get(e);return t?new Ar(t):null}},{key:"request",value:function(e){var t=this.createTransportCapsule(e);return t||he.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(){he.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(){return B}}]),e}(),Rr=function(){function e(t,n){o(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(Lo,{key:e,value:t})}},{key:"reset",value:function(){for(var e in he.log("Context.reset"),this.data)Object.prototype.hasOwnProperty.call(this.data,e)&&(this.data[e]=this.defaultData.hasOwnProperty(e)?this.defaultData[e]:null)}}]),e}(),Lr=function(e){c(n,e);var t=_(n);function n(e){var r;o(this,n);var i=(r=t.call(this,e)).tim.loginInfo;return r._context=new Rr({login:rt.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,oversea:i.oversea,instanceID:i.instanceID},r.tim.innerEmitter),r._initListener(),r}return i(n,[{key:"reset",value:function(){this._context.reset(),this.emitInnerEvent(wo)}},{key:"_initListener",value:function(){this.tim.innerEmitter.on(Lo,this._onContextMemberChange,this),this.tim.innerEmitter.on(pr,this._updateA2KeyAndTinyID,this)}},{key:"_updateA2KeyAndTinyID",value:function(e){var t=e.data,n=t.a2Key,o=t.tinyID;this._context.a2Key=n,this._context.tinyID=o,this.emitInnerEvent(Po),this.triggerReady()}},{key:"getContext",value:function(){return this._context}},{key:"_onContextMemberChange",value:function(e){var t=e.data,n=t.key,o=t.value;("tinyID"===n||"a2Key"===n)&&(o.length<=0?this._context.login=rt.IS_NOT_LOGIN:this._context.login=null!==this._context.a2Key?rt.IS_LOGIN:rt.IS_NOT_LOGIN)}}]),n}(Nr),wr=function e(t){o(this,e),this.code=0,this.data=t||{}},Pr=null,Gr=function(e){Pr=e},br=function(e){return e instanceof wr?(he.warn("IMPromise.resolve 此函数会自动用options创建IMResponse实例调用侧不需创建建议修改"),Promise.resolve(e)):Promise.resolve(new wr(e))},Ur=function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t instanceof qt)return n&&null!==Pr&&Pr.emit(e.ERROR,t),Promise.reject(t);if(t instanceof Error){var o=new qt({code:Ft.UNCAUGHT_ERROR,message:t.message});return n&&null!==Pr&&Pr.emit(e.ERROR,o),Promise.reject(o)}if(Ie(t)||Ie(t.code)||Ie(t.message))he.error("IMPromise.reject 必须指定code(错误码)和message(错误信息)!!!");else{if(fe(t.code)&&ve(t.message)){var r=new qt(t);return n&&null!==Pr&&Pr.emit(e.ERROR,r),Promise.reject(r)}he.error("IMPromise.reject code(错误码)必须为数字message(错误信息)必须为字符串!!!")}},qr="sdkReady",Fr="login",xr="longpolling",Vr="longpollingAV",Kr="sendMessage",Br="sendMessageC2C",Hr="sendMessageGroupWork",jr="sendMessageGroupPublic",$r="sendMessageGroupMeeting",Yr="sendMessageGroupAV",zr="messageReceived",Wr="messageReceivedAV",Jr="initConversationList",Xr="initGroupList",Qr="upload",Zr=function(){function e(t){o(this,e),this.SDKAppID="",this.version="",this.tinyID="",this.userID="",this.platform="",this.method=t,this.time="",this.startts=Date.now(),this.endts=0,this.timespan=0,this.codeint=0,this.message="",this.text="",this.msgType="",this.networkType="",this.platform="",this.scene="",this._sentFlag=!1,this.instanceID="",this.host=function(){var e="unknown";if(ie&&(e="mac"),re&&(e="windows"),W&&(e="ios"),J&&(e="android"),x)try{var t=K.getSystemInfoSync().platform;void 0!==t&&(e=t)}catch(n){}return e}(),this.mpLibVersion=function(){if(x)try{var e;return void 0===(e=F?my.getSystemInfoSync().version:K.getSystemInfoSync().SDKVersion)?"-":e}catch(t){return"-"}return"-"}()}return i(e,[{key:"setCommonInfo",value:function(e){var t=e.SDKAppID,n=e.version,o=e.tinyID,r=e.userID,i=e.platform,s=e.scene,a=e.instanceID;this.SDKAppID="".concat(t),this.version="".concat(n),this.tinyID=o,this.userID=r,this.platform=i,this.scene=s,this.time=Re(),this.instanceID=a,this.startts&&this.endts&&!this.timespan&&(this.timespan=Math.abs(this.endts-this.startts))}},{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(Ft.NO_NETWORK),this.setMessage($n))),this):(he.warn("SSOLogData.setError value not instanceof Error, please check!"),this)}},{key:"setCode",value:function(e){return Ie(e)||this._sentFlag||("ECONNABORTED"===e&&(this.codeint=103),fe(e)?this.codeint=e:he.warn("SSOLogData.setCode value not a number, please check!",e,n(e))),this}},{key:"setMessage",value:function(e){return Ie(e)||this._sentFlag?this:ve(e)?(this.message=e,this):this}},{key:"setText",value:function(e){return fe(e)?this.text=e.toString():ve(e)&&(this.text=e),this}},{key:"setMessageType",value:function(e){return this.msgType=e,this}},{key:"setNetworkType",value:function(e){return Ie(e)?he.warn("SSOLogData.setNetworkType value is undefined, please check!"):this.networkType=e,this}}],[{key:"bindController",value:function(t){e.prototype._eventStatController=t}}]),e}(),ei="sdkConstruct",ti="sdkReady",ni="accessLayer",oi="login",ri="logout",ii="kickedOut",si="registerPlugin",ai="getCosAuthKey",ui="getCosPreSigUrl",ci="upload",li="sendMessage",pi="sendComboMessage",gi="getC2CRoamingMessages",di="getGroupRoamingMessages",hi="revokeMessage",mi="setC2CMessageRead",fi="setGroupMessageRead",vi="emptyMessageBody",_i="getPeerReadTime",yi="uploadMergerMessage",Mi="downloadMergerMessage",Ii="getConversationList",Ci="getConversationProfile",Ei="deleteConversation",Ti="getConversationListInStorage",Si="syncConversationList",Di="createGroup",ki="applyJoinGroup",Ai="joinAVChatRoomSilently",Oi="quitGroup",Ni="searchGroupByID",Ri="changeGroupOwner",Li="handleGroupApplication",wi="setMessageRemindType",Pi="dismissGroup",Gi="updateGroupProfile",bi="getGroupList",Ui="getGroupProfile",qi="getGroupListInStorage",Fi="getGroupLastSequence",xi="getGroupMemberList",Vi="getGroupMemberProfile",Ki="addGroupMember",Bi="deleteGroupMember",Hi="setGroupMemberMuteTime",ji="setGroupMemberNameCard",$i="setGroupMemberRole",Yi="setGroupMemberCustomField",zi="getGroupOnlineMemberCount",Wi="getLongPollID",Ji="longPollingError",Xi="networkJitter",Qi="sdkReload",Zi="messageLoss",es="messageStacked",ts="getUserProfile",ns="updateMyProfile",os="getBlacklist",rs="addToBlacklist",is="removeFromBlacklist",ss="mpHideToShow",as="callbackFunctionError",us="exceptionError",cs=function(n){c(s,n);var r=_(s);function s(e){var t;return o(this,s),!0===(t=r.call(this,e)).tim.context.oversea&&No.HOST.setCurrent(Oo),t._initializeListener(),t}return i(s,[{key:"login",value:function(e){if(this.isLoggedIn()){var t="您已经登录账号".concat(e.identifier,"!如需切换账号登录,请先调用 logout 接口登出,再调用 login 接口登录。");return he.warn(t),br({actionStatus:"OK",errorCode:0,errorInfo:t,repeatLogin:!0})}he.log("SignController.login userID=".concat(e.identifier)),he.time(Fr);var n=this._checkLoginInfo(e);return Qe(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):Ur(n)}},{key:"_isLoginCurrentUser",value:function(e){return this.tim.context.identifier===e}},{key:"_initializeListener",value:function(){var e=this.tim.innerEmitter;e.on(zo,this._onMultipleAccountKickedOut,this),e.on(Wo,this._onMultipleDeviceKickedOut,this),e.on(hr,this._onUserSigExpired,this)}},{key:"_accessLayer",value:function(){var e=this,t=new Zr(ni);return he.log("SignController._accessLayer."),this.request({name:"accessLayer",action:"query"}).then((function(n){return t.setNetworkType(e.getNetworkType()).setText(n.data.webImAccessLayer).setEnd(),he.log("SignController._accessLayer ok. webImAccessLayer=".concat(n.data.webImAccessLayer)),e.tim.context.oversea||n.data.webImAccessLayer!==Do||No.HOST.setCurrent(n.data.webImAccessLayer),e._login()})).catch((function(n){return e.probeNetwork().then((function(o){var r=y(o,2),i=r[0],s=r[1];t.setError(n,i,s).setEnd(!0),e.tim.eventStatController.reportAtOnce()})),he.error("SignController._accessLayer failed. error:",n),Ur(n)}))}},{key:"_login",value:function(){var e=this,t=new Zr(oi);return this.request({name:"login",action:"query"}).then((function(n){var o=null;if(!n.data.tinyID)throw o=new qt({code:Ft.NO_TINYID,message:Ht}),t.setError(o,!0,e.getNetworkType()).setEnd(),o;if(!n.data.a2Key)throw o=new qt({code:Ft.NO_A2KEY,message:jt}),t.setError(o,!0,e.getNetworkType()).setEnd(),o;return t.setNetworkType(e.getNetworkType()).setText("".concat(e.tim.loginInfo.identifier)).setEnd(),he.log("SignController.login ok. userID=".concat(e.tim.loginInfo.identifier," loginCost=").concat(he.timeEnd(Fr),"ms")),e.emitInnerEvent(pr,{a2Key:n.data.a2Key,tinyID:n.data.tinyID}),br(n.data)})).catch((function(n){return e.probeNetwork().then((function(e){var o=y(e,2),r=o[0],i=o[1];t.setError(n,r,i).setEnd(!0)})),he.error("SignController.login failed. error:",n),Ur(n)}))}},{key:"logout",value:function(){return this.isLoggedIn()?(new Zr(ri).setNetworkType(this.getNetworkType()).setText("userID=".concat(this.tim.loginInfo.identifier," type=").concat("longPollLogout")).setEnd(!0),he.info("SignController.logout"),this.emitInnerEvent(gr),this._logout(Ct).then(this._emitLogoutSuccess.bind(this)).catch(this._emitLogoutSuccess.bind(this))):Ur({code:Ft.USER_NOT_LOGGED_IN,message:$t})}},{key:"_logout",value:function(e){var t=this.tim.notificationController,n=e===It?"logout":"longPollLogout",o=e===It?{name:n,action:"query"}:{name:n,action:"query",param:{longPollID:t.getLongPollID()}};return this.request(o).catch((function(e){return he.error("SignController._logout error:",e),Ur(e)}))}},{key:"_checkLoginInfo",value:function(e){var t=0,n="";return null===e.SDKAppID?(t=Ft.NO_SDKAPPID,n=xt):null===e.accountType?(t=Ft.NO_ACCOUNT_TYPE,n=Vt):null===e.identifier?(t=Ft.NO_IDENTIFIER,n=Kt):null===e.userSig&&(t=Ft.NO_USERSIG,n=Bt),Qe(t)||Qe(n)?{}:{code:t,message:n}}},{key:"_emitLogoutSuccess",value:function(){return this.emitInnerEvent(dr),br({})}},{key:"_onMultipleAccountKickedOut",value:function(){var n=this;new Zr(ii).setNetworkType(this.getNetworkType()).setText(t.KICKED_OUT_MULT_ACCOUNT).setEnd(!0),he.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;new Zr(ii).setNetworkType(this.getNetworkType()).setText(t.KICKED_OUT_MULT_DEVICE).setEnd(!0),he.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(){new Zr(ii).setNetworkType(this.getNetworkType()).setText(t.KICKED_OUT_USERSIG_EXPIRED).setEnd(!0),he.warn("SignController._onUserSigExpired: userSig 签名过期被踢下线"),this.emitOuterEvent(e.KICKED_OUT,{type:t.KICKED_OUT_USERSIG_EXPIRED}),this.tim.resetSDK()}},{key:"reset",value:function(){he.info("SignController.reset")}}]),s}(Nr),ls=function e(){o(this,e)},ps=function(e){c(n,e);var t=_(n);function n(){var e;return o(this,n),(e=t.call(this)).retry=2,e._request=e.promisify(K.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(o){if(ve(o.errMsg)){if(o.errMsg.includes("abort"))return br({});if(o.errMsg.includes("timeout"))return t.retry>0&&n<t.retry?t._requestWithRetry(e,++n):Ur(new qt({code:Ft.NETWORK_TIMEOUT,message:o.errMsg}));if(o.errMsg.includes("fail"))return t.retry>0&&n<t.retry?t._requestWithRetry(e,++n):Ur(new qt({code:Ft.NETWORK_ERROR,message:o.errMsg}))}return Ur(new qt(u({code:Ft.UNCAUGHT_ERROR,message:o.message},o)))}))}},{key:"_handleResolve",value:function(e){var t=e.data,n=t.error_code,o=t.ErrorCode;return fe(n)&&(o=n),o!==ot.SUCCESS&&(e.data.ErrorCode=Number("".concat(o))),e}},{key:"promisify",value:function(e){return function(t){return new Promise((function(n,o){var r=e(Object.assign({},t,{success:n,fail:o}));t.updateAbort&&t.updateAbort((function(){r&&Ee(r.abort)&&r.abort()}))}))}}}]),n}(function(){function e(){o(this,e)}return i(e,[{key:"request",value:function(e){console.warn("请注意: ConnectionBase.request() 方法必须被派生类重写:")}},{key:"_checkOptions",value:function(e){if(!1==!!e.url)throw new qt({code:Ft.NETWORK_BASE_OPTIONS_NO_URL,message:Bn})}},{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}()),gs=function e(){o(this,e)},ds=function(){function e(){o(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));he.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,o=0;o<t;o++)n+=this.requestTimeCost[o];return e=n/t,Math.round(100*e)/100}}]),e}(),hs=function(){function e(t){o(this,e),this._initializeOptions(t),this._initializeMembers(),this.status=new ds}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 ps,this.abort=null}},{key:"start",value:function(){0===this._seedID?(this._stoped=!1,this._send()):he.log('WXRunLoop.start(): WXRunLoop is running now, if you want to restart runLoop , please run "stop()" first.')}},{key:"_reset",value:function(){he.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===ot.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(),o=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(r){if(t._intervalTimeAdjustmentBaseOnResponseData.bind(e)(r.data),t._retryCount>0&&(t._retryCount=0),e.status.success++,o=Date.now(),e.status.setRequestTime(n,o),r.data.timecost=o-n,"function"==typeof t.options.success)try{e.options.success({pack:e.options.pack,error:!1,data:e.options.pack.callback(r.data)})}catch(i){he.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(r){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:r,data:!1})}catch(i){he.warn("WXRunLoop._send(), fail callback error:",i),he.error(i)}o=Date.now(),e.status.setRequestTime(n,o),e.status.report()}))}}},{key:"stop",value:function(){this._clearAllTimeOut(),this._stoped=!0}},{key:"_clearAllTimeOut",value:function(){clearTimeout(this._seedID),this._seedID=0}}]),e}(),ms=function(){function e(t){o(this,e),this.tim=t,this.httpConnection=x?new ps:new ls,this.keepAliveConnections=[]}return i(e,[{key:"initializeListener",value:function(){this.tim.innerEmitter.on(gr,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!==ot.SUCCESS?Ur(new qt({code:t.data.errorCode,message:t.data.errorInfo||t.data.errorMsg})):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 x?new hs(e):(this.tim.options.runLoopNetType===Mt||this.tim.options.runLoopNetType,new gs(e))}},{key:"clearAll",value:function(){this.conn.cancelAll()}},{key:"reset",value:function(){this.keepAliveConnections=[]}}]),e}(),fs=function(){function t(e){o(this,t),this.tim=e,this.tim.innerEmitter.on(mr,this._onErrorDetected,this)}return i(t,[{key:"_onErrorDetected",value:function(t){var n=t.data;new Zr(us).setText("code=".concat(n.code," message=").concat(n.message)).setNetworkType(this.tim.netMonitor.getNetworkType()).setEnd(),n.code?he.warn("Oops! code:".concat(n.code," message:").concat(n.message)):he.warn("Oops! message:".concat(n.message," stack:").concat(n.stack)),this.tim.outerEmitter.emit(e.ERROR,n)}}]),t}(),vs=function(){function e(n){var r=this;o(this,e),Qe(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=[],Qe(n.profileCustomField)||n.profileCustomField.forEach((function(e){r.profileCustomField.push({key:e.key,value:e.value})})))}return i(e,[{key:"validate",value:function(e){var t=!0,n="";if(Qe(e))return{valid:!1,tips:"empty options"};if(e.profileCustomField)for(var o=e.profileCustomField.length,r=null,i=0;i<o;i++){if(r=e.profileCustomField[i],!ve(r.key)||-1===r.key.indexOf("Tag_Profile_Custom"))return{valid:!1,tips:"自定义资料字段的前缀必须是 Tag_Profile_Custom"};if(!ve(r.value))return{valid:!1,tips:"自定义资料字段的 value 必须是字符串"}}for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){if("profileCustomField"===s)continue;if(Qe(e[s])&&!ve(e[s])&&!fe(e[s])){n="key:"+s+", invalid value:"+e[s],t=!1;continue}switch(s){case"nick":ve(e[s])||(n="nick should be a string",t=!1),Le(e[s])>500&&(n="nick name limited: must less than or equal to ".concat(500," bytes, current size: ").concat(Le(e[s])," bytes"),t=!1);break;case"gender":be(Tt,e.gender)||(n="key:gender, invalid value:"+e.gender,t=!1);break;case"birthday":fe(e.birthday)||(n="birthday should be a number",t=!1);break;case"location":ve(e.location)||(n="location should be a string",t=!1);break;case"selfSignature":ve(e.selfSignature)||(n="selfSignature should be a string",t=!1);break;case"allowType":be(Dt,e.allowType)||(n="key:allowType, invalid value:"+e.allowType,t=!1);break;case"language":fe(e.language)||(n="language should be a number",t=!1);break;case"avatar":ve(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":be(St,e.adminForbidType)||(n="key:adminForbidType, invalid value:"+e.adminForbidType,t=!1);break;case"level":fe(e.level)||(n="level should be a number",t=!1);break;case"role":fe(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}(),_s=function(){function t(e){o(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&&(he.warn("ProfileHandler.getUserProfile 获取用户资料人数不能超过100人"),n.length=100);for(var o,r=[],i=[],s=0,a=n.length;s<a;s++)o=n[s],this.userController.isMyFriend(o)&&this._containsAccount(o)?i.push(this._getProfileFromMap(o)):r.push(o);if(0===r.length)return br(i);e.toAccount=r;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 Zr(ts);l.setText(n.length>5?"userIDList.length=".concat(n.length):"userIDList=".concat(n));var p=this.userController.generateConfig(this.TAG,this.Actions.Q,e);return this.userController.request(p).then((function(e){l.setNetworkType(t.userController.getNetworkType()).setEnd(),he.info("ProfileHandler.getUserProfile ok");var n=t._handleResponse(e).concat(i);return u?(t.userController.onGotMyProfile(),new wr(n[0])):new wr(n)})).catch((function(e){return t.userController.probeNetwork().then((function(t){var n=y(t,2),o=n[0],r=n[1];l.setError(e,o,r).setEnd()})),he.error("ProfileHandler.getUserProfile error:",e),Ur(e)}))}},{key:"getMyProfile",value:function(){var e=this.userController.getMyAccount();if(he.log("ProfileHandler.getMyProfile myAccount="+e),this._fillMap(),this._containsAccount(e)){var t=this._getProfileFromMap(e);return he.debug("ProfileHandler.getMyProfile from cache, myProfile:"+JSON.stringify(t)),this.userController.onGotMyProfile(),br(t)}return this.getUserProfile({fromAccount:e,userIDList:[e],bFromGetMyProfile:!0})}},{key:"_handleResponse",value:function(e){for(var t,n,o=Ae.now(),r=e.data.userProfileItem,i=[],s=0,a=r.length;s<a;s++)"@TLS#NOT_FOUND"!==r[s].to&&""!==r[s].to&&(t=r[s].to,n=this._updateMap(t,this._getLatestProfileFromResponse(t,r[s].profileItem)),i.push(n));return he.log("ProfileHandler._handleResponse cost "+(Ae.now()-o)+" ms"),i}},{key:"_getLatestProfileFromResponse",value:function(e,t){var n={};if(n.userID=e,n.profileCustomField=[],!Qe(t))for(var o=0,r=t.length;o<r;o++)if(t[o].tag.indexOf("Tag_Profile_Custom")>-1)n.profileCustomField.push({key:t[o].tag,value:t[o].value});else switch(t[o].tag){case Et.NICK:n.nick=t[o].value;break;case Et.GENDER:n.gender=t[o].value;break;case Et.BIRTHDAY:n.birthday=t[o].value;break;case Et.LOCATION:n.location=t[o].value;break;case Et.SELFSIGNATURE:n.selfSignature=t[o].value;break;case Et.ALLOWTYPE:n.allowType=t[o].value;break;case Et.LANGUAGE:n.language=t[o].value;break;case Et.AVATAR:n.avatar=t[o].value;break;case Et.MESSAGESETTINGS:n.messageSettings=t[o].value;break;case Et.ADMINFORBIDTYPE:n.adminForbidType=t[o].value;break;case Et.LEVEL:n.level=t[o].value;break;case Et.ROLE:n.role=t[o].value;break;default:he.warn("ProfileHandler._handleResponse unkown tag->",t[o].tag,t[o].value)}return n}},{key:"updateMyProfile",value:function(t){var n=this,o=new Zr(ns);o.setText(JSON.stringify(t));var r=(new vs).validate(t);if(!r.valid)return o.setCode(Ft.UPDATE_PROFILE_INVALID_PARAM).setMessage("ProfileHandler.updateMyProfile info:".concat(r.tips)).setNetworkType(this.userController.getNetworkType()).setEnd(),he.error("ProfileHandler.updateMyProfile info:".concat(r.tips,",请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#updateMyProfile")),Ur({code:Ft.UPDATE_PROFILE_INVALID_PARAM,message:qn});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 o.setCode(Ft.UPDATE_PROFILE_NO_KEY).setMessage(Fn).setNetworkType(this.userController.getNetworkType()).setEnd(),he.error("ProfileHandler.updateMyProfile info:".concat(Fn,",请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#updateMyProfile")),Ur({code:Ft.UPDATE_PROFILE_NO_KEY,message:Fn});var a=this.userController.generateConfig(this.TAG,this.Actions.U,{fromAccount:this.userController.getMyAccount(),profileItem:i});return this.userController.request(a).then((function(r){o.setNetworkType(n.userController.getNetworkType()).setEnd(),he.info("ProfileHandler.updateMyProfile ok");var i=n._updateMap(n.userController.getMyAccount(),t);return n.userController.emitOuterEvent(e.PROFILE_UPDATED,[i]),br(i)})).catch((function(e){return n.userController.probeNetwork().then((function(t){var n=y(t,2),r=n[0],i=n[1];o.setError(e,r,i).setEnd()})),he.error("ProfileHandler.updateMyProfile error:",e),Ur(e)}))}},{key:"onProfileModified",value:function(t){var n=t.data;if(!Qe(n)){var o,r,i=n.length;he.info("ProfileHandler.onProfileModified length="+i);for(var s=[],a=0;a<i;a++)o=n[a].userID,r=this._updateMap(o,this._getLatestProfileFromResponse(o,n[a].profileList)),s.push(r);this.userController.emitInnerEvent(yr,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,o=e.length;n<o;n++)t-e[n].lastUpdatedTime<this.expirationTime&&this.accountProfileMap.set(e[n].userID,e[n]);he.log("ProfileHandler._fillMap from cache, map.size="+this.accountProfileMap.size)}}},{key:"_updateMap",value:function(e,t){var n,o=Date.now();return this._containsAccount(e)?(n=this._getProfileFromMap(e),t.profileCustomField&&xe(n.profileCustomField,t.profileCustomField),Oe(n,t,["profileCustomField"]),n.lastUpdatedTime=o):(n=new vs(t),(this.userController.isMyFriend(e)||e===this.userController.getMyAccount())&&(n.lastUpdatedTime=o,this.accountProfileMap.set(e,n))),this._flushMap(e===this.userController.getMyAccount()),n}},{key:"_flushMap",value:function(e){var t=M(this.accountProfileMap.values()),n=this.userController.tim.storage;he.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 Qe(e)?[]:e}},{key:"onConversationsProfileUpdated",value:function(e){for(var t,n,o,r=[],i=0,s=e.length;i<s;i++)n=(t=e[i]).userID,this.userController.isMyFriend(n)&&(this._containsAccount(n)?(o=this._getProfileFromMap(n),Oe(o,t)>0&&r.push(n)):r.push(t.userID));0!==r.length&&(he.info("ProfileHandler.onConversationsProfileUpdated toAccount:",r),this.getUserProfile({userIDList:r}))}},{key:"getNickAndAvatarByUserID",value:function(e){if(this._containsAccount(e)){var t=this._getProfileFromMap(e);return{nick:t.nick,avatar:t.avatar}}return{nick:"",avatar:""}}},{key:"reset",value:function(){this._flushMap(!0),this.accountProfileMap.clear()}}]),t}(),ys=function(){function e(t){o(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,o=[],r=[],i=0;i<n;i++)0!==i&&(r=this._analisysTowPoints(t[i-1],t[i]),o.push(r.join("")));return r=this._analisysTowPoints(t[0],t[n-1],!0),o.push(r.join("")),o.join("")}}},{key:"_analisysTowPoints",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!1!==this.options.enablePointer){var o=this.flen,r=t.time-e.time,i=r.toString(),s=e.pointerName+this.gapChar.repeat(o-e.pointerName.length),a=t.pointerName+this.gapChar.repeat(o-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(),o="Pointer[".concat(e,"(").concat(n,")]"),r=4*this.maxNameLen,i=(r-o.length)/2;console.log(["-".repeat(i),o,"-".repeat(i)].join("")),console.log("%c"+t,"color:#66a","color:red","color:#66a"),console.log("-".repeat(r))}}},{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}(),Ms=function e(t,n){o(this,e),this.userID=t;var r={};if(r.userID=t,!Qe(n))for(var i=0,s=n.length;i<s;i++)switch(n[i].tag){case Et.NICK:r.nick=n[i].value;break;case Et.GENDER:r.gender=n[i].value;break;case Et.BIRTHDAY:r.birthday=n[i].value;break;case Et.LOCATION:r.location=n[i].value;break;case Et.SELFSIGNATURE:r.selfSignature=n[i].value;break;case Et.ALLOWTYPE:r.allowType=n[i].value;break;case Et.LANGUAGE:r.language=n[i].value;break;case Et.AVATAR:r.avatar=n[i].value;break;case Et.MESSAGESETTINGS:r.messageSettings=n[i].value;break;case Et.ADMINFORBIDTYPE:r.adminForbidType=n[i].value;break;case Et.LEVEL:r.level=n[i].value;break;case Et.ROLE:r.role=n[i].value;break;default:he.debug("snsProfileItem unkown tag->",n[i].tag)}this.profile=new vs(r)},Is=function(){function e(t){o(this,e),this.userController=t,this.TAG="friend",this.Actions={G:"get",D:"delete"},this.friends=new Map,this.pointer=new ys}return i(e,[{key:"isMyFriend",value:function(e){var t=this.friends.has(e);return t||he.debug("FriendHandler.isMyFriend "+e+" is not my friend"),t}},{key:"_transformFriendList",value:function(e){if(!Qe(e)&&!Qe(e.infoItem)){he.info("FriendHandler._transformFriendList friendNum="+e.friendNum);for(var t,n,o=e.infoItem,r=0,i=o.length;r<i;r++)n=o[r].infoAccount,t=new Ms(n,o[r].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(),he.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){he.info("FriendHandler.getFriendList ok"),e._transformFriendList(t.data);var n=M(e.friends.values());return br(n)})).catch((function(e){return he.error("FriendHandler.getFriendList error:",e),Ur(e)}))}},{key:"deleteFriend",value:function(e){if(!Array.isArray(e.toAccount))return he.error("FriendHandler.deleteFriend options.toAccount 必需是数组"),Ur({code:Ft.DEL_FRIEND_INVALID_PARAM,message:Un});e.toAccount.length>1e3&&(he.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 he.info("FriendHandler.deleteFriend ok"),br()})).catch((function(e){return he.error("FriendHandler.deleteFriend error:",e),Ur(e)}))}}]),e}(),Cs=function e(t){o(this,e),Qe||(this.userID=t.userID||"",this.timeStamp=t.timeStamp||0)},Es=function(){function t(e){o(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 Zr(os),o=this.userController.generateConfig(this.TAG,this.Actions.G,t);return this.userController.request(o).then((function(t){var o=Qe(t.data.blackListItem)?0:t.data.blackListItem.length;return n.setNetworkType(e.userController.getNetworkType()).setText(o).setEnd(),he.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 o=y(e,2),r=o[0],i=o[1];n.setError(t,r,i).setEnd()})),he.error("BlacklistHandler.getBlacklist error:",t),Ur(t)}))}},{key:"addBlacklist",value:function(e){var t=this,n=new Zr(rs);if(!Me(e.userIDList))return n.setCode(Ft.ADD_BLACKLIST_INVALID_PARAM).setMessage("BlacklistHandler.addBlacklist options.userIDList 必需是数组").setNetworkType(this.userController.getNetworkType()).setEnd(),he.error("BlacklistHandler.addBlacklist options.userIDList 必需是数组"),Ur({code:Ft.ADD_BLACKLIST_INVALID_PARAM,message:xn});var o=this.userController.tim.loginInfo.identifier;if(1===e.userIDList.length&&e.userIDList[0]===o)return n.setCode(Ft.CANNOT_ADD_SELF_TO_BLACKLIST).setMessage(Kn).setNetworkType(this.userController.getNetworkType()).setEnd(),he.error("BlacklistHandler.addBlacklist 不能把自己拉黑"),Ur({code:Ft.CANNOT_ADD_SELF_TO_BLACKLIST,message:Kn});e.userIDList.includes(o)&&(e.userIDList=e.userIDList.filter((function(e){return e!==o})),he.warn("BlacklistHandler.addBlacklist 不能把自己拉黑,已过滤")),e.fromAccount=this.userController.getMyAccount(),e.toAccount=e.userIDList;var r=this.userController.generateConfig(this.TAG,this.Actions.C,e);return this.userController.request(r).then((function(o){return n.setNetworkType(t.userController.getNetworkType()).setText(e.userIDList.length>5?"userIDList.length=".concat(e.userIDList.length):"userIDList=".concat(e.userIDList)).setEnd(),he.info("BlacklistHandler.addBlacklist ok"),t._handleResponse(o.data.resultItem,!0),t._onBlacklistUpdated()})).catch((function(e){return t.userController.probeNetwork().then((function(t){var o=y(t,2),r=o[0],i=o[1];n.setError(e,r,i).setEnd()})),he.error("BlacklistHandler.addBlacklist error:",e),Ur(e)}))}},{key:"_handleResponse",value:function(e,t){if(!Qe(e))for(var n,o,r,i=0,s=e.length;i<s;i++)o=e[i].to,r=e[i].resultCode,(Ie(r)||0===r)&&(t?((n=this.blacklistMap.has(o)?this.blacklistMap.get(o):new Cs).userID=o,!Qe(e[i].addBlackTimeStamp)&&(n.timeStamp=e[i].addBlackTimeStamp),this.blacklistMap.set(o,n)):this.blacklistMap.has(o)&&(n=this.blacklistMap.get(o),this.blacklistMap.delete(o)));he.log("BlacklistHandler._handleResponse total="+this.blacklistMap.size+" bAdd="+t)}},{key:"deleteBlacklist",value:function(e){var t=this,n=new Zr(is);if(!Me(e.userIDList))return n.setCode(Ft.DEL_BLACKLIST_INVALID_PARAM).setMessage("BlacklistHandler.deleteBlacklist options.userIDList 必需是数组").setNetworkType(this.userController.getNetworkType()).setEnd(),he.error("BlacklistHandler.deleteBlacklist options.userIDList 必需是数组"),Ur({code:Ft.DEL_BLACKLIST_INVALID_PARAM,message:Vn});e.fromAccount=this.userController.getMyAccount(),e.toAccount=e.userIDList;var o=this.userController.generateConfig(this.TAG,this.Actions.D,e);return this.userController.request(o).then((function(o){return n.setNetworkType(t.userController.getNetworkType()).setText(e.userIDList.length>5?"userIDList.length=".concat(e.userIDList.length):"userIDList=".concat(e.userIDList)).setEnd(),he.info("BlacklistHandler.deleteBlacklist ok"),t._handleResponse(o.data.resultItem,!1),t._onBlacklistUpdated()})).catch((function(e){return t.userController.probeNetwork().then((function(t){var o=y(t,2),r=o[0],i=o[1];n.setError(e,r,i).setEnd()})),he.error("BlacklistHandler.deleteBlacklist error:",e),Ur(e)}))}},{key:"_onBlacklistUpdated",value:function(){var t=M(this.blacklistMap.keys());return this.userController.emitOuterEvent(e.BLACKLIST_UPDATED,t),br(t)}},{key:"handleBlackListDelAccount",value:function(t){for(var n,o=[],r=0,i=t.length;r<i;r++)n=t[r],this.blacklistMap.has(n)&&(this.blacklistMap.delete(n),o.push(n));o.length>0&&(he.log("BlacklistHandler.handleBlackListDelAccount delCount="+o.length+" : "+o.join(",")),this.userController.emitOuterEvent(e.BLACKLIST_UPDATED,M(this.blacklistMap.keys())))}},{key:"handleBlackListAddAccount",value:function(t){for(var n,o=[],r=0,i=t.length;r<i;r++)n=t[r],this.blacklistMap.has(n)||(this.blacklistMap.set(n,new Cs({userID:n})),o.push(n));o.length>0&&(he.log("BlacklistHandler.handleBlackListAddAccount addCount="+o.length+" : "+o.join(",")),this.userController.emitOuterEvent(e.BLACKLIST_UPDATED,M(this.blacklistMap.keys())))}},{key:"reset",value:function(){this.blacklistMap.clear(),this.startIndex=0,this.maxLimited=100,this.curruentSequence=0}}]),t}(),Ts=function(){function e(t){o(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),o=this.userController.request(n);return o.then((function(e){t.userController.isActionSuccessful("applyAddFriend",t.Actions.C,e)})).catch((function(e){})),o}},{key:"getPendency",value:function(e){var t=this,n=this.userController.generateConfig(this.TAG,this.Actions.G,e),o=this.userController.request(n);return o.then((function(e){t.userController.isActionSuccessful("getPendency",t.Actions.G,e)})).catch((function(e){})),o}},{key:"deletePendency",value:function(e){var t=this,n=this.userController.generateConfig(this.TAG,this.Actions.D,e),o=this.userController.request(n);return o.then((function(e){t.userController.isActionSuccessful("deletePendency",t.Actions.D,e)})).catch((function(e){})),o}},{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),o=this.userController.request(n);return o.then((function(t){e.userController.isActionSuccessful("replyPendency",e.Actions.U,t)})).catch((function(e){})),o}}]),e}(),Ss=function(e){c(n,e);var t=_(n);function n(e){var r;return o(this,n),(r=t.call(this,e)).profileHandler=new _s(f(r)),r.friendHandler=new Is(f(r)),r.blacklistHandler=new Es(f(r)),r.applyC2CHandler=new Ts(f(r)),r._initializeListener(),r}return i(n,[{key:"_initializeListener",value:function(e){var t=this.tim.innerEmitter;t.on(Po,this.onContextUpdated,this),t.on(nr,this.onProfileModified,this),t.on(tr,this.onNewFriendMessages,this),t.on(vr,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){he.debug("onNewFriendMessages",JSON.stringify(e.data)),Qe(e.data.blackListDelAccount)||this.blacklistHandler.handleBlackListDelAccount(e.data.blackListDelAccount),Qe(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:"getNickAndAvatarByUserID",value:function(e){return this.profileHandler.getNickAndAvatarByUserID(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(){he.info("UserController.reset"),this.resetReady(),this.profileHandler.reset(),this.blacklistHandler.reset(),this.checkTimes=0}}]),n}(Nr),Ds=["groupID","name","avatar","type","introduction","notification","ownerID","selfInfo","createTime","infoSequence","lastInfoTime","lastMessage","nextMessageSeq","memberNum","maxMemberNum","memberList","joinOption","groupCustomField","muteAllMembers"],ks=function(){function e(t){o(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.memberCount="",this.maxMemberNum="",this.maxMemberCount="",this.joinOption="",this.groupCustomField=[],this.muteAllMembers=void 0,this._initGroup(t)}return i(e,[{key:"_initGroup",value:function(e){for(var t in e)Ds.indexOf(t)<0||("selfInfo"!==t?("memberNum"===t&&(this.memberCount=e[t]),"maxMemberNum"===t&&(this.maxMemberCount=e[t]),this[t]=e[t]):this.updateSelfInfo(e[t]))}},{key:"updateGroup",value:function(e){var t=JSON.parse(JSON.stringify(e));t.lastMsgTime&&(this.lastMessage.lastTime=t.lastMsgTime),Ie(t.muteAllMembers)||("On"===t.muteAllMembers?t.muteAllMembers=!0:t.muteAllMembers=!1),t.groupCustomField&&xe(this.groupCustomField,t.groupCustomField),Ie(t.memberNum)||(this.memberCount=t.memberNum),Ie(t.maxMemberNum)||(this.maxMemberCount=t.maxMemberNum),Oe(this,t,["members","errorCode","lastMsgTime","groupCustomField","memberNum","maxMemberNum"])}},{key:"updateSelfInfo",value:function(e){var t=e.nameCard,n=e.joinTime,o=e.role,r=e.messageRemindType;Oe(this.selfInfo,{nameCard:t,joinTime:n,role:o,messageRemindType:r},[],["",null,void 0,0,NaN])}},{key:"setSelfNameCard",value:function(e){this.selfInfo.nameCard=e}},{key:"memberNum",set:function(e){},get:function(){return he.warn("v2.8.0起弃用memberNum请使用 memberCount"),this.memberCount}},{key:"maxMemberNum",set:function(e){},get:function(){return he.warn("v2.8.0起弃用maxMemberNum请使用 maxMemberCount"),this.maxMemberCount}}]),e}(),As=function(e,n){if(Ie(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"[动画表情]";case t.MSG_MERGER:return"[聊天记录]";default:return""}},Os=function(e){return Ie(e)?{lastTime:0,lastSequence:0,fromAccount:0,messageForShow:"",payload:null,type:"",isRevoked:!1}:e instanceof po?{lastTime:e.time||0,lastSequence:e.sequence||0,fromAccount:e.from||"",messageForShow:As(e.type,e.payload),payload:e.payload||null,type:e.type||null,isRevoked:!1}:u(u({},e),{},{isRevoked:!1,messageForShow:As(e.type,e.payload)})},Ns=function(){function e(t){o(this,e),this.conversationID=t.conversationID||"",this.unreadCount=t.unreadCount||0,this.type=t.type||"",this.lastMessage=Os(t.lastMessage),t.lastMsgTime&&(this.lastMessage.lastTime=t.lastMsgTime),this._isInfoCompleted=!1,this.peerReadTime=t.peerReadTime||0,this.groupAtInfoList=[],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}})),Ie(this.userProfile)&&this.type===t.CONV_C2C?this.userProfile=new vs({userID:e.conversationID.replace("C2C","")}):Ie(this.groupProfile)&&this.type===t.CONV_GROUP&&(this.groupProfile=new ks({groupID:e.conversationID.replace("GROUP","")}))}},{key:"updateUnreadCount",value:function(e,n){Ie(e)||(Be(this.subType)||He(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=Os(e)}},{key:"updateGroupAtInfoList",value:function(e){var n,o=(I(n=e.groupAtType)||C(n)||E(n)||S()).slice(0);-1!==o.indexOf(t.CONV_AT_ME)&&-1!==o.indexOf(t.CONV_AT_ALL)&&(o=[t.CONV_AT_ALL_AT_ME]);var r={from:e.from,groupID:e.groupID,messageSequence:e.sequence,atTypeArray:o,__random:e.__random,__sequence:e.__sequence};this.groupAtInfoList.push(r),he.debug("Conversation.updateGroupAtInfoList conversationID=".concat(this.conversationID),this.groupAtInfoList)}},{key:"clearGroupAtInfoList",value:function(){this.groupAtInfoList.length=0}},{key:"reduceUnreadCount",value:function(){this.unreadCount>=1&&(this.unreadCount-=1)}},{key:"isLastMessageRevoked",value:function(e){var n=e.sequence,o=e.time;return this.type===t.CONV_C2C&&n===this.lastMessage.lastSequence&&o===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}(),Rs=function(n){c(s,n);var r=_(s);function s(e){var t;return o(this,s),(t=r.call(this,e)).pagingStatus=st.NOT_START,t.pagingTimeStamp=0,t.conversationMap=new Map,t.tempGroupList=[],t.tempGroupAtTipsList=[],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):(he.log("ConversationController._createLocalConversation conversationID:".concat(e)),new Ns({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;he.log("ConversationController.getConversationList."),this.pagingStatus===st.REJECTED&&(he.log("ConversationController.getConversationList. continue to sync conversationList"),this._syncConversationList());var t=new Zr(Ii);return this.request({name:"conversation",action:"query"}).then((function(n){var o=n.data.conversations,r=void 0===o?[]:o,i=e._getConversationOptions(r);return e._updateLocalConversationList(i,!0),e._setStorageConversationList(),e._handleC2CPeerReadTime(),t.setText(r.length).setNetworkType(e.getNetworkType()).setEnd(),he.log("ConversationController.getConversationList ok."),br({conversationList:e.getLocalConversationList()})})).catch((function(n){return e.probeNetwork().then((function(e){var o=y(e,2),r=o[0],i=o[1];t.setError(n,r,i).setEnd()})),he.error("ConversationController.getConversationList error:",n),Ur(n)}))}},{key:"_syncConversationList",value:function(){var e=this,t=new Zr(Si);return this.pagingStatus===st.NOT_START&&this.conversationMap.clear(),this._autoPagingSyncConversationList().then((function(n){return e.pagingStatus=st.RESOLVED,e._setStorageConversationList(),e._handleC2CPeerReadTime(),t.setText("".concat(e.conversationMap.size)).setNetworkType(e.getNetworkType()).setEnd(),n})).catch((function(n){return e.pagingStatus=st.REJECTED,t.setText(e.pagingTimeStamp),e.probeNetwork().then((function(e){var o=y(e,2),r=o[0],i=o[1];t.setError(n,r,i).setEnd()})),Ur(n)}))}},{key:"_autoPagingSyncConversationList",value:function(){var e=this;return this.pagingStatus=st.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,o=n.completeFlag,r=n.conversations,i=void 0===r?[]:r,s=n.timeStamp;if(he.log("ConversationController._autoPagingSyncConversationList completeFlag=".concat(o," nums=").concat(i.length)),i.length>0){var a=e._getConversationOptions(i);e._updateLocalConversationList(a,!0)}if(e._isReady)e._emitConversationUpdate();else{if(!e.isLoggedIn())return br();e.triggerReady()}return e.pagingTimeStamp=s,1!==o?e._autoPagingSyncConversationList():(e._handleGroupAtTipsList(),br())})).catch((function(t){throw e.isLoggedIn()&&(e._isReady||(he.warn("ConversationController._autoPagingSyncConversationList failed. error:".concat(Ne(t))),e.triggerReady())),t}))}},{key:"_handleC2CPeerReadTime",value:function(){var e,n=this.tim.messageController,o=D(this.conversationMap);try{for(o.s();!(e=o.n()).done;){var r=y(e.value,2),i=r[0],s=r[1];s.type===t.CONV_C2C&&(he.debug("ConversationController._handleC2CPeerReadTime",i,s.peerReadTime),n.recordPeerReadTime(i,s.peerReadTime))}}catch(a){o.e(a)}finally{o.f()}}},{key:"getConversationProfile",value:function(e){var n=this,o=this.conversationMap.has(e)?this.conversationMap.get(e):this._createLocalConversation(e);if(o._isInfoCompleted||o.type===t.CONV_SYSTEM)return br({conversation:o});var r=new Zr(Ci);return he.log("ConversationController.getConversationProfile. conversationID:".concat(e," lastMessage:"),o.lastMessage),this._updateUserOrGroupProfileCompletely(o).then((function(t){return r.setNetworkType(n.getNetworkType()).setText("conversationID=".concat(e," unreadCount=").concat(t.data.conversation.unreadCount)).setEnd(),he.log("ConversationController.getConversationProfile ok. conversationID:",e),t})).catch((function(t){return n.probeNetwork().then((function(n){var o=y(n,2),i=o[0],s=o[1];r.setError(t,i,s).setText("conversationID=".concat(e)).setEnd()})),he.error("ConversationController.getConversationProfile error:",t),Ur(t)}))}},{key:"deleteConversation",value:function(e){var n=this,o={};if(!this.conversationMap.has(e)){var r=new qt({code:Ft.CONVERSATION_NOT_FOUND,message:yn});return Ur(r)}switch(this.conversationMap.get(e).type){case t.CONV_C2C:o.type=1,o.toAccount=e.replace(t.CONV_C2C,"");break;case t.CONV_GROUP:o.type=2,o.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),br({conversationID:e});default:var i=new qt({code:Ft.CONVERSATION_UN_RECORDED_TYPE,message:In});return Ur(i)}var s=new Zr(Ei);return s.setText("conversationID=".concat(e)),he.log("ConversationController.deleteConversation. conversationID=".concat(e)),this.tim.setMessageRead({conversationID:e}).then((function(){return n.request({name:"conversation",action:"delete",param:o})})).then((function(){return s.setNetworkType(n.getNetworkType()).setEnd(),he.log("ConversationController.deleteConversation ok."),n.deleteLocalConversation(e),br({conversationID:e})})).catch((function(e){return n.probeNetwork().then((function(t){var n=y(t,2),o=n[0],r=n[1];s.setError(e,o,r).setEnd()})),he.error("ConversationController.deleteConversation error:",e),Ur(e)}))}},{key:"getLocalConversationList",value:function(){return M(this.conversationMap.values())}},{key:"getLocalConversation",value:function(e){return this.conversationMap.get(e)}},{key:"_initLocalConversationList",value:function(){var e=new Zr(Ti);he.time(Jr),he.log("ConversationController._initLocalConversationList.");var t=this._getStorageConversationList();if(t){for(var n=t.length,o=0;o<n;o++)this.conversationMap.set(t[o].conversationID,new Ns(t[o]));this._emitConversationUpdate(!0,!1),e.setNetworkType(this.getNetworkType()).setText(n).setEnd()}else e.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(Po,this._initLocalConversationList,this),this.tim.innerEmitter.on(qo,this._onSendOrReceiveMessage,this),this.tim.innerEmitter.on(Fo,this._handleSyncMessages,this),this.tim.innerEmitter.on(xo,this._handleSyncMessages,this),this.tim.innerEmitter.on(Vo,this._onSendOrReceiveMessage,this),this.tim.innerEmitter.on(Ko,this._onSendOrReceiveMessage,this),this.tim.innerEmitter.on(Bo,this._onSendOrReceiveMessage,this),this.tim.innerEmitter.on(lr,this._onGroupListUpdated,this),this.tim.innerEmitter.on(yr,this._updateConversationUserProfile,this),this.tim.innerEmitter.on(Ho,this._onMessageRevoked,this),this.tim.innerEmitter.on(Zo,this._onReceiveGroupAtTips,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;Me(e)&&0===e.length||(this.hasLocalConversationMap()?(e.forEach((function(e){var n="GROUP".concat(e.groupID);if(t.conversationMap.has(n)){var o=t.conversationMap.get(n);o.groupProfile=e,o.lastMessage.lastSequence<e.nextMessageSeq&&(o.lastMessage.lastSequence=e.nextMessageSeq-1),o.subType||(o.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:"updateUserProfileSpecifiedKey",value:function(e){he.log("ConversationController.updateUserProfileSpecifiedKey options:",e);var t=e.conversationID,n=e.nick,o=e.avatar;if(this.conversationMap.has(t)){var r=this.conversationMap.get(t).userProfile;ve(n)&&r.nick!==n&&(r.nick=n),ve(o)&&r.avatar!==o&&(r.avatar=o),this._emitConversationUpdate(!0,!1)}}},{key:"_onMessageRevoked",value:function(e){var t=this,n=e.data;if(0!==n.length){var o=null,r=!1;n.forEach((function(e){(o=t.conversationMap.get(e.conversationID))&&o.isLastMessageRevoked(e)&&(r=!0,o.setLastMessageRevoked(!0))})),r&&this._emitConversationUpdate(!0,!1)}}},{key:"_onReceiveGroupAtTips",value:function(e){var t=this,n=e.data,o=null;n.forEach((function(e){e.groupAtTips?o=e.groupAtTips:e.elements&&(o=e.elements),o.__random=e.random,o.__sequence=e.clientSequence,t.tempGroupAtTipsList.push(o)})),he.debug("ConversationController._onReceiveGroupAtTips isReady=".concat(this._isReady),this.tempGroupAtTipsList),this._isReady&&this._handleGroupAtTipsList()}},{key:"_handleGroupAtTipsList",value:function(){var e=this;if(0!==this.tempGroupAtTipsList.length){var n=!1;this.tempGroupAtTipsList.forEach((function(o){var r=o.groupID;if(o.from!==e.tim.context.identifier){var i=e.conversationMap.get("".concat(t.CONV_GROUP).concat(r));i&&(i.updateGroupAtInfoList(o),n=!0)}})),n&&this._emitConversationUpdate(!0,!1),this.tempGroupAtTipsList.length=0}}},{key:"deleteGroupAtTips",value:function(e){he.log("ConversationController.deleteGroupAtTips");var t=this.conversationMap.get(e);if(!t)return Promise.resolve();var n=t.groupAtInfoList;if(0===n.length)return Promise.resolve();var o=this.tim.context.identifier;return this.request({name:"conversation",action:"deleteGroupAtTips",param:{messageListToDelete:n.map((function(e){return{from:e.from,to:o,messageSeq:e.__sequence,messageRandom:e.__random,groupID:e.groupID}}))}}).then((function(){return he.log("ConversationController.deleteGroupAtTips ok. nums=".concat(n.length)),t.clearGroupAtInfoList(),Promise.resolve()})).catch((function(e){return he.error("ConversationController.deleteGroupAtTips error:",e),Ur(e)}))}},{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],o=e.data.eventDataList;this._isReady?0!==o.length&&(this._getPeerReadTime(o),this._updateLocalConversationList(o,!1,n),this._setStorageConversationList(),this._emitConversationUpdate()):this.ready((function(){t._onSendOrReceiveMessage(e,n)}))}},{key:"_getPeerReadTime",value:function(e){var n=this,o=[];e.forEach((function(e){n.conversationMap.has(e.conversationID)||e.type!==t.CONV_C2C||o.push(e.conversationID.replace(t.CONV_C2C,""))})),o.length>0&&(he.debug("ConversationController._getPeerReadTime userIDList:".concat(o)),this.tim.messageController.getPeerReadTime(o))}},{key:"_updateLocalConversationList",value:function(e,t,n){var o;o=this._updateTempConversations(e,t,n),this.conversationMap=new Map(this._sortConversations([].concat(M(o.conversations),M(this.conversationMap)))),t||this._updateUserOrGroupProfile(o.newerConversations)}},{key:"_updateTempConversations",value:function(e,n,o){for(var r=[],i=[],s=0,a=e.length;s<a;s++){var u=new Ns(e[s]),c=this.conversationMap.get(u.conversationID);if(this.conversationMap.has(u.conversationID)){var l=["unreadCount","allowType","adminForbidType","payload"];o&&l.push("lastMessage"),Oe(c,u,l,[null,void 0,"",0,NaN]),c.updateUnreadCount(u.unreadCount,n),o||(c.lastMessage.payload=e[s].lastMessage.payload),this.conversationMap.delete(c.conversationID),r.push([c.conversationID,c])}else{if(u.type===t.CONV_GROUP){var p=u.groupProfile.groupID,g=this.tim.groupController.getLocalGroupProfile(p);g&&(u.groupProfile=g,u.updateUnreadCount(0))}i.push(u),r.push([u.conversationID,u])}}return{conversations:r,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 o=[],r=[];e.forEach((function(e){if(e.type===t.CONV_C2C)o.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):r.push(i)}})),o.length>0&&this.tim.getUserProfile({userIDList:o}).then((function(e){var t=e.data;Me(t)?t.forEach((function(e){n.conversationMap.get("C2C".concat(e.userID)).userProfile=e})):n.conversationMap.get("C2C".concat(t.userID)).userProfile=t})),r.length>0&&this.tim.groupController.getGroupProfileAdvance({groupIDList:r,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 o=n.conversationMap.get(t);Oe(o.groupProfile,e,[],[null,void 0,"",0,NaN]),!o.subType&&e.type&&(o.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 o=t.data;return 0===o.length?Ur(new qt({code:Ft.USER_OR_GROUP_NOT_FOUND,message:Mn})):(e.userProfile=o[0],e._isInfoCompleted=!0,n._unshiftConversation(e),br({conversation:e}))})):this.tim.getGroupProfile({groupID:e.toAccount}).then((function(t){return e.groupProfile=t.data.group,e._isInfoCompleted=!0,n._unshiftConversation(e),br({conversation:e})}))}},{key:"_unshiftConversation",value:function(e){e instanceof Ns&&!this.conversationMap.has(e.conversationID)&&(this.conversationMap=new Map([[e.conversationID,e]].concat(M(this.conversationMap))),this._setStorageConversationList(),this._emitConversationUpdate(!0,!1))}},{key:"deleteLocalConversation",value:function(e){this.conversationMap.delete(e),this._setStorageConversationList(),this.emitInnerEvent(_r,e),this._emitConversationUpdate(!0,!1)}},{key:"_getConversationOptions",value:function(e){var t=[],n=e.filter((function(e){var t=e.lastMsg;return ye(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 vs(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 ks({groupID:e.groupID,name:e.groupNick,avatar:e.groupImage}),unreadCount:e.unreadCount,peerReadTime:0}}));return t.length>0&&this.emitInnerEvent(vr,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],o=M(this.conversationMap.values());n&&this.emitInnerEvent(fr,o),t&&this.emitOuterEvent(e.CONVERSATION_LIST_UPDATED,o)}},{key:"_conversationMapTreeShaking",value:function(e){var n=this,o=new Map(M(this.conversationMap));e.forEach((function(e){return o.delete(e.conversationID)})),o.has(t.CONV_SYSTEM)&&o.delete(t.CONV_SYSTEM);var r=this.tim.groupController.getJoinedAVChatRoom();r&&r.forEach((function(e){o.delete("".concat(t.CONV_GROUP).concat(e))})),M(o.keys()).forEach((function(e){return n.conversationMap.delete(e)}))}},{key:"reset",value:function(){this.pagingStatus=st.NOT_START,this.pagingTimeStamp=0,this.conversationMap.clear(),this.tempGroupAtTipsList.length=0,this.resetReady(),this.tim.innerEmitter.once(Po,this._initLocalConversationList,this)}}]),s}(Nr),Ls=function(){function e(t){if(o(this,e),void 0===t)throw new qt({code:Ft.MESSAGE_LIST_CONSTRUCTOR_NEED_OPTIONS,message:Jt});if(void 0===t.tim)throw new qt({code:Ft.MESSAGE_LIST_CONSTRUCTOR_NEED_OPTIONS,message:"".concat(Jt,".tim")});this.list=new Map,this._latestMessageSentByPeerMap=new Map,this._latestMessageSentByMeMap=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 o=t[n];for(var r in o)if(Object.prototype.hasOwnProperty.call(o,r)){if(void 0===e[n][r]){this.options[n][r]=o[r];continue}this.options[n][r]=e[n][r]}}}},{key:"pushIn",value:function(e){var t=e.conversationID,n=e.ID,o=!0;return this.list.has(t)||this.list.set(t,new Map),this.list.has(t)&&this.list.get(t).has(n)?o=!1:(this.list.get(t).set(n,e),this._setLatestMessageSentByPeer(t,e),this._setLatestMessageSentByMe(t,e)),o}},{key:"unshift",value:function(e){var n;if(Me(e)?e.length>0&&(n=e[0].conversationID,this._unshiftMultipleMessages(e)):(n=e.conversationID,this._unshiftSingleMessage(e)),n&&n.startsWith(t.CONV_C2C)){var o=Array.from(this.list.get(n).values()),r=o.length;if(0===r)return;for(var i=r-1;i>=0;i--)if("out"===o[i].flow){this._setLatestMessageSentByMe(n,o[i]);break}for(var s=r-1;s>=0;s--)if("in"===o[s].flow){this._setLatestMessageSentByPeer(n,o[s]);break}}}},{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 o=Array.from(this.list.get(t));o.unshift([n,e]),this.list.set(t,new Map(o))}},{key:"_unshiftMultipleMessages",value:function(e){for(var t=e.length,n=[],o=e[0].conversationID,r=this.list.has(o)?Array.from(this.list.get(o)):[],i=0;i<t;i++)n.push([e[i].ID,e[i]]);this.list.set(o,new Map(n.concat(r)))}},{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(he.debug("revoke message",e,t,n),this.list.has(e)){var o,r=D(this.list.get(e));try{for(r.s();!(o=r.n()).done;){var i=y(o.value,2)[1];if(i.sequence===t&&!i.isRevoked&&(Ie(n)||i.random===n))return i.isRevoked=!0,i}}catch(s){r.e(s)}finally{r.f()}}return null}},{key:"removeByConversationID",value:function(e){this.list.has(e)&&(this.list.delete(e),this._latestMessageSentByPeerMap.delete(e),this._latestMessageSentByMeMap.delete(e))}},{key:"updateMessageIsPeerReadProperty",value:function(e,t){var n=[];if(this.list.has(e)){var o,r=D(this.list.get(e));try{for(r.s();!(o=r.n()).done;){var i=y(o.value,2)[1];i.time<=t&&!i.isPeerRead&&"out"===i.flow&&(i.isPeerRead=!0,n.push(i))}}catch(s){r.e(s)}finally{r.f()}he.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)?M(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:"_setLatestMessageSentByPeer",value:function(e,n){e.startsWith(t.CONV_C2C)&&"in"===n.flow&&this._latestMessageSentByPeerMap.set(e,n)}},{key:"_setLatestMessageSentByMe",value:function(e,n){e.startsWith(t.CONV_C2C)&&"out"===n.flow&&this._latestMessageSentByMeMap.set(e,n)}},{key:"getLatestMessageSentByPeer",value:function(e){return this._latestMessageSentByPeerMap.get(e)}},{key:"getLatestMessageSentByMe",value:function(e){return this._latestMessageSentByMeMap.get(e)}},{key:"modifyMessageSentByPeer",value:function(e){var t=this.list.get(e);if(!Qe(t)){var n=Array.from(t.values()),o=n.length;if(0!==o){for(var r=null,i=null,s=0,a=!1,u=o-1;u>=0;u--)"in"===n[u].flow&&(null===i?i=n[u]:((r=n[u]).nick!==i.nick&&(r.setNickAndAvatar({nick:i.nick}),a=!0),r.avatar!==i.avatar&&(r.setNickAndAvatar({avatar:i.avatar}),a=!0),a&&(s+=1)));he.log("MessagesList.modifyMessageSentByPeer conversationID=".concat(e," count=").concat(s))}}}},{key:"modifyMessageSentByMe",value:function(e){var t=e.conversationID,n=e.latestNick,o=e.latestAvatar,r=this.list.get(t);if(!Qe(r)){var i=Array.from(r.values()),s=i.length;if(0!==s){for(var a=null,u=0,c=!1,l=s-1;l>=0;l--)"out"===i[l].flow&&((a=i[l]).nick!==n&&(a.setNickAndAvatar({nick:n}),c=!0),a.avatar!==o&&(a.setNickAndAvatar({avatar:o}),c=!0),c&&(u+=1));he.log("MessagesList.modifyMessageSentByMe conversationID=".concat(t," count=").concat(u))}}}},{key:"reset",value:function(){this.list.clear(),this._latestMessageSentByPeerMap.clear(),this._latestMessageSentByMeMap.clear()}}]),e}(),ws=function(){function e(t){o(this,e),this.tim=t}return i(e,[{key:"setMessageRead",value:function(e){var n=e.conversationID,o=e.messageID,r=this.tim.conversationController,i=r.getLocalConversation(n);if(he.log("ReadReportHandler.setMessageRead conversationID=".concat(n," unreadCount=").concat(i?i.unreadCount:0)),!i)return br();if(i.type!==t.CONV_GROUP||Qe(i.groupAtInfoList)||r.deleteGroupAtTips(n),0===i.unreadCount)return br();var s=o?this.tim.messageController.getLocalMessage(n,o):null;switch(i.type){case t.CONV_C2C:return this._setC2CMessageRead({conversationID:n,lastMessageTime:s?s.time:i.lastMessage.lastTime});case t.CONV_GROUP:return this._setGroupMessageRead({conversationID:n,lastMessageSeq:s?s.sequence:i.lastMessage.lastSequence});case t.CONV_SYSTEM:return i.unreadCount=0,br();default:return br()}}},{key:"_setC2CMessageRead",value:function(e){var t=this,n=e.conversationID,o=e.lastMessageTime;he.log("ReadReportHandler._setC2CMessageRead conversationID=".concat(n," lastMessageTime=").concat(o)),fe(o)||he.warn("ReadReportHandler._setC2CMessageRead 请勿修改 Conversation.lastMessage.lastTime否则可能会导致已读上报结果不准确");var r=new Zr(mi);return r.setText("".concat(n,"-").concat(o)),this.tim.messageController.request({name:"conversation",action:"setC2CMessageRead",param:{C2CMsgReaded:{cookie:"",C2CMsgReadedItem:[{toAccount:n.replace("C2C",""),lastMessageTime:o,receipt:1}]}}}).then((function(){return r.setNetworkType(t.tim.netMonitor.getNetworkType()).setEnd(),he.log("ReadReportHandler._setC2CMessageRead ok."),t.updateIsReadAfterReadReport({conversationID:n,lastMessageTime:o}),t.updateUnreadCount(n),new wr})).catch((function(e){return t.tim.netMonitor.probe().then((function(t){var n=y(t,2),o=n[0],i=n[1];r.setError(e,o,i).setEnd()})),he.log("ReadReportHandler._setC2CMessageRead failed. ".concat(Ne(e))),Ur(e)}))}},{key:"_setGroupMessageRead",value:function(e){var t=this,n=e.conversationID,o=e.lastMessageSeq;he.log("ReadReportHandler._setGroupMessageRead conversationID=".concat(n," lastMessageSeq=").concat(o)),fe(o)||he.warn("ReadReportHandler._setGroupMessageRead 请勿修改 Conversation.lastMessage.lastSequence否则可能会导致已读上报结果不准确");var r=new Zr(fi);return r.setText("".concat(n,"-").concat(o)),this.tim.messageController.request({name:"conversation",action:"setGroupMessageRead",param:{groupID:n.replace("GROUP",""),messageReadSeq:o}}).then((function(){return r.setNetworkType(t.tim.netMonitor.getNetworkType()).setEnd(),he.log("ReadReportHandler._setGroupMessageRead ok."),t.updateIsReadAfterReadReport({conversationID:n,lastMessageSeq:o}),t.updateUnreadCount(n),new wr})).catch((function(e){return t.tim.netMonitor.probe().then((function(t){var n=y(t,2),o=n[0],i=n[1];r.setError(e,o,i).setEnd()})),he.log("ReadReportHandler._setGroupMessageRead failed. ".concat(Ne(e))),Ur(e)}))}},{key:"updateUnreadCount",value:function(e){var t=this.tim,n=t.conversationController,o=t.messageController,r=n.getLocalConversation(e),i=o.getLocalMessageList(e);r&&(r.unreadCount=i.filter((function(e){return!e.isRead&&!e.getOnlineOnlyFlag()})).length,he.log("ReadReportHandler.updateUnreadCount conversationID=".concat(r.conversationID," unreadCount=").concat(r.unreadCount)))}},{key:"updateIsReadAfterReadReport",value:function(e){var t=e.conversationID,n=e.lastMessageSeq,o=e.lastMessageTime,r=this.tim.messageController.getLocalMessageList(t);if(0!==r.length)for(var i,s=r.length-1;s>=0;s--)if(i=r[s],!(o&&i.time>o||n&&i.sequence>n)){if("in"===i.flow&&i.isRead)break;i.setIsRead(!0)}}},{key:"updateIsRead",value:function(e){var n=this.tim,o=n.conversationController,r=n.messageController,i=o.getLocalConversation(e),s=r.getLocalMessageList(e);if(i&&0!==s.length&&!je(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}(),Ps=function(){function e(t){var n=t.tim,r=t.messageController;o(this,e),this.tim=n,this.messageController=r,this.completedMap=new Map,this._initListener()}return i(e,[{key:"getMessageList",value:function(e){var t=this,n=e.conversationID,o=e.nextReqMessageID,r=e.count;if(this.tim.groupController.checkJoinedAVChatRoomByID(n.replace("GROUP","")))return he.log("GetMessageHandler.getMessageList not available in avchatroom. conversationID=".concat(n)),br({messageList:[],nextReqMessageID:"",isCompleted:!0});(Ie(r)||r>15)&&(r=15);var i=this._computeLeftCount({conversationID:n,nextReqMessageID:o});return he.log("GetMessageHandler.getMessageList. conversationID=".concat(n," leftCount=").concat(i," count=").concat(r," nextReqMessageID=").concat(o)),this._needGetHistory({conversationID:n,leftCount:i,count:r})?this.messageController.getHistoryMessages({conversationID:n,count:20}).then((function(){return i=t._computeLeftCount({conversationID:n,nextReqMessageID:o}),new wr(t._computeResult({conversationID:n,nextReqMessageID:o,count:r,leftCount:i}))})):(he.log("GetMessageHandler.getMessageList. get messagelist from memory"),this.messageController.modifyMessageList(n),br(this._computeResult({conversationID:n,nextReqMessageID:o,count:r,leftCount:i})))}},{key:"setCompleted",value:function(e){he.log("GetMessageHandler.setCompleted. conversationID=".concat(e)),this.completedMap.set(e,!0)}},{key:"deleteCompletedItem",value:function(e){he.log("GetMessageHandler.deleteCompletedItem. conversationID=".concat(e)),this.completedMap.delete(e)}},{key:"_initListener",value:function(){var e=this;this.tim.innerEmitter.on(Cr,(function(){e.setCompleted(t.CONV_SYSTEM)})),this.tim.innerEmitter.on(Mr,(function(n){var o=n.data;e.setCompleted("".concat(t.CONV_GROUP).concat(o))}))}},{key:"_getMessageListSize",value:function(e){return this.messageController.getLocalMessageList(e).length}},{key:"_needGetHistory",value:function(e){var n=e.conversationID,o=e.leftCount,r=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&&(o<r&&!this.completedMap.has(n))}},{key:"_computeResult",value:function(e){var t=e.conversationID,n=e.nextReqMessageID,o=e.count,r=e.leftCount,i=this._computeMessageList({conversationID:t,nextReqMessageID:n,count:o}),s=this._computeIsCompleted({conversationID:t,leftCount:r,count:o}),a=this._computeNextReqMessageID({messageList:i,isCompleted:s,conversationID:t});return he.log("GetMessageHandler._computeResult. conversationID=".concat(t," leftCount=").concat(r," count=").concat(o," 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,o=e.conversationID;if(!n)return 0===t.length?"":t[0].ID;var r=this.messageController.getLocalMessageList(o);return 0===r.length?"":r[0].ID}},{key:"_computeMessageList",value:function(e){var t=e.conversationID,n=e.nextReqMessageID,o=e.count,r=this.messageController.getLocalMessageList(t),i=this._computeIndexEnd({nextReqMessageID:n,messageList:r}),s=this._computeIndexStart({indexEnd:i,count:o});return r.slice(s,i)}},{key:"_computeIndexEnd",value:function(e){var t=e.messageList,n=void 0===t?[]:t,o=e.nextReqMessageID;return o?n.findIndex((function(e){return e.ID===o})):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(){he.log("GetMessageHandler.reset"),this.completedMap.clear()}}]),e}(),Gs=function e(t){o(this,e),this.value=t,this.next=null},bs=function(){function e(t){o(this,e),this.MAX_LENGTH=t,this.pTail=null,this.pNodeToDel=null,this.map=new Map,he.log("SinglyLinkedList init MAX_LENGTH=".concat(this.MAX_LENGTH))}return i(e,[{key:"pushIn",value:function(e){var t=new Gs(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}(),Us=function(){function e(t){o(this,e),this.tim=t}return i(e,[{key:"upload",value:function(e){if(!0===e.getRelayFlag())return Promise.resolve();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,o=t.messageController,r=e.getElements()[0],i=o.getMessageOptionByID(e.messageID);return n.uploadImage({file:i.payload.file,to:i.to,onProgress:function(e){if(r.updatePercent(e),Ee(i.onProgress))try{i.onProgress(e)}catch(t){return Ur(new qt({code:Ft.MESSAGE_ONPROGRESS_FUNCTION_ERROR,message:"".concat(en)}))}}}).then((function(t){var n=t.location,o=t.fileType,i=t.fileSize,s=t.width,a=t.height,c=Fe(n);r.updateImageFormat(o);var l=We({originUrl:c,originWidth:s,originHeight:a,min:198}),p=We({originUrl:c,originWidth:s,originHeight:a,min:720});return r.updateImageInfoArray([{size:i,url:c,width:s,height:a},u({},p),u({},l)]),e}))}},{key:"_uploadFile",value:function(e){var t=this.tim,n=t.uploadController,o=t.messageController,r=e.getElements()[0],i=o.getMessageOptionByID(e.messageID);return n.uploadFile({file:i.payload.file,to:i.to,onProgress:function(e){if(r.updatePercent(e),Ee(i.onProgress))try{i.onProgress(e)}catch(t){return Ur(new qt({code:Ft.MESSAGE_ONPROGRESS_FUNCTION_ERROR,message:"".concat(en)}))}}}).then((function(t){var n=t.location,o=Fe(n);return r.updateFileUrl(o),e}))}},{key:"_uploadAudio",value:function(e){var t=this.tim,n=t.uploadController,o=t.messageController,r=e.getElements()[0],i=o.getMessageOptionByID(e.messageID);return n.uploadAudio({file:i.payload.file,to:i.to,onProgress:function(e){if(r.updatePercent(e),Ee(i.onProgress))try{i.onProgress(e)}catch(t){return Ur(new qt({code:Ft.MESSAGE_ONPROGRESS_FUNCTION_ERROR,message:"".concat(en)}))}}}).then((function(t){var n=t.location,o=Fe(n);return r.updateAudioUrl(o),e}))}},{key:"_uploadVideo",value:function(e){var t=this.tim,n=t.uploadController,o=t.messageController,r=e.getElements()[0],i=o.getMessageOptionByID(e.messageID);return n.uploadVideo({file:i.payload.file,to:i.to,onProgress:function(e){if(r.updatePercent(e),Ee(i.onProgress))try{i.onProgress(e)}catch(t){return Ur(new qt({code:Ft.MESSAGE_ONPROGRESS_FUNCTION_ERROR,message:"".concat(en)}))}}}).then((function(t){var n=Fe(t.location);return r.updateVideoUrl(n),e}))}}]),e}(),qs="MergerMessageHandler",Fs=function(){function e(t){o(this,e),this.messageController=t}return i(e,[{key:"uploadMergerMessage",value:function(e,t){var n=this;he.debug("".concat(qs,".uploadMergerMessage message:"),e,"messageBytes=".concat(t));var o=e.payload,r=o.messageList,i=o.title,s=o.abstractList,a=o.compatibleText,u=o.version,c=r.length,l=new Zr(yi);return this.messageController.request({name:"mergerMessage",action:"create",param:{messageList:r,title:i,abstractList:s,compatibleText:a,messageNumber:c,version:u}}).then((function(e){he.debug("".concat(qs,".uploadMergerMessage ok. response:"),e.data);var o=e.data,r=o.pbDownloadKey,i=o.downloadKey,s={pbDownloadKey:r,downloadKey:i,messageNumber:c};return l.setNetworkType(n.messageController.getNetworkType()).setText("".concat(c,"-").concat(t,"-").concat(i)).setEnd(),s})).catch((function(e){throw he.warn("".concat(qs,".uploadMergerMessage failed. error:"),e),n.messageController.probeNetwork().then((function(t){var n=y(t,2),o=n[0],r=n[1];l.setError(e,o,r).setEnd()})),e}))}},{key:"downloadMergerMessage",value:function(e){var t=this;he.debug("".concat(qs,".downloadMergerMessage message:"),e);var n=e.payload.downloadKey,o=new Zr(Mi);return this.messageController.request({name:"mergerMessage",action:"query",param:{downloadKey:n}}).then((function(r){he.debug("".concat(qs,".downloadMergerMessage ok. response:"),r.data),e.clearElement(),e.setElement({type:e.type,content:r.data});var i=r.data.messageList.length;return o.setNetworkType(t.messageController.getNetworkType()).setText("".concat(i,"-").concat(n)).setEnd(),e})).catch((function(e){throw he.warn("".concat(qs,".downloadMergerMessage failed. error:"),e),t.messageController.probeNetwork().then((function(t){var n=y(t,2),r=n[0],i=n[1];o.setError(e,r,i).setEnd()})),e}))}},{key:"createMergerMessagePack",value:function(e,n,o){return e.conversationType===t.CONV_C2C?this._createC2CMergerMessagePack(e,n,o):this._createGroupMergerMessagePack(e,n,o)}},{key:"_createC2CMergerMessagePack",value:function(e,t,n){var o=null;t&&(t.offlinePushInfo&&(o=t.offlinePushInfo),!0===t.onlineUserOnly&&(o?o.disablePush=!0:o={disablePush:!0}));var r=n.pbDownloadKey,i=n.downloadKey,s=n.messageNumber,a=e.payload,u=a.title,c=a.abstractList,l=a.compatibleText;return{name:"c2cMessage",action:"create",tjgID:this.messageController.generateTjgID(e),param:{toAccount:e.to,msgBody:[{msgType:e.type,msgContent:{pbDownloadKey:r,downloadKey:i,title:u,abstractList:c,compatibleText:l,messageNumber:s}}],msgSeq:e.sequence,msgRandom:e.random,msgLifeTime:this.messageController.isOnlineMessage(e,t)?0:void 0,offlinePushInfo:o?{pushFlag:!0===o.disablePush?1:0,title:o.title||"",desc:o.description||"",ext:o.extension||"",apnsInfo:{badgeMode:!0===o.ignoreIOSBadge?1:0},androidInfo:{OPPOChannelID:o.androidOPPOChannelID||""}}:void 0}}}},{key:"_createGroupMergerMessagePack",value:function(e,t,n){var o=null;t&&t.offlinePushInfo&&(o=t.offlinePushInfo);var r=n.pbDownloadKey,i=n.downloadKey,s=n.messageNumber,a=e.payload,u=a.title,c=a.abstractList,l=a.compatibleText;return{name:"groupMessage",action:"create",tjgID:this.messageController.generateTjgID(e),param:{groupID:e.to,msgBody:[{msgType:e.type,msgContent:{pbDownloadKey:r,downloadKey:i,title:u,abstractList:c,compatibleText:l,messageNumber:s}}],random:e.random,priority:e.priority,clientSequence:e.clientSequence,groupAtInfo:void 0,onlineOnlyFlag:this.messageController.isOnlineMessage(e,t)?1:0,offlinePushInfo:o?{pushFlag:!0===o.disablePush?1:0,title:o.title||"",desc:o.description||"",ext:o.extension||"",apnsInfo:{badgeMode:!0===o.ignoreIOSBadge?1:0},androidInfo:{OPPOChannelID:o.androidOPPOChannelID||""}}:void 0}}}}]),e}(),xs=function(n){c(s,n);var r=_(s);function s(e){var t;return o(this,s),(t=r.call(this,e))._initializeMembers(),t._initializeListener(),t._initializeHandlers(),t.messageOptionMap=new Map,t}return i(s,[{key:"_initializeMembers",value:function(){this.messagesList=new Ls({tim:this.tim}),this.currentMessageKey={},this.singlyLinkedList=new bs(100),this._peerReadTimeMap=new Map}},{key:"_initializeHandlers",value:function(){this.readReportHandler=new ws(this.tim,this),this.getMessageHandler=new Ps({messageController:this,tim:this.tim}),this.uploadFileHandler=new Us(this.tim),this.mergerMessageHandler=new Fs(this)}},{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(Jo,this._onReceiveC2CMessage,this),e.on(bo,this._onSyncMessagesProcessing,this),e.on(Uo,this._onSyncMessagesFinished,this),e.on(Xo,this._onReceiveGroupMessage,this),e.on(Qo,this._onReceiveGroupTips,this),e.on(er,this._onReceiveSystemNotice,this),e.on(or,this._onReceiveGroupMessageRevokedNotice,this),e.on(rr,this._onReceiveGroupMessageReadNotice,this),e.on(ir,this._onReceiveC2CMessageRevokedNotice,this),e.on(sr,this._onC2CMessageReadReceipt,this),e.on(ar,this._onC2CMessageReadNotice,this),e.on(_r,this._clearConversationMessages,this)}},{key:"_guardForAVChatRoom",value:function(e){if(e.conversationType===t.CONV_GROUP){var n=this.tim.groupController,o=e.to;return n.hasLocalGroup(o)?Promise.resolve():n.getGroupProfile({groupID:o}).then((function(n){var r=n.data.group.type;if(he.log("MessageController._guardForAVChatRoom. groupID=".concat(o," type=").concat(r)),r===t.GRP_AVCHATROOM){var i="userId=".concat(e.from," 未加入群 groupID=").concat(o,"。发消息前先使用 joinGroup 接口申请加群,详细请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#joinGroup");return he.warn("MessageController._guardForAVChatRoom sendMessage not allowed. ".concat(i)),Ur(new qt({code:Ft.MESSAGE_SEND_FAIL,message:i,data:{message:e}}))}return Promise.resolve()}))}return Promise.resolve()}},{key:"sendMessageInstance",value:function(e,n){var o,r=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 Ur(new qt({code:Ft.MESSAGE_SEND_INVALID_CONVERSATION_TYPE,message:Qt}))}return this.singlyLinkedList.pushIn(e.random),this.uploadFileHandler.upload(e).then((function(){return r._guardForAVChatRoom(e).then((function(){var i=null;if(!e.isSendable())return Ur({code:Ft.MESSAGE_FILE_URL_IS_EMPTY,message:hn});r._addSendMessageTotalCount(e),o=Date.now();var s=function(e){var t="utf-8";V&&document&&(t=document.charset.toLowerCase());var n,o,r=0;if(o=e.length,"utf-8"===t||"utf8"===t)for(var i=0;i<o;i++)(n=e.codePointAt(i))<=127?r+=1:n<=2047?r+=2:n<=65535?r+=3:(r+=4,i++);else if("utf-16"===t||"utf16"===t)for(var s=0;s<o;s++)(n=e.codePointAt(s))<=65535?r+=2:(r+=4,s++);else r=e.replace(/[^\x00-\xff]/g,"aa").length;return r}(JSON.stringify(e));return e.type===t.MSG_MERGER&&s>7e3?r.mergerMessageHandler.uploadMergerMessage(e,s).then((function(t){return i=r.mergerMessageHandler.createMergerMessagePack(e,n,t),r.request(i)})):(e.conversationType===t.CONV_C2C?i=r._createC2CMessagePack(e,n):e.conversationType===t.CONV_GROUP&&(i=r._createGroupMessagePack(e,n)),r.request(i))})).then((function(s){r._addSendMessageSuccessCount(e,o);var a=!1;if(e.conversationType===t.CONV_GROUP)e.sequence=s.data.sequence,e.time=s.data.time,e.generateMessageID(r.tim.context.identifier);else if(e.conversationType===t.CONV_C2C){var u=r.messagesList.getLatestMessageSentByMe(e.conversationID);if(u){var c=u.nick,l=u.avatar;c===e.nick&&l===e.avatar||(a=!0)}}return r.messagesList.pushIn(e),i(e,s.data),a&&r.messagesList.modifyMessageSentByMe({conversationID:e.conversationID,latestNick:e.nick,latestAvatar:e.avatar}),r.messageOptionMap.delete(e.messageID),r.isOnlineMessage(e,n)?e.setOnlineOnlyFlag(!0):r.emitInnerEvent(qo,{eventDataList:[{conversationID:e.conversationID,unreadCount:0,type:e.conversationType,subType:e.conversationSubType,lastMessage:e}]}),e.getRelayFlag()||"TIMImageElem"!==e.type||Je(e.payload.imageInfoArray),new wr({message:e})})).catch((function(t){e.status=it.FAIL;var n=new Zr(li);return n.setMessageType(e.type).setText("".concat(r.generateTjgID(e),"-").concat(e.type,"-").concat(e.from,"-").concat(e.to)),r.probeNetwork().then((function(e){var o=y(e,2),r=o[0],i=o[1];n.setError(t,r,i).setEnd()})),he.error("MessageController.sendMessageInstance error:",t),Ur(new qt({code:t&&t.code?t.code:Ft.MESSAGE_SEND_FAIL,message:t&&t.message?t.message:Wt,data:{message:e}}))}))}))}},{key:"_getSendMessageSpecifiedKey",value:function(e){if(e.conversationType===t.CONV_C2C)return Br;if(e.conversationType===t.CONV_GROUP){var n=this.tim.groupController.getLocalGroupProfile(e.to);if(!n)return;var o=n.type;if(Ve(o))return Hr;if(Ke(o))return jr;if(Be(o))return $r;if(He(o))return Yr}}},{key:"_addSendMessageTotalCount",value:function(e){var t=this.tim.sumStatController;t.addTotalCount(Kr);var n=this._getSendMessageSpecifiedKey(e);n&&t.addTotalCount(n)}},{key:"_addSendMessageSuccessCount",value:function(e,t){var n=this.tim.sumStatController,o=Math.abs(Date.now()-t);n.addSuccessCount(Kr),n.addCost(Kr,o);var r=this._getSendMessageSpecifiedKey(e);r&&(n.addSuccessCount(r),n.addCost(r,o))}},{key:"resendMessage",value:function(e){return e.isResend=!0,e.status=it.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:"isOnlineMessage",value:function(e,t){return!(!this._canIUseOnlineOnlyFlag(e)||!t||!0!==t.onlineUserOnly)}},{key:"_createC2CMessagePack",value:function(e,t){var n=null;return t&&(t.offlinePushInfo&&(n=t.offlinePushInfo),!0===t.onlineUserOnly&&(n?n.disablePush=!0:n={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.isOnlineMessage(e,t)?0:void 0,nick:e.nick,avatar:e.avatar,offlinePushInfo:n?{pushFlag:!0===n.disablePush?1:0,title:n.title||"",desc:n.description||"",ext:n.extension||"",apnsInfo:{badgeMode:!0===n.ignoreIOSBadge?1:0},androidInfo:{OPPOChannelID:n.androidOPPOChannelID||""}}:void 0}}}},{key:"_handleOnSendC2CMessageSuccess",value:function(e,t){e.status=it.SUCCESS,e.time=t.time}},{key:"_createGroupMessagePack",value:function(e,n){var o=null;n&&n.offlinePushInfo&&(o=n.offlinePushInfo);var r=e.getGroupAtInfoList();return{name:"groupMessage",action:"create",tjgID:this.generateTjgID(e),param:{groupID:e.to,msgBody:e.getElements(),random:e.random,priority:e.priority,clientSequence:e.clientSequence,groupAtInfo:e.type!==t.MSG_TEXT||Qe(r)?void 0:r,onlineOnlyFlag:this.isOnlineMessage(e,n)?1:0,offlinePushInfo:o?{pushFlag:!0===o.disablePush?1:0,title:o.title||"",desc:o.description||"",ext:o.extension||"",apnsInfo:{badgeMode:!0===o.ignoreIOSBadge?1:0},androidInfo:{OPPOChannelID:o.androidOPPOChannelID||""}}:void 0}}}},{key:"_handleOnSendGroupMessageSuccess",value:function(e,t){e.sequence=t.sequence,e.time=t.time,e.status=it.SUCCESS}},{key:"_onReceiveC2CMessage",value:function(n){he.debug("MessageController._onReceiveC2CMessage nums=".concat(n.data.length));var o=Date.now(),r=this._newC2CMessageStoredAndSummary({notifiesList:n.data,type:t.CONV_C2C,C2CRemainingUnreadList:n.C2CRemainingUnreadList}),i=r.eventDataList,s=r.result;if(i.length>0&&this.emitInnerEvent(Vo,{eventDataList:i,result:s}),s.length>0){var a=this.tim.sumStatController;a.addTotalCount(zr),a.addSuccessCount(zr),a.addCost(zr,Date.now()-o),this.emitOuterEvent(e.MESSAGE_RECEIVED,s)}}},{key:"_onReceiveGroupMessage",value:function(t){he.debug("MessageController._onReceiveGroupMessage nums=".concat(t.data.length));var n=Date.now(),o=this.newGroupMessageStoredAndSummary(t.data),r=o.eventDataList,i=o.result;if(r.length>0&&this.emitInnerEvent(Ko,{eventDataList:r,result:i,isGroupTip:!1}),i.length>0){var s=this.tim.sumStatController;s.addTotalCount(zr),s.addSuccessCount(zr),s.addCost(zr,Date.now()-n),this.emitOuterEvent(e.MESSAGE_RECEIVED,i)}}},{key:"_onReceiveGroupTips",value:function(t){var n=Date.now(),o=t.data;he.debug("MessageController._onReceiveGroupTips nums=".concat(o.length));var r=this.newGroupTipsStoredAndSummary(o),i=r.eventDataList,s=r.result;if(i.length>0&&this.emitInnerEvent(Ko,{eventDataList:i,result:s,isGroupTip:!0}),s.length>0){var a=this.tim.sumStatController;a.addTotalCount(zr),a.addSuccessCount(zr),a.addCost(zr,Date.now()-n),this.emitOuterEvent(e.MESSAGE_RECEIVED,s)}}},{key:"_onReceiveSystemNotice",value:function(t){var n=Date.now(),o=t.data,r=o.groupSystemNotices,i=o.type;he.debug("MessageController._onReceiveSystemNotice nums=".concat(r.length));var s=this.newSystemNoticeStoredAndSummary({notifiesList:r,type:i}),a=s.eventDataList,u=s.result;if(a.length>0&&this.emitInnerEvent(Bo,{eventDataList:a,result:u,type:i}),u.length>0&&"poll"===i){var c=this.tim.sumStatController;c.addTotalCount(zr),c.addSuccessCount(zr),c.addCost(zr,Date.now()-n),this.emitOuterEvent(e.MESSAGE_RECEIVED,u)}}},{key:"_onReceiveGroupMessageRevokedNotice",value:function(t){var n=this;he.debug("MessageController._onReceiveGroupMessageRevokedNotice nums=".concat(t.data.length));var o=[],r=null;t.data.forEach((function(e){var t=e.elements.revokedInfos;Ie(t)||t.forEach((function(e){(r=n.messagesList.revoke("GROUP".concat(e.groupID),e.sequence))&&o.push(r)}))})),0!==o.length&&(this.emitInnerEvent(Ho,o),this.emitOuterEvent(e.MESSAGE_REVOKED,o))}},{key:"_onReceiveGroupMessageReadNotice",value:function(e){var n=this;e.data.forEach((function(e){var o=e.elements.groupMessageReadNotice;Ie(o)||o.forEach((function(e){var o=e.groupID,r=e.lastMessageSeq;he.debug("MessageController._onReceiveGroupMessageReadNotice groupID=".concat(o," lastMessageSeq=").concat(r));var i="".concat(t.CONV_GROUP).concat(o);n.readReportHandler.updateIsReadAfterReadReport({conversationID:i,lastMessageSeq:r}),n.readReportHandler.updateUnreadCount(i)}))}))}},{key:"_onReceiveC2CMessageRevokedNotice",value:function(n){var o=this;he.debug("MessageController._onReceiveC2CMessageRevokedNotice nums=".concat(n.data.length));var r=[],i=null;n.data.forEach((function(e){if(e.c2cMessageRevokedNotify){var n=e.c2cMessageRevokedNotify.revokedInfos;Ie(n)||n.forEach((function(e){var n=o.tim.context.identifier===e.from?"".concat(t.CONV_C2C).concat(e.to):"".concat(t.CONV_C2C).concat(e.from);(i=o.messagesList.revoke(n,e.sequence,e.random))&&r.push(i)}))}})),0!==r.length&&(this.emitInnerEvent(Ho,r),this.emitOuterEvent(e.MESSAGE_REVOKED,r))}},{key:"_onC2CMessageReadReceipt",value:function(e){var n=this;e.data.forEach((function(e){if(!Qe(e.c2cMessageReadReceipt)){var o=e.c2cMessageReadReceipt.to;e.c2cMessageReadReceipt.uinPairReadArray.forEach((function(e){var r=e.peerReadTime;he.debug("MessageController._onC2CMessageReadReceipt to=".concat(o," peerReadTime=").concat(r));var i="".concat(t.CONV_C2C).concat(o);n.recordPeerReadTime(i,r),n._updateMessageIsPeerReadProperty(i,r)}))}}))}},{key:"_onC2CMessageReadNotice",value:function(e){var n=this;e.data.forEach((function(e){Qe(e.c2cMessageReadNotice)||e.c2cMessageReadNotice.uinPairReadArray.forEach((function(e){var o=e.from,r=e.peerReadTime;he.debug("MessageController._onC2CMessageReadNotice from=".concat(o," lastReadTime=").concat(r));var i="".concat(t.CONV_C2C).concat(o);n.readReportHandler.updateIsReadAfterReadReport({conversationID:i,lastMessageTime:r}),n.readReportHandler.updateUnreadCount(i)}))}))}},{key:"_updateMessageIsPeerReadProperty",value:function(n,o){if(n.startsWith(t.CONV_C2C)&&o>0){var r=this.messagesList.updateMessageIsPeerReadProperty(n,o);r.length>0&&this.emitOuterEvent(e.MESSAGE_READ_BY_PEER,r)}}},{key:"getPeerReadTime",value:function(e){var t=this;if(!Qe(e)){var n=new Zr(_i);return he.log("MessageController.getPeerReadTime userIDList:".concat(e)),this.request({name:"c2cPeerReadTime",action:"get",param:{userIDList:e}}).then((function(o){var r=o.data.peerReadTimeList;he.log("MessageController.getPeerReadTime ok. peerReadTimeList:".concat(r));for(var i="",s=0;s<e.length;s++)i+="".concat(e[s],"-").concat(r[s]," "),r[s]>0&&t.recordPeerReadTime("C2C".concat(e[s]),r[s]);n.setNetworkType(t.getNetworkType()).setText(i).setEnd()})).catch((function(e){t.probeNetwork().then((function(t){var o=y(t,2),r=o[0],i=o[1];n.setError(e,r,i).setEnd()})),he.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:"_getNickAndAvatarByUserID",value:function(e){return this.tim.userController.getNickAndAvatarByUserID(e)}},{key:"_newC2CMessageStoredAndSummary",value:function(e){for(var n=e.notifiesList,o=e.type,r=e.C2CRemainingUnreadList,i=e.isFromSync,s=null,a=[],u=[],c={},l=this.tim.bigDataHallwayController,p=0,g=n.length;p<g;p++){var d=n[p];if(d.currentUser=this.tim.context.identifier,d.conversationType=o,d.isSystemMessage=!!d.isSystemMessage,s=new po(d),d.elements=l.parseElements(d.elements,d.from),s.setElement(d.elements),s.setNickAndAvatar({nick:d.nick,avatar:d.avatar}),!i){var h=s.conversationID,m=!1;if(s.from!==this.tim.context.identifier){var f=this.messagesList.getLatestMessageSentByPeer(h);if(f){var v=f.nick,_=f.avatar;v===s.nick&&_===s.avatar||(m=!0)}}else{var y=this.messagesList.getLatestMessageSentByMe(h);if(y){var M=y.nick,I=y.avatar;M===s.nick&&I===s.avatar||this.messagesList.modifyMessageSentByMe({conversationID:h,latestNick:s.nick,latestAvatar:s.avatar})}}if(!this._pushIntoNoticeResult(u,s))continue;m&&(this.messagesList.modifyMessageSentByPeer(h),this.tim.conversationController.updateUserProfileSpecifiedKey({conversationID:h,nick:s.nick,avatar:s.avatar}))}0!==d.msgLifeTime?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++):s.setOnlineOnlyFlag(!0)}if(Me(r))for(var C=function(e,n){var o=a.find((function(t){return t.conversationID==="C2C".concat(r[e].from)}));o?o.unreadCount+=r[e].count:a.push({conversationID:"C2C".concat(r[e].from),unreadCount:r[e].count,type:t.CONV_C2C,lastMsgTime:r[e].lastMsgTime})},E=0,T=r.length;E<T;E++)C(E);return{eventDataList:a,result:u}}},{key:"newGroupMessageStoredAndSummary",value:function(e){var n=null,o=[],r={},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 po(l),l.elements=a.parseElements(l.elements,l.from),n.setElement(l.elements),!this._isMessageFromAVChatroom(n))this._pushIntoNoticeResult(i,n)&&(1!==l.onlineOnlyFlag?void 0===r[n.conversationID]?r[n.conversationID]=o.push({conversationID:n.conversationID,unreadCount:"out"===n.flow?0:1,type:n.conversationType,subType:n.conversationSubType,lastMessage:n})-1:(o[r[n.conversationID]].type=n.conversationType,o[r[n.conversationID]].subType=n.conversationSubType,o[r[n.conversationID]].lastMessage=n,"in"===n.flow&&o[r[n.conversationID]].unreadCount++):n.setOnlineOnlyFlag(!0))}return{eventDataList:o,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,o=[],r=[],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 po(c)).setElement({type:t.MSG_GRP_TIP,content:u(u({},c.elements),{},{groupProfile:c.groupProfile})}),n.isSystemMessage=!1,!this._isMessageFromAVChatroom(n))this._pushIntoNoticeResult(r,n)&&(void 0===i[n.conversationID]?i[n.conversationID]=o.push({conversationID:n.conversationID,unreadCount:"out"===n.flow?0:1,type:n.conversationType,subType:n.conversationSubType,lastMessage:n})-1:(o[i[n.conversationID]].type=n.conversationType,o[i[n.conversationID]].subType=n.conversationSubType,o[i[n.conversationID]].lastMessage=n,"in"===n.flow&&o[i[n.conversationID]].unreadCount++))}return{eventDataList:o,result:r}}},{key:"newSystemNoticeStoredAndSummary",value:function(e){var n=e.notifiesList,o=e.type,r=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!==_t)l.currentUser=this.tim.context.identifier,l.conversationType=t.CONV_SYSTEM,l.conversationID=t.CONV_SYSTEM,(r=new po(l)).setElement({type:t.MSG_GRP_SYS_NOTICE,content:u(u({},l.elements),{},{groupProfile:l.groupProfile})}),r.isSystemMessage=!0,(1===r.sequence&&1===r.random||2===r.sequence&&2===r.random)&&(r.sequence=we(),r.random=we(),r.generateMessageID(l.currentUser),he.log("MessageController.newSystemNoticeStoredAndSummary sequence and random maybe duplicated, regenerate. ID=".concat(r.ID))),this._pushIntoNoticeResult(a,r)&&("poll"===o?c.unreadCount++:"sync"===o&&r.setIsRead(!0),c.subType=r.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}),o=n.eventDataList,r=n.result;this.emitInnerEvent(Fo,{eventDataList:o,result:r})}},{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}),o=n.eventDataList,r=n.result;this.emitInnerEvent(xo,{eventDataList:o,result:r})}},{key:"getHistoryMessages",value:function(e){if(e.conversationID===t.CONV_SYSTEM)return br();!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 o="";switch(n.conversationType){case t.CONV_C2C:return o=e.conversationID.replace(t.CONV_C2C,""),this.getC2CRoamMessages({conversationID:e.conversationID,peerAccount:o,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 br()}}},{key:"getC2CRoamMessages",value:function(e){var n=this,o=e.conversationID,r=void 0!==this.currentMessageKey[o]?this.currentMessageKey[o]:"";he.log("MessageController.getC2CRoamMessages toAccount=".concat(e.peerAccount," count=").concat(e.count||15," lastMessageTime=").concat(e.lastMessageTime||0," messageKey=").concat(r));var i=new Zr(gi);return this.request({name:"c2cMessage",action:"query",param:{peerAccount:e.peerAccount,count:e.count||15,lastMessageTime:e.lastMessageTime||0,messageKey:r}}).then((function(s){var a=s.data,u=a.complete,c=a.messageList;Ie(c)?he.log("MessageController.getC2CRoamMessages ok. complete=".concat(u," but messageList is undefined!")):he.log("MessageController.getC2CRoamMessages ok. complete=".concat(u," nums=").concat(c.length)),i.setNetworkType(n.getNetworkType()).setText("".concat(e.peerAccount,"-").concat(e.count||15,"-").concat(e.lastMessageTime||0,"-").concat(r,"-").concat(u,"-").concat(c?c.length:"undefined")).setEnd(),1===u&&n.getMessageHandler.setCompleted(o);var l=n._roamMessageStore(c,t.CONV_C2C,o);n.modifyMessageList(o),n.readReportHandler.updateIsRead(o),n.currentMessageKey[o]=s.data.messageKey;var p=n._peerReadTimeMap.get(o);if(he.log("MessageController.getC2CRoamMessages update isPeerRead property. conversationID=".concat(o," peerReadTime=").concat(p)),p)n._updateMessageIsPeerReadProperty(o,p);else{var g=o.replace(t.CONV_C2C,"");n.getPeerReadTime([g]).then((function(){n._updateMessageIsPeerReadProperty(o,n._peerReadTimeMap.get(o))}))}return l})).catch((function(t){return n.probeNetwork().then((function(n){var o=y(n,2),s=o[0],a=o[1];i.setError(t,s,a).setText("".concat(e.peerAccount,"-").concat(e.count||15,"-").concat(e.lastMessageTime||0,"-").concat(r)).setEnd()})),he.warn("MessageController.getC2CRoamMessages failed. ".concat(t)),Ur(t)}))}},{key:"modifyMessageList",value:function(e){if(e.startsWith(t.CONV_C2C)){var n=Date.now();this.messagesList.modifyMessageSentByPeer(e);var o=this._getNickAndAvatarByUserID(this.tim.context.identifier);this.messagesList.modifyMessageSentByMe({conversationID:e,latestNick:o.nick,latestAvatar:o.avatar}),he.log("MessageController.modifyMessageList conversationID=".concat(e," cost ").concat(Date.now()-n," ms"))}}},{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,o=new Zr(di),r=0;return this._computeLastSequence(e).then((function(t){return r=t,he.log("MessageController.getGroupRoamMessages groupID=".concat(e.groupID," lastSequence=").concat(r)),n.request({name:"groupMessage",action:"query",param:{groupID:e.groupID,count:21,sequence:r}})})).then((function(i){var s=i.data,a=s.messageList,u=s.complete;Ie(a)?he.log("MessageController.getGroupRoamMessages ok. complete=".concat(u," but messageList is undefined!")):he.log("MessageController.getGroupRoamMessages ok. complete=".concat(u," nums=").concat(a.length)),o.setNetworkType(n.getNetworkType()).setText("".concat(e.groupID,"-").concat(r,"-").concat(u,"-").concat(a?a.length:"undefined")).setEnd();var c="GROUP".concat(e.groupID);if(2===u||Qe(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=y(n,2),s=i[0],a=i[1];o.setError(t,s,a).setText("".concat(e.groupID,"-").concat(r)).setEnd()})),he.warn("MessageController.getGroupRoamMessages failed. ".concat(t)),Ur(t)}))}},{key:"_patchConversationLastMessage",value:function(e){var t=this.tim.conversationController.getLocalConversation(e);if(t){var n=t.lastMessage,o=n.messageForShow,r=n.payload;if(Qe(o)||Qe(r)){var i=this.messagesList.getLocalMessageList(e);if(0===i.length)return;var s=i[i.length-1];he.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,o=arguments.length>2?arguments[2]:void 0,r=null,i=[],s=0,a=e.length,c=null,l=n===t.CONV_GROUP,p=this.tim.bigDataHallwayController,g=function(){s=l?e.length-1:0,a=l?0:e.length},d=function(){l?--s:++s},h=function(){return l?s>=a:s<a};for(g();h();d())if(l&&1===e[s].sequence&&this.getMessageHandler.setCompleted(o),1!==e[s].isPlaceMessage)if((r=new po(e[s])).to=e[s].to,r.isSystemMessage=!!e[s].isSystemMessage,r.conversationType=n,e[s].event===ut.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),l||r.setNickAndAvatar({nick:e[s].nick,avatar:e[s].avatar}),Qe(c)){var m=new Zr(vi);m.setText("from:".concat(r.from," to:").concat(r.to," sequence:").concat(r.sequence," event:").concat(e[s].event)),m.setNetworkType(this.getNetworkType()).setEnd()}else r.setElement(c),r.reInitialize(this.tim.context.identifier),i.push(r);return this.messagesList.unshift(i),g=d=h=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 po&&this.messagesList.remove(e)}},{key:"revokeMessage",value:function(e){var n,o=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 r=new Zr(hi);return r.setMessageType(e.type).setText("".concat(this.generateTjgID(e),"-").concat(e.type,"-").concat(e.from,"-").concat(e.to)),this.request(n).then((function(t){var n=t.data.recallRetList;if(!Qe(n)&&0!==n[0].retCode){var i=new qt({code:n[0].retCode,message:Ut[n[0].retCode]||tn,data:{message:e}});return r.setCode(i.code).setMessage(i.message).setEnd(),Ur(i)}return he.info("MessageController.revokeMessage ok. ID=".concat(e.ID)),e.isRevoked=!0,r.setEnd(),o.emitInnerEvent(Ho,[e]),new wr({message:e})})).catch((function(t){o.probeNetwork().then((function(e){var n=y(e,2),o=n[0],i=n[1];r.setError(t,o,i).setEnd()}));var n=new qt({code:t&&t.code?t.code:Ft.MESSAGE_REVOKE_FAIL,message:t&&t.message?t.message:tn,data:{message:e}});return he.warn("MessageController.revokeMessage failed. ID=".concat(e.ID," code=").concat(n.code," message=").concat(n.message)),Ur(n)}))}},{key:"setMessageRead",value:function(e){var t=this;return new Promise((function(n,o){t.ready((function(){t.readReportHandler.setMessageRead(e).then(n).catch(o)}))}))}},{key:"getMessageList",value:function(e){return this.getMessageHandler.getMessageList(e)}},{key:"createTextMessage",value:function(e){var t=this.tim.context.identifier;e.currentUser=t;var n=new po(e),o="string"==typeof e.payload?e.payload:e.payload.text,r=new at({text:o}),i=this._getNickAndAvatarByUserID(t);return n.setElement(r),n.setNickAndAvatar(i),n}},{key:"createCustomMessage",value:function(e){var t=this.tim.context.identifier;e.currentUser=t;var n=new po(e),o=new io({data:e.payload.data,description:e.payload.description,extension:e.payload.extension}),r=this._getNickAndAvatarByUserID(t);return n.setElement(o),n.setNickAndAvatar(r),n}},{key:"createImageMessage",value:function(e){var t=this.tim.context.identifier;e.currentUser=t;var n=new po(e);if(x){var o=e.payload.file;if(me(o))return void he.warn("小程序环境下调用 createImageMessage 接口时payload.file 不支持传入 File 对象");var r=o.tempFilePaths[0],i={url:r,name:r.slice(r.lastIndexOf("/")+1),size:o.tempFiles&&o.tempFiles[0].size||1,type:r.slice(r.lastIndexOf(".")+1).toLowerCase()};e.payload.file=i}else if(V&&me(e.payload.file)){var s=e.payload.file;e.payload.file={files:[s]}}var a=new kt({imageFormat:ut.IMAGE_FORMAT.UNKNOWN,uuid:this._generateUUID(),file:e.payload.file}),u=this._getNickAndAvatarByUserID(t);return n.setElement(a),n.setNickAndAvatar(u),this.messageOptionMap.set(n.messageID,e),n}},{key:"createFileMessage",value:function(e){if(!x){if(V&&me(e.payload.file)){var t=e.payload.file;e.payload.file={files:[t]}}var n=this.tim.context.identifier;e.currentUser=n;var o=new po(e),r=new ro({uuid:this._generateUUID(),file:e.payload.file}),i=this._getNickAndAvatarByUserID(n);return o.setElement(r),o.setNickAndAvatar(i),this.messageOptionMap.set(o.messageID,e),o}he.warn("小程序目前不支持选择文件, createFileMessage 接口不可用!")}},{key:"createAudioMessage",value:function(e){if(x){var t=e.payload.file;if(x){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}var o=this.tim.context.identifier;e.currentUser=o;var r=new po(e),i=new Ot({second:Math.floor(t.duration/1e3),size:t.fileSize,url:t.tempFilePath,uuid:this._generateUUID()}),s=this._getNickAndAvatarByUserID(o);return r.setElement(i),r.setNickAndAvatar(s),this.messageOptionMap.set(r.messageID,e),r}he.warn("createAudioMessage 目前只支持小程序环境下发语音消息")}},{key:"createVideoMessage",value:function(e){var t=this.tim.context.identifier;e.currentUser=t,e.payload.file.thumbUrl="https://webim-1252463788.cos.ap-shanghai.myqcloud.com/assets/images/transparent.png",e.payload.file.thumbSize=1668;var n={};if(x){if(me(e.payload.file))return void he.warn("小程序环境下调用 createVideoMessage 接口时payload.file 不支持传入 File 对象");var o=e.payload.file;n.url=o.tempFilePath,n.name=o.tempFilePath.slice(o.tempFilePath.lastIndexOf("/")+1),n.size=o.size,n.second=o.duration,n.type=o.tempFilePath.slice(o.tempFilePath.lastIndexOf(".")+1).toLowerCase()}else if(V){if(me(e.payload.file)){var r=e.payload.file;e.payload.file.files=[r]}var i=e.payload.file;n.url=window.URL.createObjectURL(i.files[0]),n.name=i.files[0].name,n.size=i.files[0].size,n.second=i.files[0].duration||0,n.type=i.files[0].type.split("/")[1]}e.payload.file.videoFile=n;var s=new po(e),a=new so({videoFormat:n.type,videoSecond:Number(n.second.toFixed(0)),videoSize:n.size,remoteVideoUrl:"",videoUrl:n.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()}),u=this._getNickAndAvatarByUserID(t);return s.setElement(a),s.setNickAndAvatar(u),this.messageOptionMap.set(s.messageID,e),s}},{key:"createFaceMessage",value:function(e){var t=this.tim.context.identifier;e.currentUser=t;var n=new po(e),o=new At(e.payload),r=this._getNickAndAvatarByUserID(t);return n.setElement(o),n.setNickAndAvatar(r),n}},{key:"createMergerMessage",value:function(e){var t=this.tim.context.identifier;e.currentUser=t;var n=this._getNickAndAvatarByUserID(t),o=new po(e),r=new co(e.payload);return o.setElement(r),o.setNickAndAvatar(n),o.setRelayFlag(!0),o}},{key:"createForwardMessage",value:function(e){var n=e.to,o=e.conversationType,r=e.priority,i=e.payload;if(i.type===t.MSG_GRP_TIP)return Ur(new qt({code:Ft.MESSAGE_FORWARD_TYPE_INVALID,message:_n}));var s={to:n,conversationType:o,conversationID:"".concat(o).concat(n),priority:r,isPlaceMessage:0,status:it.UNSEND,currentUser:this.tim.context.identifier},a=new po(s);return a.setElement(i.getElements()[0]),a.setRelayFlag(!0),a}},{key:"downloadMergerMessage",value:function(e){return this.mergerMessageHandler.downloadMergerMessage(e)}},{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+=Pe[Math.floor(Math.random()*Ge)];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))}},{key:"pushToMessageList",value:function(e){this.messagesList.pushIn(e)}}]),s}(Nr),Vs=function(){function e(t){o(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&&xe(this.memberCustomField,e.memberCustomField),Oe(this,e,["memberCustomField"],t)}},{key:"updateRole",value:function(e){["Owner","Admin","Member"].indexOf(e)<0||(this.role=e)}},{key:"updateMuteUntil",value:function(e){Ie(e)||(this.muteUntil=Math.floor((Date.now()+1e3*e)/1e3))}},{key:"updateNameCard",value:function(e){Ie(e)||(this.nameCard=e)}},{key:"updateMemberCustomField",value:function(e){e&&xe(this.memberCustomField,e)}}]),e}(),Ks=function(){function e(t){o(this,e),this.tim=t.tim,this.groupController=t.groupController,this._initListeners()}return i(e,[{key:"_initListeners",value:function(){this.tim.innerEmitter.on(Ko,this._onReceivedGroupTips,this)}},{key:"_onReceivedGroupTips",value:function(e){var t=this,n=e.data,o=n.result;n.isGroupTip&&o.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:he.warn("GroupTipsHandler._onReceivedGroupTips Unhandled groupTips. operationType=",e.payload.operationType)}}))}},{key:"_onNewMemberComeIn",value:function(e){var t=e.payload,n=t.memberNum,o=t.groupProfile.groupID,r=this.groupController.getLocalGroupProfile(o);r&&fe(n)&&(r.memberNum=n)}},{key:"_onMemberQuit",value:function(e){var t=e.payload,n=t.memberNum,o=t.groupProfile.groupID,r=this.groupController.getLocalGroupProfile(o);r&&fe(n)&&(r.memberNum=n),this.groupController.deleteLocalGroupMembers(o,e.payload.userIDList)}},{key:"_onMemberKickedOut",value:function(e){var t=e.payload,n=t.memberNum,o=t.groupProfile.groupID,r=this.groupController.getLocalGroupProfile(o);r&&fe(n)&&(r.memberNum=n),this.groupController.deleteLocalGroupMembers(o,e.payload.userIDList)}},{key:"_onMemberSetAdmin",value:function(e){var n=this,o=e.payload.groupProfile.groupID;e.payload.userIDList.forEach((function(e){var r=n.groupController.getLocalGroupMemberInfo(o,e);r&&r.updateRole(t.GRP_MBR_ROLE_ADMIN)}))}},{key:"_onMemberCancelledAdmin",value:function(e){var n=this,o=e.payload.groupProfile.groupID;e.payload.userIDList.forEach((function(e){var r=n.groupController.getLocalGroupMemberInfo(o,e);r&&r.updateRole(t.GRP_MBR_ROLE_MEMBER)}))}},{key:"_onGroupProfileModified",value:function(e){var t=this,n=e.payload.newGroupProfile,o=e.payload.groupProfile.groupID,r=this.groupController.getLocalGroupProfile(o);Object.keys(n).forEach((function(e){switch(e){case"ownerID":t._ownerChaged(r,n);break;default:r[e]=n[e]}})),this.groupController.emitGroupListUpdate(!0,!0)}},{key:"_ownerChaged",value:function(e,n){var o=e.groupID,r=this.groupController.getLocalGroupProfile(o),i=this.tim.context.identifier;if(i===n.ownerID){r.updateGroup({selfInfo:{role:t.GRP_MBR_ROLE_OWNER}});var s=this.groupController.getLocalGroupMemberInfo(o,i),a=this.groupController.getLocalGroupProfile(o).ownerID,u=this.groupController.getLocalGroupMemberInfo(o,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 o=t.groupController.getLocalGroupMemberInfo(n,e.userID);o&&e.muteTime&&o.updateMuteUntil(e.muteTime)}))}}]),e}(),Bs=function(){function n(e){o(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(Bo,this._onReceivedGroupSystemNotice,this),this.tim.innerEmitter.on(Uo,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 o=e.tim.messageController.getLocalMessageList(t.CONV_SYSTEM),r=[];o.forEach((function(t){var n=t.payload,o=n.operatorID,i=n.operationType,s=n.groupProfile;if(i===ct){var a="".concat(o,"_").concat(s.groupID,"_").concat(s.to),u=e.pendencyMap.get(a);u&&fe(u.handled)&&0!==u.handled&&r.push(t)}})),e.groupController.deleteGroupSystemNotice({messageList:r})}))}},{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,o=n.pendencyList;return 0!==n.nextStartTime?t.getPendencyList({startTime:n.nextStartTime}).then((function(e){return[].concat(M(o),M(e))})):o}))}},{key:"_onReceivedGroupSystemNotice",value:function(t){var n=this,o=t.data,r=o.result;"sync"!==o.type&&r.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:yt})}}))}},{key:"_onApplyGroupRequest",value:function(t){this.groupController.emitOuterEvent(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:t,type:ct})}},{key:"_onApplyGroupRequestAgreed",value:function(t){var n=this,o=t.payload.groupProfile.groupID;this.groupController.hasLocalGroup(o)||this.groupController.getGroupProfile({groupID:o}).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:lt})}},{key:"_onApplyGroupRequestRefused",value:function(t){this.groupController.emitOuterEvent(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:t,type:pt})}},{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:gt})}},{key:"_onGroupDismissed",value:function(t){var n=t.payload.groupProfile.groupID,o=this.groupController.hasLocalGroup(n),r=this.groupController.AVChatRoomHandler;o&&this.groupController.deleteLocalGroupAndConversation(n),r.checkJoinedAVChatRoomByID(n)&&r.reset(n),this.groupController.emitOuterEvent(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:t,type:dt})}},{key:"_onInviteGroup",value:function(t){var n=this,o=t.payload.groupProfile.groupID;this.groupController.hasLocalGroup(o)||this.groupController.getGroupProfile({groupID:o}).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:ht})}},{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:mt})}},{key:"_onSetManager",value:function(n){var o=n.payload.groupProfile,r=o.to,i=o.groupID,s=this.groupController.getLocalGroupMemberInfo(i,r);s&&s.updateRole(t.GRP_MBR_ROLE_ADMIN),this.groupController.emitOuterEvent(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:n,type:ft})}},{key:"_onDeleteManager",value:function(n){var o=n.payload.groupProfile,r=o.to,i=o.groupID,s=this.groupController.getLocalGroupMemberInfo(i,r);s&&s.updateRole(t.GRP_MBR_ROLE_MEMBER),this.groupController.emitOuterEvent(e.GROUP_SYSTEM_NOTICE_RECEIVED,{message:n,type:vt})}},{key:"reset",value:function(){this.pendencyMap.clear()}}]),n}(),Hs={3:!0,4:!0,5:!0,6:!0},js=function(){function n(e){var t=e.tim,r=e.groupController;o(this,n),this.tim=t,this.groupController=r,this.sequencesLinkedList=new bs(100),this.receivedMessageCount=0,this._pollingRequestInfoMap=new Map,this._pollingInstanceMap=new Map,this._joinedGroupMap=new Map,this._reportMessageStackedCount=0,this._onlineMemberCountMap=new Map,this.DEFAULT_EXPIRE_TIME=60}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?M(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 o=this._pollingInstanceMap.get(e);o.isRunning()||o.start()}else{var r=this.groupController.createTransportCapsule({name:"AVChatRoom",action:"startLongPoll",param:n}),i=this.tim.connectionController.createRunLoop({pack:r,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),he.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(),he.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,o=e.group,r=o.groupID;return t._pollingRequestInfoMap.set(r,{key:n,startSeq:0}),t._joinedGroupMap.set(r,o),t._addAVChatRoomID(r),t.groupController.updateGroupMap([o]),t.groupController.emitGroupListUpdate(!0,!1),t.start(r),t.groupController.isLoggedIn()?br({status:nt.SUCCESS,group:o}):br({status:nt.SUCCESS})}))}},{key:"joinWithoutAuth",value:function(e){var t=this;return this.groupController.request({name:"group",action:"applyJoinAVChatRoom",param:e}).then((function(n){var o=n.data.longPollingKey;if(Ie(o))return Ur(new qt({code:Ft.CANNOT_JOIN_NON_AVCHATROOM_WITHOUT_LOGIN,message:Nn}));he.log("AVChatRoomHandler.joinWithoutAuth ok. groupID:".concat(e.groupID)),t.groupController.emitInnerEvent(Ir),t.groupController.emitInnerEvent(Mr,e.groupID);var r=new ks({groupID:e.groupID});return t.startRunLoop({group:r,longPollingKey:o}),new wr({status:nt.SUCCESS})})).catch((function(t){return he.error("AVChatRoomHandler.joinWithoutAuth error:".concat(Ne(t),". groupID:").concat(e.groupID)),Ur(t)}))}},{key:"_precheck",value:function(){if(this.tim.context.unlimitedAVChatRoom)return Promise.resolve();if(!this.hasJoinedAVChatRoom())return Promise.resolve();var e=y(this._joinedGroupMap.entries().next().value,2),n=e[0],o=e[1];if(this.groupController.isLoggedIn()){if(!(o.selfInfo.role===t.GRP_MBR_ROLE_OWNER||o.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),o=n.key,r=n.startSeq;t.StartSeq=r,t.Key=o,this.tim.sumStatController.addTotalCount(Vr)}},{key:"_handleSuccess",value:function(e,t){this.tim.sumStatController.addSuccessCount(Vr),this.tim.sumStatController.addCost(Vr,t.data.timecost);var n=t.data,o=n.errorCode,r=n.errorInfo,i=n.key,s=n.nextSeq,a=n.rspMsgList;if(o!==ot.SUCCESS){var u=this._pollingRequestInfoMap.get(e),c=new Zr(Ji),l=u?"".concat(u.key,"-").concat(u.startSeq):"requestInfo is undefined";c.setMessage("".concat(e,"-").concat(l,"-").concat(r||JSON.stringify(t.data))).setCode(o).setNetworkType(this.groupController.getNetworkType()).setEnd(!0)}else ve(i)&&fe(s)&&this._pollingRequestInfoMap.set(e,{key:i,startSeq:s}),Me(a)&&a.length>0&&(a.forEach((function(e){e.to=e.groupID})),this._dispatchNotice(a));this.groupController.emitInnerEvent(cr)}},{key:"_handleFailure",value:function(e){if(e.error)if("ECONNABORTED"===e.error.code||e.error.code===Ft.NETWORK_TIMEOUT)if(e.error.config){var t=e.error.config.url,n=e.error.config.data;he.log("AVChatRoomHandler._handleFailure request timed out. url=".concat(t," data=").concat(n))}else he.log("AVChatRoomHandler._handleFailure request timed out");else he.log("AVChatRoomHandler._handleFailure request failed due to network error");this.groupController.emitInnerEvent(ur)}},{key:"_dispatchNotice",value:function(n){if(Me(n)&&0!==n.length){var o=Date.now(),r=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(Hs[n[u].event]){if(this.receivedMessageCount+=1,r=this.packMessage(n[u],n[u].event),this.tim.context.unlimitedAVChatRoom||!this.sequencesLinkedList.has(r.sequence)){var c=r.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=r.sequence-l;p>1&&p<=20?this.tim.messageLossController.onMessageMaybeLost(c,l+1,p-1):p<-1&&p>=-20&&this.tim.messageLossController.onMessageMaybeLost(c,r.sequence+1,Math.abs(p)-1)}this.sequencesLinkedList.pushIn(r.sequence),this._isMessageSentByCurrentInstance(r)||(r.conversationType===t.CONV_SYSTEM&&s.push(r),i.push(r))}}else he.warn("AVChatRoomHandler._dispatchMessage 未处理的 event 类型: ".concat(n[u].event));if(s.length>0&&this.groupController.emitInnerEvent(Bo,{result:s,eventDataList:[],type:"poll"}),0!==i.length){var g=this.packConversationOption(i);g.length>0&&this.groupController.emitInnerEvent(Ko,{eventDataList:g,type:"poll"}),he.debug("AVChatRoomHandler._dispatchNotice nums=".concat(i.length));var d=this.tim.sumStatController;d.addTotalCount(Wr),d.addSuccessCount(Wr),d.addCost(Wr,Date.now()-o),this._checkMessageStacked(i),this.groupController.emitOuterEvent(e.MESSAGE_RECEIVED,i)}}}},{key:"_checkMessageStacked",value:function(e){var t=e.length;t>=100&&(he.warn("AVChatRoomHandler.checkMessageStacked 直播群消息堆积数:".concat(e.length,'!可能会导致微信小程序渲染时遇到 "Dom limit exceeded" 的错误建议接入侧此时只渲染最近的10条消息')),this._reportMessageStackedCount<5&&(new Zr(es).setNetworkType(this.groupController.getNetworkType()).setText("nums=".concat(t," groupID=").concat(M(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 o=new po(e),r=this.packElements(e,n);return o.setElement(r),o}},{key:"packElements",value:function(e,n){return 4===n||6===n?(this._updateMemberCountByGroupTips(e),{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 o=e[n],r=o.conversationID;if(t.has(r)){var i=t.get(r);i.lastMessage=o,"in"===o.flow&&i.unreadCount++}else t.set(r,{conversationID:o.conversationID,unreadCount:"out"===o.flow?0:1,type:o.conversationType,subType:o.conversationSubType,lastMessage:o})}return M(t.values())}},{key:"_addAVChatRoomID",value:function(e){var t=this.tim.loginInfo.avchatroomIDList||[];t.includes(e)||(this.tim.context.unlimitedAVChatRoom?t.push(e):t.splice(0,1,e),this.tim.loginInfo.avchatroomIDList=t)}},{key:"_deleteAVChatRoomID",value:function(e){var t=this.tim.loginInfo.avchatroomIDList||[],n=t.indexOf(e);-1!==n&&(t.splice(n,1),this.tim.loginInfo.avchatroomIDList=t)}},{key:"joinAVChatRoomSilently",value:function(){var e=this,t=this.tim.loginInfo.avchatroomIDList||[];if(0!==t.length){var n=new Zr(Ai);t.forEach((function(t){e.groupController.joinGroup({groupID:t}).then((function(o){he.warn("AVChatRoomHandler.joinAVChatRoomSilently silently join group ok:".concat(t)),n.setCode(o.code).setText("groupID=".concat(t)).setNetworkType(e.groupController.getNetworkType()).setEnd(!0)})).catch((function(o){he.warn("AVChatRoomHandler.joinAVChatRoomSilently silently join group failed:".concat(Ne(o))),n.setMessage("".concat(t,"-").concat(JSON.stringify(o))).setCode(o.code).setNetworkType(e.groupController.getNetworkType()).setEnd(!0)}))}))}}},{key:"getGroupOnlineMemberCount",value:function(e){var t=this._onlineMemberCountMap.get(e)||{},n=Date.now();return Qe(t)||n-t.lastSyncTime>1e3*t.expireTime&&n-t.latestUpdateTime>1e4&&n-t.lastReqTime>3e3?(t.lastReqTime=n,this._onlineMemberCountMap.set(e,t),this._getGroupOnlineMemberCount(e).then((function(e){return new wr({memberCount:e.memberCount})})).catch((function(e){return Ur(e)}))):br({memberCount:t.memberCount})}},{key:"_getGroupOnlineMemberCount",value:function(e){var t=this;return this.groupController.request({name:"group",action:"getOnlineMemberNum",param:{groupID:e}}).then((function(n){var o=t._onlineMemberCountMap.get(e)||{},r=n.data,i=r.onlineMemberNum,s=void 0===i?0:i,a=r.expireTime,u=void 0===a?t.DEFAULT_EXPIRE_TIME:a;he.log("AVChatRoomHandler._getGroupOnlineMemberCount ok. groupID=".concat(e," memberCount=").concat(s," expireTime=").concat(u));var c=Date.now();return Qe(o)&&(o.lastReqTime=c),t._onlineMemberCountMap.set(e,Object.assign(o,{lastSyncTime:c,latestUpdateTime:c,memberCount:s,expireTime:u})),{memberCount:s}})).catch((function(n){return he.warn("AVChatRoomHandler._getGroupOnlineMemberCount failed. error:".concat(Ne(n))),new Zr(zi).setCode(n.code).setMessage("".concat(e,"-").concat(JSON.stringify(n))).setNetworkType(t.groupController.getNetworkType()).setEnd(),Promise.reject(n)}))}},{key:"_updateMemberCountByGroupTips",value:function(e){var t=e.groupProfile.groupID,n=e.elements.onlineMemberInfo,o=void 0===n?void 0:n;if(void 0!==o){var r=o.onlineMemberNum,i=void 0===r?0:r,s=o.expireTime,a=void 0===s?this.DEFAULT_EXPIRE_TIME:s,u=this._onlineMemberCountMap.get(t)||{},c=Date.now();Qe(u)?Object.assign(u,{lastReqTime:0,lastSyncTime:0,latestUpdateTime:c,memberCount:i,expireTime:a}):(u.latestUpdateTime=c,u.memberCount=i),he.debug("AVChatRoomHandler._updateMemberCountByGroupTips info:",u),this._onlineMemberCountMap.set(t,u)}}},{key:"reset",value:function(e){if(0!==this._pollingInstanceMap.size){if(e)he.log("AVChatRoomHandler.reset groupID=".concat(e)),this.stop(e),this._pollingInstanceMap.delete(e),this._joinedGroupMap.delete(e),this._pollingRequestInfoMap.delete(e),this._onlineMemberCountMap.delete(e);else{he.log("AVChatRoomHandler.reset all");var t,n=D(this._pollingInstanceMap.keys());try{for(n.s();!(t=n.n()).done;){var o=t.value;this.stop(o)}}catch(r){n.e(r)}finally{n.f()}this._pollingInstanceMap.clear(),this._joinedGroupMap.clear(),this._pollingRequestInfoMap.clear(),this._onlineMemberCountMap.clear()}this.sequencesLinkedList.reset(),this.receivedMessageCount=0,this._reportMessageStackedCount=0,this._deleteAVChatRoomID(e)}}}]),n}(),$s="GroupController",Ys=function(n){c(s,n);var r=_(s);function s(e){var t;return o(this,s),(t=r.call(this,e)).groupMap=new Map,t.groupMemberListMap=new Map,t.groupNoticeHandler=new Bs({tim:e,groupController:f(t)}),t.groupTipsHandler=new Ks({tim:e,groupController:f(t)}),t.AVChatRoomHandler=new js({tim:e,groupController:f(t)}),t._initListeners(),t}return i(s,[{key:"createGroup",value:function(e){var n=this,o="".concat($s,".createGroup");if(!["Public","Private","ChatRoom","AVChatRoom"].includes(e.type)){var r=new qt({code:Ft.ILLEGAL_GROUP_TYPE,message:Cn});return Ur(r)}He(e.type)&&!Ie(e.memberList)&&e.memberList.length>0&&(he.warn("".concat(o,"创建AVChatRoom时不能添加群成员自动忽略该字段")),e.memberList=void 0),Ke(e.type)||Ie(e.joinOption)||(he.warn("".concat(o," 创建Work/Meeting/AVChatRoom群时不能设置字段joinOption自动忽略该字段")),e.joinOption=void 0);var i=new Zr(Di);return he.log("".concat(o)),this.request({name:"group",action:"create",param:e}).then((function(r){if(i.setNetworkType(n.getNetworkType()).setText("groupType=".concat(e.type," groupID=").concat(r.data.groupID)).setEnd(),he.log("".concat(o," 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 s=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(s),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 i.setText("groupType=".concat(e.type)),n.probeNetwork().then((function(e){var n=y(e,2),o=n[0],r=n[1];i.setError(t,o,r).setEnd()})),he.error("".concat(o," error:"),t),Ur(t)}))}},{key:"joinGroup",value:function(e){var n=this,o=e.groupID,r=e.type,i="".concat($s,".joinGroup");if(r===t.GRP_WORK){var s=new qt({code:Ft.CANNOT_JOIN_WORK,message:En});return Ur(s)}if(this.hasLocalGroup(o)){if(!this.isLoggedIn())return br({status:t.JOIN_STATUS_ALREADY_IN_GROUP});var a=new Zr(ki);return this.getGroupProfile({groupID:o}).then((function(e){return a.setNetworkType(n.getNetworkType()).setText("groupID=".concat(o," joinedStatus=").concat(t.JOIN_STATUS_ALREADY_IN_GROUP)).setEnd(),br({status:t.JOIN_STATUS_ALREADY_IN_GROUP})})).catch((function(t){return a.setNetworkType(n.getNetworkType()).setText("groupID=".concat(o," unjoined")).setEnd(),he.warn("".concat(i," ").concat(o," was unjoined, now join!")),n.groupMap.delete(o),n.applyJoinGroup(e)}))}return he.log("".concat(i," groupID:"),o),this.isLoggedIn()?this.applyJoinGroup(e):this.AVChatRoomHandler.joinWithoutAuth(e)}},{key:"quitGroup",value:function(e){var t=this,n="".concat($s,".quitGroup");he.log("".concat(n," groupID:"),e);var o=this.AVChatRoomHandler.checkJoinedAVChatRoomByID(e);if(!o&&!this.hasLocalGroup(e)){var r=new qt({code:Ft.MEMBER_NOT_IN_GROUP,message:kn});return Ur(r)}if(o&&!this.isLoggedIn())return he.log("".concat(n," anonymously ok. groupID:"),e),this.deleteLocalGroupAndConversation(e),this.AVChatRoomHandler.reset(e),br({groupID:e});var i=new Zr(Oi);return this.request({name:"group",action:"quitGroup",param:{groupID:e}}).then((function(){return i.setNetworkType(t.getNetworkType()).setText("groupID=".concat(e)).setEnd(),he.log("".concat(n," ok. groupID:"),e),o&&t.AVChatRoomHandler.reset(e),t.deleteLocalGroupAndConversation(e),new wr({groupID:e})})).catch((function(o){return i.setText("groupID=".concat(e)),t.probeNetwork().then((function(e){var t=y(e,2),n=t[0],r=t[1];i.setError(o,n,r).setEnd()})),he.error("".concat(n," error. error:").concat(Ne(o)," groupID:").concat(e)),Ur(o)}))}},{key:"changeGroupOwner",value:function(e){var n=this,o="".concat($s,".changeGroupOwner");if(this.hasLocalGroup(e.groupID)&&this.getLocalGroupProfile(e.groupID).type===t.GRP_AVCHATROOM)return Ur(new qt({code:Ft.CANNOT_CHANGE_OWNER_IN_AVCHATROOM,message:Tn}));if(e.newOwnerID===this.tim.loginInfo.identifier)return Ur(new qt({code:Ft.CANNOT_CHANGE_OWNER_TO_SELF,message:Sn}));var r=new Zr(Ri);return he.log("".concat(o," groupID:"),e.groupID),this.request({name:"group",action:"changeGroupOwner",param:e}).then((function(){r.setNetworkType(n.getNetworkType()).setText("groupID=".concat(e.groupID)).setEnd(),he.log("".concat(o," ok. groupID:"),e.groupID);var t=e.groupID,i=e.newOwnerID;n.groupMap.get(t).ownerID=i;var s=n.groupMemberListMap.get(t);if(s instanceof Map){var a=s.get(n.tim.loginInfo.identifier);Ie(a)||(a.updateRole("Member"),n.groupMap.get(t).selfInfo.role="Member");var u=s.get(i);Ie(u)||u.updateRole("Owner")}return n.emitGroupListUpdate(!0,!1),new wr({group:n.groupMap.get(t)})})).catch((function(t){return r.setText("groupID=".concat(e.groupID)),n.probeNetwork().then((function(e){var n=y(e,2),o=n[0],i=n[1];r.setError(t,o,i).setEnd()})),he.error("".concat(o," error:").concat(Ne(t)," groupID:").concat(e.groupID)),Ur(t)}))}},{key:"dismissGroup",value:function(e){var n=this,o="".concat($s,".dismissGroup");if(this.hasLocalGroup(e)&&this.getLocalGroupProfile(e).type===t.GRP_WORK)return Ur(new qt({code:Ft.CANNOT_DISMISS_WORK,message:Dn}));var r=new Zr(Pi);return he.log("".concat(o," groupID:").concat(e)),this.request({name:"group",action:"destroyGroup",param:{groupID:e}}).then((function(){return r.setNetworkType(n.getNetworkType()).setText("groupID=".concat(e)).setEnd(),he.log("".concat(o," ok. groupID:").concat(e)),n.deleteLocalGroupAndConversation(e),n.checkJoinedAVChatRoomByID(e)&&n.AVChatRoomHandler.reset(e),new wr({groupID:e})})).catch((function(t){return r.setText("groupID=".concat(e)),n.probeNetwork().then((function(e){var n=y(e,2),o=n[0],i=n[1];r.setError(t,o,i).setEnd()})),he.error("".concat(o," error:").concat(Ne(t)," groupID:").concat(e)),Ur(t)}))}},{key:"updateGroupProfile",value:function(e){var t=this,n="".concat($s,".updateGroupProfile");!this.hasLocalGroup(e.groupID)||Ke(this.getLocalGroupProfile(e.groupID).type)||Ie(e.joinOption)||(he.warn("".concat(n," Work/Meeting/AVChatRoom群不能设置字段joinOption自动忽略该字段")),e.joinOption=void 0),Ie(e.muteAllMembers)||(e.muteAllMembers?e.muteAllMembers="On":e.muteAllMembers="Off");var o=new Zr(Gi);return o.setText(JSON.stringify(e)),he.log("".concat(n," groupID:"),e.groupID),this.request({name:"group",action:"updateGroupProfile",param:e}).then((function(){(o.setNetworkType(t.getNetworkType()).setEnd(),he.log("".concat(n," ok. groupID:"),e.groupID),t.hasLocalGroup(e.groupID))&&(t.groupMap.get(e.groupID).updateGroup(e),t._setStorageGroupList());return new wr({group:t.groupMap.get(e.groupID)})})).catch((function(r){return t.probeNetwork().then((function(e){var t=y(e,2),n=t[0],i=t[1];o.setError(r,n,i).setEnd()})),he.log("".concat(n," failed. error:").concat(Ne(r)," groupID:").concat(e.groupID)),Ur(r)}))}},{key:"setGroupMemberRole",value:function(e){var n=this,o="".concat($s,".setGroupMemberRole"),r=e.groupID,i=e.userID,s=e.role,a=this.groupMap.get(r);if(a.selfInfo.role!==t.GRP_MBR_ROLE_OWNER)return Ur(new qt({code:Ft.NOT_OWNER,message:Ln}));if([t.GRP_WORK,t.GRP_AVCHATROOM].includes(a.type))return Ur(new qt({code:Ft.CANNOT_SET_MEMBER_ROLE_IN_WORK_AND_AVCHATROOM,message:wn}));if([t.GRP_MBR_ROLE_ADMIN,t.GRP_MBR_ROLE_MEMBER].indexOf(s)<0)return Ur(new qt({code:Ft.INVALID_MEMBER_ROLE,message:Pn}));if(i===this.tim.loginInfo.identifier)return Ur(new qt({code:Ft.CANNOT_SET_SELF_MEMBER_ROLE,message:Gn}));var u=new Zr($i);return u.setText("groupID=".concat(r," userID=").concat(i," role=").concat(s)),he.log("".concat(o," groupID:").concat(r,". userID: ").concat(i)),this._modifyGroupMemberInfo({groupID:r,userID:i,role:s}).then((function(e){return u.setNetworkType(n.getNetworkType()).setEnd(),he.log("".concat(o," ok. groupID:").concat(r,". userID: ").concat(i)),new wr({group:a,member:e})})).catch((function(e){return n.probeNetwork().then((function(t){var n=y(t,2),o=n[0],r=n[1];u.setError(e,o,r).setEnd()})),he.error("".concat(o," error:").concat(Ne(e)," groupID:").concat(r," userID:").concat(i)),Ur(e)}))}},{key:"setGroupMemberMuteTime",value:function(e){var t=this,n=e.groupID,o=e.userID,r=e.muteTime,i="".concat($s,".setGroupMemberMuteTime");if(o===this.tim.loginInfo.identifier)return Ur(new qt({code:Ft.CANNOT_MUTE_SELF,message:bn}));he.log("".concat(i," groupID:").concat(n,". userID: ").concat(o));var s=new Zr(Hi);return s.setText("groupID=".concat(n," userID=").concat(o," muteTime=").concat(r)),this._modifyGroupMemberInfo({groupID:n,userID:o,muteTime:r}).then((function(e){return s.setNetworkType(t.getNetworkType()).setEnd(),he.log("".concat(i," ok. groupID:").concat(n,". userID: ").concat(o)),new wr({group:t.getLocalGroupProfile(n),member:e})})).catch((function(e){return t.probeNetwork().then((function(t){var n=y(t,2),o=n[0],r=n[1];s.setError(e,o,r).setEnd()})),he.error("".concat(i," error:").concat(Ne(e)," groupID:").concat(n," userID:").concat(o)),Ur(e)}))}},{key:"setMessageRemindType",value:function(e){var t=this,n="".concat($s,".setMessageRemindType"),o=new Zr(wi);o.setText("groupID=".concat(e.groupID," userID=").concat(e.userID||this.tim.loginInfo.identifier)),he.log("".concat(n," groupID:").concat(e.groupID,". userID: ").concat(e.userID||this.tim.loginInfo.identifier));var r=e.groupID,i=e.messageRemindType;return this._modifyGroupMemberInfo({groupID:r,messageRemindType:i,userID:this.tim.loginInfo.identifier}).then((function(){o.setNetworkType(t.getNetworkType()).setEnd(),he.log("".concat(n," ok. groupID:").concat(e.groupID," userID:").concat(e.userID||t.tim.loginInfo.identifier));var r=t.getLocalGroupProfile(e.groupID);return r&&(r.selfInfo.messageRemindType=i),new wr({group:r})})).catch((function(r){return t.probeNetwork().then((function(e){var t=y(e,2),n=t[0],i=t[1];o.setError(r,n,i).setEnd()})),he.error("".concat(n," error:").concat(Ne(r)," groupID:").concat(e.groupID," userID:").concat(e.userID||t.tim.loginInfo.identifier)),Ur(r)}))}},{key:"setGroupMemberNameCard",value:function(e){var t=this,n="".concat($s,".setGroupMemberNameCard"),o=e.groupID,r=e.userID,i=void 0===r?this.tim.loginInfo.identifier:r,s=e.nameCard;he.log("".concat(n," groupID:").concat(o,". userID: ").concat(i));var a=new Zr(ji);return a.setText("groupID=".concat(o," userID=").concat(i," nameCard=").concat(s)),this._modifyGroupMemberInfo({groupID:o,userID:i,nameCard:s}).then((function(e){he.log("".concat(n," ok. groupID:").concat(o,". userID: ").concat(i)),a.setNetworkType(t.getNetworkType()).setEnd();var r=t.getLocalGroupProfile(o);return i===t.tim.loginInfo.identifier&&r&&r.setSelfNameCard(s),new wr({group:r,member:e})})).catch((function(e){return t.probeNetwork().then((function(t){var n=y(t,2),o=n[0],r=n[1];a.setError(e,o,r).setEnd()})),he.error("".concat(n," error:").concat(Ne(e)," groupID:").concat(o," userID:").concat(i)),Ur(e)}))}},{key:"setGroupMemberCustomField",value:function(e){var t=this,n="".concat($s,".setGroupMemberCustomField"),o=e.groupID,r=e.userID,i=void 0===r?this.tim.loginInfo.identifier:r,s=e.memberCustomField;he.log("".concat(n," groupID:").concat(o,". userID: ").concat(i));var a=new Zr(Yi);return a.setText("groupID=".concat(o," userID=").concat(i," memberCustomField=").concat(JSON.stringify(s))),this._modifyGroupMemberInfo({groupID:o,userID:i,memberCustomField:s}).then((function(e){return a.setNetworkType(t.getNetworkType()).setEnd(),he.log("".concat(n," ok. groupID:").concat(o,". userID: ").concat(i)),new wr({group:t.groupMap.get(o),member:e})})).catch((function(e){return t.probeNetwork().then((function(t){var n=y(t,2),o=n[0],r=n[1];a.setError(e,o,r).setEnd()})),he.error("".concat(n," error:").concat(Ne(e)," groupID:").concat(o," userID:").concat(i)),Ur(e)}))}},{key:"getGroupList",value:function(e){var t=this,n="".concat($s,".getGroupList"),o=new Zr(bi);he.log("".concat(n));var r={introduction:"Introduction",notification:"Notification",createTime:"CreateTime",ownerID:"Owner_Account",lastInfoTime:"LastInfoTime",memberNum:"MemberNum",maxMemberNum:"MaxMemberNum",joinOption:"ApplyJoinOption",muteAllMembers:"ShutUpAllMember"},i=["Type","Name","FaceUrl","NextMsgSeq","LastMsgTime"];return e&&e.groupProfileFilter&&e.groupProfileFilter.forEach((function(e){r[e]&&i.push(r[e])})),this.request({name:"group",action:"list",param:{responseFilter:{groupBaseInfoFilter:i,selfInfoFilter:["Role","JoinTime","MsgFlag"]}}}).then((function(e){var r=e.data.groups;return he.log("".concat(n," ok. nums=").concat(r.length)),t._groupListTreeShaking(r),t.updateGroupMap(r),o.setNetworkType(t.getNetworkType()).setText("".concat(r.length,"-afterTreeshaking-").concat(t.groupMap.size)).setEnd(),t.tempConversationList&&(he.log("".concat(n," update last message with tempConversationList, nums=").concat(t.tempConversationList.length)),t._handleUpdateGroupLastMessage({data:t.tempConversationList}),t.tempConversationList=null),t.emitGroupListUpdate(),new wr({groupList:t.getLocalGroups()})})).catch((function(e){return t.probeNetwork().then((function(t){var n=y(t,2),r=n[0],i=n[1];o.setError(e,r,i).setEnd()})),he.error("".concat(n," error:"),e),Ur(e)}))}},{key:"getGroupMemberList",value:function(e){var t=this,n=e.groupID,o=e.offset,r=void 0===o?0:o,i=e.count,s=void 0===i?15:i,a="".concat($s,".getGroupMemberList"),u=new Zr(xi);he.log("".concat(a," groupID: ").concat(n," offset: ").concat(r," count: ").concat(s));var c=[];return this.request({name:"group",action:"getGroupMemberList",param:{groupID:n,offset:r,limit:s>100?100:s,memberInfoFilter:["Role","NameCard","ShutUpUntil"]}}).then((function(e){var o=e.data,r=o.members,i=o.memberNum;return Me(r)&&0!==r.length?(t.hasLocalGroup(n)&&(t.getLocalGroupProfile(n).memberNum=i),c=t._updateLocalGroupMemberMap(n,r),t.tim.getUserProfile({userIDList:r.map((function(e){return e.userID})),tagList:[Et.NICK,Et.AVATAR]})):Promise.resolve([])})).then((function(e){var o=e.data;if(!Me(o)||0===o.length)return br({memberList:[]});var i=o.map((function(e){return{userID:e.userID,nick:e.nick,avatar:e.avatar}}));return t._updateLocalGroupMemberMap(n,i),u.setNetworkType(t.getNetworkType()).setText("groupID=".concat(n," offset=").concat(r," count=").concat(s)).setEnd(),he.log("".concat(a," ok.")),new wr({memberList:c})})).catch((function(e){return t.probeNetwork().then((function(t){var n=y(t,2),o=n[0],r=n[1];u.setError(e,o,r).setEnd()})),he.error("".concat(a," error:"),e),Ur(e)}))}},{key:"getLocalGroups",value:function(){return M(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="".concat($s,".getGroupProfile"),o=new Zr(Ui);he.log("".concat(n," groupID:"),e.groupID);var r=e.groupID,i=e.groupCustomFieldFilter,s={groupIDList:[r],responseFilter:{groupBaseInfoFilter:["Type","Name","Introduction","Notification","FaceUrl","Owner_Account","CreateTime","InfoSeq","LastInfoTime","LastMsgTime","MemberNum","MaxMemberNum","ApplyJoinOption","NextMsgSeq","ShutUpAllMember"],groupCustomFieldFilter:i}};return this.getGroupProfileAdvance(s).then((function(i){var s,a=i.data,u=a.successGroupList,c=a.failureGroupList;return he.log("".concat(n," ok. groupID:").concat(e.groupID)),c.length>0?Ur(c[0]):(He(u[0].type)&&!t.hasLocalGroup(r)?s=new ks(u[0]):(t.updateGroupMap(u),s=t.getLocalGroupProfile(r)),o.setNetworkType(t.getNetworkType()).setText("groupID=".concat(s.groupID," type=").concat(s.type," muteAllMembers=").concat(s.muteAllMembers," ownerID=").concat(s.ownerID)).setEnd(),s&&s.selfInfo&&!s.selfInfo.nameCard?t.updateSelfInfo(s).then((function(e){return new wr({group:e})})):new wr({group:s}))})).catch((function(r){return t.probeNetwork().then((function(t){var n=y(t,2),i=n[0],s=n[1];o.setError(r,i,s).setText("groupID=".concat(e.groupID)).setEnd()})),he.error("".concat(n," error:").concat(Ne(r)," groupID:").concat(e.groupID)),Ur(r)}))}},{key:"getGroupMemberProfile",value:function(e){var t=this,n="".concat($s,".getGroupMemberProfile"),o=new Zr(Vi);o.setText(e.userIDList.length>5?"userIDList.length=".concat(e.userIDList.length):"userIDList=".concat(e.userIDList)),he.log("".concat(n," groupID:").concat(e.groupID," userIDList:").concat(e.userIDList.join(","))),e.userIDList.length>50&&(e.userIDList=e.userIDList.slice(0,50));var r=e.groupID,i=e.userIDList;return this._getGroupMemberProfileAdvance(u(u({},e),{},{userIDList:i})).then((function(e){var n=e.data.members;return Me(n)&&0!==n.length?(t._updateLocalGroupMemberMap(r,n),t.tim.getUserProfile({userIDList:n.map((function(e){return e.userID})),tagList:[Et.NICK,Et.AVATAR]})):br([])})).then((function(e){var n=e.data.map((function(e){return{userID:e.userID,nick:e.nick,avatar:e.avatar}}));t._updateLocalGroupMemberMap(r,n);var s=i.filter((function(e){return t.hasLocalGroupMember(r,e)})).map((function(e){return t.getLocalGroupMemberInfo(r,e)}));return o.setNetworkType(t.getNetworkType()).setEnd(),new wr({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="".concat($s,".updateSelfInfo"),n=e.groupID;he.log("".concat(t," groupID:"),n);var o={groupID:n,userIDList:[this.tim.loginInfo.identifier]};return this.getGroupMemberProfile(o).then((function(o){var r=o.data.memberList;return he.log("".concat(t," ok. groupID:"),n),e&&0!==r.length&&e.updateSelfInfo(r[0]),e}))}},{key:"addGroupMember",value:function(e){var t=this,n="".concat($s,".addGroupMember"),o=new Zr(Ki);o.setText("groupID=".concat(e.groupID));var r=this.getLocalGroupProfile(e.groupID);if(He(r.type)){var i=new qt({code:Ft.CANNOT_ADD_MEMBER_IN_AVCHATROOM,message:On});return o.setCode(Ft.CANNOT_ADD_MEMBER_IN_AVCHATROOM).setMessage(On).setNetworkType(this.getNetworkType()).setText("groupID=".concat(e.groupID," groupType=").concat(r.type)).setEnd(),Ur(i)}return e.userIDList=e.userIDList.map((function(e){return{userID:e}})),he.log("".concat(n," groupID:"),e.groupID),this.request({name:"group",action:"addGroupMember",param:e}).then((function(i){var s=i.data.members;o.setNetworkType(t.getNetworkType()).setText("groupID=".concat(e.groupID)).setEnd(),he.log("".concat(n," ok. groupID:"),e.groupID);var a=s.filter((function(e){return 1===e.result})).map((function(e){return e.userID})),u=s.filter((function(e){return 0===e.result})).map((function(e){return e.userID})),c=s.filter((function(e){return 2===e.result})).map((function(e){return e.userID}));return 0===a.length?new wr({successUserIDList:a,failureUserIDList:u,existedUserIDList:c}):(r.memberNum+=a.length,new wr({successUserIDList:a,failureUserIDList:u,existedUserIDList:c,group:r}))})).catch((function(r){return t.probeNetwork().then((function(t){var n=y(t,2),i=n[0],s=n[1];o.setError(r,i,s).setText("groupID=".concat(e.groupID)).setEnd()})),he.error("".concat(n," error:").concat(Ne(r)," groupID:").concat(e.groupID)),Ur(r)}))}},{key:"deleteGroupMember",value:function(e){var n=this,o="".concat($s,".deleteGroupMember"),r=new Zr(Bi);r.setText(e.userIDList.length>5?"userIDList.length=".concat(e.userIDList.length):"userIDList=".concat(e.userIDList)),he.log("".concat(o," groupID:").concat(e.groupID," userIDList:").concat(e.userIDList));var i=this.getLocalGroupProfile(e.groupID);return i.type===t.GRP_AVCHATROOM?Ur(new qt({code:Ft.CANNOT_KICK_MEMBER_IN_AVCHATROOM,message:Rn})):this.request({name:"group",action:"deleteGroupMember",param:e}).then((function(){return r.setNetworkType(n.getNetworkType()).setEnd(),he.log("".concat(o," ok")),i.memberNum--,n.deleteLocalGroupMembers(e.groupID,e.userIDList),new wr({group:i,userIDList:e.userIDList})})).catch((function(t){return n.probeNetwork().then((function(n){var o=y(n,2),i=o[0],s=o[1];r.setError(t,i,s).setText("groupID=".concat(e.groupID)).setEnd()})),he.error("".concat(o," error:").concat(Ne(t)," groupID:").concat(e.groupID)),Ur(t)}))}},{key:"searchGroupByID",value:function(e){var t=this,n="".concat($s,".searchGroupByID"),o={groupIDList:[e]},r=new Zr(Ni);return r.setText("groupID=".concat(e)),he.log("".concat(n," groupID:").concat(e)),this.request({name:"group",action:"searchGroupByID",param:o}).then((function(o){var i=o.data.groupProfile;if(i[0].errorCode!==ot.SUCCESS)throw new qt({code:i[0].errorCode,message:i[0].errorInfo});return r.setNetworkType(t.getNetworkType()).setEnd(),he.log("".concat(n," ok. groupID:").concat(e)),new wr({group:new ks(i[0])})})).catch((function(o){return t.probeNetwork().then((function(e){var t=y(e,2),n=t[0],i=t[1];r.setError(o,n,i).setEnd()})),he.warn("".concat(n," error:").concat(Ne(o)," groupID:").concat(e)),Ur(o)}))}},{key:"applyJoinGroup",value:function(e){var t=this,n="".concat($s,".applyJoinGroup"),o=new Zr(ki);return this.request({name:"group",action:"applyJoinGroup",param:e}).then((function(r){var i=r.data,s=i.joinedStatus,a=i.longPollingKey;switch(o.setNetworkType(t.getNetworkType()).setText("groupID=".concat(e.groupID," joinedStatus=").concat(s)).setEnd(),he.log("".concat(n," ok. groupID:").concat(e.groupID," joinedStatus:").concat(s," longPollingKey:").concat(a)),s){case nt.WAIT_APPROVAL:return new wr({status:nt.WAIT_APPROVAL});case nt.SUCCESS:return t.getGroupProfile({groupID:e.groupID}).then((function(n){var o=n.data.group,r={status:nt.SUCCESS,group:o};return Ie(a)?(t.emitGroupListUpdate(!0,!1),new wr(r)):(t.emitInnerEvent(Mr,e.groupID),t.AVChatRoomHandler.startRunLoop({longPollingKey:a,group:o}))}));default:var u=new qt({code:Ft.JOIN_GROUP_FAIL,message:An});return he.error("".concat(n," error:").concat(Ne(u)," groupID:").concat(e.groupID)),Ur(u)}})).catch((function(r){return o.setText("groupID=".concat(e.groupID)),t.probeNetwork().then((function(e){var t=y(e,2),n=t[0],i=t[1];o.setError(r,n,i).setEnd()})),he.error("".concat(n," error:").concat(Ne(r)," groupID:").concat(e.groupID)),Ur(r)}))}},{key:"applyJoinAVChatRoom",value:function(e){return this.AVChatRoomHandler.applyJoinAVChatRoom(e)}},{key:"handleGroupApplication",value:function(e){var t=this,n="".concat($s,".handleGroupApplication"),o=e.message.payload,r=o.groupProfile.groupID,i=o.authentication,s=o.messageKey,a=o.operatorID,c=new Zr(Li);return c.setText("groupID=".concat(r)),he.log("".concat(n," groupID:"),r),this.request({name:"group",action:"handleApplyJoinGroup",param:u(u({},e),{},{applicant:a,groupID:r,authentication:i,messageKey:s})}).then((function(){return c.setNetworkType(t.getNetworkType()).setEnd(),he.log("".concat(n," ok. groupID:"),r),t.deleteGroupSystemNotice({messageList:[e.message]}),new wr({group:t.getLocalGroupProfile(r)})})).catch((function(e){return t.probeNetwork().then((function(t){var n=y(t,2),o=n[0],r=n[1];c.setError(e,o,r).setEnd()})),he.error("".concat(n," error. error:").concat(Ne(e)," groupID:").concat(r)),Ur(e)}))}},{key:"deleteGroupSystemNotice",value:function(e){var n=this,o="".concat($s,".deleteGroupSystemNotice");return Me(e.messageList)&&0!==e.messageList.length?(he.log("".concat(o)+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 he.log("".concat(o," ok")),e.messageList.forEach((function(e){n.tim.messageController.deleteLocalMessage(e)})),new wr})).catch((function(e){return he.error("".concat(o," error:"),e),Ur(e)}))):br()}},{key:"getGroupProfileAdvance",value:function(e){var t="".concat($s,".getGroupProfileAdvance");return Me(e.groupIDList)&&e.groupIDList.length>50&&(he.warn("".concat(t," 获取群资料的数量不能超过50个")),e.groupIDList.length=50),he.log("".concat(t," groupIDList:"),e.groupIDList),this.request({name:"group",action:"query",param:e}).then((function(e){he.log("".concat(t," ok."));var n=e.data.groups,o=n.filter((function(e){return Ie(e.errorCode)||e.errorCode===ot.SUCCESS})),r=n.filter((function(e){return e.errorCode&&e.errorCode!==ot.SUCCESS})).map((function(e){return new qt({code:e.errorCode,message:e.errorInfo,data:{groupID:e.groupID}})}));return new wr({successGroupList:o,failureGroupList:r})})).catch((function(n){return he.error("".concat(t," error:").concat(Ne(n)," groupIDList:").concat(e.groupIDList)),Ur(n)}))}},{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="".concat($s,"._initGroupList"),n=new Zr(qi);he.time(Xr),he.log("".concat(t));var o=this._getStorageGroupList();Me(o)&&o.length>0?(o.forEach((function(t){e.groupMap.set(t.groupID,new ks(t))})),this.emitGroupListUpdate(!0,!1),n.setNetworkType(this.getNetworkType()).setText(this.groupMap.size).setEnd()):n.setNetworkType(this.getNetworkType()).setText(0).setEnd(),this.triggerReady(),he.log("".concat(t," ok. initCost=").concat(he.timeEnd(Xr),"ms")),this.getGroupList()}},{key:"_initListeners",value:function(){var e=this.tim.innerEmitter;e.once(Po,this._initGroupList,this),e.on(fr,this._handleUpdateGroupLastMessage,this),e.on(Ko,this._handleReceivedGroupMessage,this),e.on(yr,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],o=this.getLocalGroups(),r=JSON.parse(JSON.stringify(o));n&&this.emitInnerEvent(lr,r),t&&this.emitOuterEvent(e.GROUP_LIST_UPDATED,o)}},{key:"_handleReceivedGroupMessage",value:function(e){var n=this,o=e.data.eventDataList;Array.isArray(o)&&o.forEach((function(e){var o=e.conversationID.replace(t.CONV_GROUP,"");n.groupMap.has(o)&&(n.groupMap.get(o).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="".concat($s,"._handleUpdateGroupLastMessage"),o=e.data;if(he.log("".concat(n," convNums=").concat(o.length," groupNums=").concat(this.groupMap.size)),0!==this.groupMap.size){for(var r,i,s,a=!1,u=0,c=o.length;u<c;u++)(r=o[u]).conversationID&&r.type!==t.CONV_GROUP&&(i=r.conversationID.split(/^GROUP/)[1],(s=this.getLocalGroupProfile(i))&&(s.lastMessage=r.lastMessage,a=!0));a&&(this.groupMap=this._sortLocalGroupList(this.groupMap),this.emitGroupListUpdate(!0,!1))}else this.tempConversationList=o}},{key:"_sortLocalGroupList",value:function(e){var t=M(e).filter((function(e){var t=y(e,2);t[0];return!Qe(t[1].lastMessage)}));return t.sort((function(e,t){return t[1].lastMessage.lastTime-e[1].lastMessage.lastTime})),new Map([].concat(M(t),M(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!He(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 ks(e))})),this._setStorageGroupList()}},{key:"_updateLocalGroupMemberMap",value:function(e,t){var n=this;return Me(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 Vs(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,o=e.userID;return this.request({name:"group",action:"modifyGroupMemberInfo",param:e}).then((function(){if(t.hasLocalGroupMember(n,o)){var r=t.getLocalGroupMemberInfo(n,o);return Ie(e.muteTime)||r.updateMuteUntil(e.muteTime),Ie(e.role)||r.updateRole(e.role),Ie(e.nameCard)||r.updateNameCard(e.nameCard),Ie(e.memberCustomField)||r.updateMemberCustomField(e.memberCustomField),r}return t.getGroupMemberProfile({groupID:n,userIDList:[o]}).then((function(e){return y(e.data.memberList,1)[0]}))}))}},{key:"_groupListTreeShaking",value:function(e){for(var t=new Map(M(this.groupMap)),n=0,o=e.length;n<o;n++)t.delete(e[n].groupID);this.AVChatRoomHandler.hasJoinedAVChatRoom()&&this.AVChatRoomHandler.getJoinedAVChatRoom().forEach((function(e){t.delete(e)}));for(var r=M(t.keys()),i=0,s=r.length;i<s;i++)this.groupMap.delete(r[i])}},{key:"_handleProfileUpdated",value:function(e){for(var t=this,n=e.data,o=function(e){var o=n[e];t.groupMemberListMap.forEach((function(e){e.has(o.userID)&&e.get(o.userID).updateMember({nick:o.nick,avatar:o.avatar})}))},r=0;r<n.length;r++)o(r)}},{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="".concat($s,".getGroupLastSequence"),o=new Zr(Fi),r=0;if(this.hasLocalGroup(e)){var i=this.getLocalGroupProfile(e);if(i.lastMessage.lastSequence>0)return r=i.lastMessage.lastSequence,he.log("".concat(n," got lastSequence=").concat(r," from local group profile[lastMessage.lastSequence]. groupID=").concat(e)),o.setNetworkType(this.getNetworkType()).setText("got lastSequence=".concat(r," from local group profile[lastMessage.lastSequence]. groupID=").concat(e)).setEnd(),Promise.resolve(r);if(i.nextMessageSeq>1)return r=i.nextMessageSeq-1,he.log("".concat(n," got lastSequence=").concat(r," from local group profile[nextMessageSeq]. groupID=").concat(e)),o.setNetworkType(this.getNetworkType()).setText("got lastSequence=".concat(r," from local group profile[nextMessageSeq]. groupID=").concat(e)).setEnd(),Promise.resolve(r)}var s="GROUP".concat(e),a=this.tim.conversationController.getLocalConversation(s);if(a&&a.lastMessage.lastSequence)return r=a.lastMessage.lastSequence,he.log("".concat(n," got lastSequence=").concat(r," from local conversation profile[lastMessage.lastSequence]. groupID=").concat(e)),o.setNetworkType(this.getNetworkType()).setText("got lastSequence=".concat(r," from local conversation profile[lastMessage.lastSequence]. groupID=").concat(e)).setEnd(),Promise.resolve(r);var u={groupIDList:[e],responseFilter:{groupBaseInfoFilter:["NextMsgSeq"]}};return this.getGroupProfileAdvance(u).then((function(i){var s=i.data.successGroupList;return Qe(s)?he.log("".concat(n," successGroupList is empty. groupID=").concat(e)):(r=s[0].nextMessageSeq-1,he.log("".concat(n," got lastSequence=").concat(r," from getGroupProfileAdvance. groupID=").concat(e))),o.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 n=y(t,2),i=n[0],s=n[1];o.setError(r,i,s).setText("get lastSequence failed from getGroupProfileAdvance. groupID=".concat(e)).setEnd()})),he.warn("".concat(n," failed. ").concat(r)),Ur(r)}))}},{key:"getGroupOnlineMemberCount",value:function(e){return this.AVChatRoomHandler.checkJoinedAVChatRoomByID(e)?this.AVChatRoomHandler.getGroupOnlineMemberCount(e):br({memberCount:0})}},{key:"reset",value:function(){this.groupMap.clear(),this.groupMemberListMap.clear(),this.resetReady(),this.groupNoticeHandler.reset(),this.AVChatRoomHandler.reset(),this.tim.innerEmitter.once(Po,this._initGroupList,this)}}]),s}(Nr),zs=function(n){c(s,n);var r=_(s);function s(e){var n;o(this,s),(n=r.call(this,e)).REALTIME_MESSAGE_TIMEOUT=3e5,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(jo,n._onGetLongPollIDFailed,f(n)),i.on(Yo,n._onOpenIMResponseOK,f(n)),i.on($o,n._onOpenIMRequestFailed,f(n)),i.on(cr,n._onAVChatroomResponseOK,f(n)),i.on(ur,n._onAVChatroomRequestFailed,f(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],o=Date.now();if(0!==n.lastResponseReceivedTime){var r=o-n.lastResponseReceivedTime;he.debug("StatusController._onResponseOK key=".concat(e," currentState=").concat(this._currentState," interval=").concat(r," 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));r<=this.LONGPOLLING_ID_TIMEOUT?n.jitterCount>=3&&(new Zr(Xi).setText("".concat(e,"-").concat(r,"-").concat(n.jitterCount)).setNetworkType(this.getNetworkType()).setEnd(),n.jitterCount=0):(new Zr(Qi).setText("".concat(e,"-").concat(r)).setNetworkType(this.getNetworkType()).setEnd(),he.warn("StatusController._onResponseOK, sdk reload. key=".concat(e," interval=").concat(r,"ms. https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/module-EVENT.html#.SDK_RELOAD")),this.emitInnerEvent(Er)),n.lastResponseReceivedTime=o}else n.lastResponseReceivedTime=o}},{key:"_onRequestFailed",value:function(e){var n=this,o=this._status[e];Date.now()-o.lastResponseReceivedTime>=this.LONGPOLLING_ID_TIMEOUT?this._currentState!==t.NET_STATE_DISCONNECTED&&(he.warn("StatusController._onRequestFailed, disconnected, longpolling unavailable more than 5min. key=".concat(e," networkType=").concat(this.getNetworkType())),this._emitNetStateChangeEvent(t.NET_STATE_DISCONNECTED)):(o.failedCount+=1,o.failedCount>5?this.probeNetwork().then((function(r){var i=y(r,2),s=i[0],a=i[1];s?(n._currentState!==t.NET_STATE_CONNECTING&&n._emitNetStateChangeEvent(t.NET_STATE_CONNECTING),he.warn("StatusController._onRequestFailed, connecting, network jitter. key=".concat(e," networkType=").concat(a))):(n._currentState!==t.NET_STATE_DISCONNECTED&&n._emitNetStateChangeEvent(t.NET_STATE_DISCONNECTED),he.warn("StatusController._onRequestFailed, disconnected, longpolling unavailable. key=".concat(e," networkType=").concat(a))),o.failedCount=0,o.jitterCount=0})):this._currentState===t.NET_STATE_CONNECTED&&this._emitNetStateChangeEvent(t.NET_STATE_CONNECTING))}},{key:"_emitNetStateChangeEvent",value:function(t){he.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(){he.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}(Nr);function Ws(){return null}var Js=function(){function e(t){o(this,e),this.tim=t,this.storageQueue=new Map,this.checkTimes=0,this.checkTimer=setInterval(this._onCheckTimer.bind(this),1e3),this._errorTolerantHandle()}return i(e,[{key:"_errorTolerantHandle",value:function(){!x&&Ie(window.localStorage)&&(this.getItem=Ws,this.setItem=Ws,this.removeItem=Ws,this.clear=Ws)}},{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=D(this.storageQueue);try{for(t.s();!(e=t.n()).done;){var n=y(e.value,2),o=n[0],r=n[1];this._setStorageSync(this._getKey(o),r)}}catch(i){t.e(i)}finally{t.f()}this.storageQueue.clear()}catch(s){he.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._getStorageSync(n)}catch(o){return he.warn("Storage.getItem error:",o),{}}}},{key:"setItem",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(n){var r=o?this._getKey(e):e;this._setStorageSync(r,t)}else this.storageQueue.set(e,t)}},{key:"clear",value:function(){try{x?K.clearStorageSync():localStorage.clear()}catch(e){he.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._removeStorageSync(n)}catch(o){he.warn("Storage.removeItem error:",o)}}},{key:"getSize",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"b";try{var o={size:0,limitSize:5242880,unit:n};if(Object.defineProperty(o,"leftSize",{enumerable:!0,get:function(){return o.limitSize-o.size}}),x&&(o.limitSize=1024*K.getStorageInfoSync().limitSize),e)o.size=JSON.stringify(this.getItem(e)).length+this._getKey(e).length;else if(x){var r=K.getStorageInfoSync(),i=r.keys;i.forEach((function(e){o.size+=JSON.stringify(t._getStorageSync(e)).length+t._getKey(e).length}))}else for(var s in localStorage)localStorage.hasOwnProperty(s)&&(o.size+=localStorage.getItem(s).length+s.length);return this._convertUnit(o)}catch(a){he.warn("Storage.getSize error:",a)}}},{key:"_convertUnit",value:function(e){var t={},n=e.unit;for(var o in t.unit=n,e)"number"==typeof e[o]&&("kb"===n.toLowerCase()?t[o]=Math.round(e[o]/1024):"mb"===n.toLowerCase()?t[o]=Math.round(e[o]/1024/1024):t[o]=e[o]);return t}},{key:"_getKey",value:function(e){return"".concat(this._getPrefix()).concat(e)}},{key:"_setStorageSync",value:function(e,t){x?F?my.setStorageSync({key:e,data:t}):K.setStorageSync(e,t):localStorage.setItem(e,JSON.stringify(t))}},{key:"_getStorageSync",value:function(e){return x?F?my.getStorageSync({key:e}).data:K.getStorageSync(e):JSON.parse(localStorage.getItem(e))}},{key:"_removeStorageSync",value:function(e){x?F?my.removeStorageSync({key:e}):K.removeStorageSync(e):localStorage.removeItem(e)}},{key:"reset",value:function(){this._doFlush(),this.checkTimes=0}}]),e}(),Xs=O((function(e){var t=Object.prototype.hasOwnProperty,n="~";function o(){}function r(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function i(e,t,o,i,s){if("function"!=typeof o)throw new TypeError("The listener must be a function");var a=new r(o,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 o:delete e._events[t]}function a(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(n=!1)),a.prototype.eventNames=function(){var e,o,r=[];if(0===this._eventsCount)return r;for(o in e=this._events)t.call(e,o)&&r.push(n?o.slice(1):o);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},a.prototype.listeners=function(e){var t=n?n+e:e,o=this._events[t];if(!o)return[];if(o.fn)return[o.fn];for(var r=0,i=o.length,s=new Array(i);r<i;r++)s[r]=o[r].fn;return s},a.prototype.listenerCount=function(e){var t=n?n+e:e,o=this._events[t];return o?o.fn?1:o.length:0},a.prototype.emit=function(e,t,o,r,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,o),!0;case 4:return l.fn.call(l.context,t,o,r),!0;case 5:return l.fn.call(l.context,t,o,r,i),!0;case 6:return l.fn.call(l.context,t,o,r,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 g,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,o);break;case 4:l[c].fn.call(l[c].context,t,o,r);break;default:if(!u)for(g=1,u=new Array(p-1);g<p;g++)u[g-1]=arguments[g];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,o,r){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||r&&!a.once||o&&a.context!==o||s(this,i);else{for(var u=0,c=[],l=a.length;u<l;u++)(a[u].fn!==t||r&&!a[u].once||o&&a[u].context!==o)&&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 o,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}));function Qs(e){var t=e.context||null;return{platform:Eo,websdkappid:Co,v:Io,a2:t&&t.a2Key||void 0,tinyid:t&&t.tinyID||void 0,sdkappid:t&&t.SDKAppID||0,contentType:t&&t.contentType||0,apn:t&&t.apn||1,accounttype:t&&t.accountType||0,sdkability:2}}var Zs=function(){function e(t){o(this,e),this.tim=t,this.tim.innerEmitter.on(Lo,this._update,this),this.tim.innerEmitter.on(wo,this._update,this),this.tim.innerEmitter.on(Go,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,o=e.action,r=e.param,i=e.tjgID;if(Ie(this.config[t])||Ie(this.config[t][o]))throw new qt({code:Ft.NETWORK_PACKAGE_UNDEFINED,message:"".concat(jn,": PackageConfig.").concat(t)});var s=function e(t){if(0===Object.getOwnPropertyNames(t).length)return Object.create(null);var o=Array.isArray(t)?[]:Object.create(null),r="";for(var i in t)null!==t[i]?void 0!==t[i]?(r=n(t[i]),["string","number","function","boolean"].indexOf(r)>=0?o[i]=t[i]:o[i]=e(t[i])):o[i]=void 0:o[i]=null;return o}(this.config[t][o]);return s.requestData=this._initRequestData(r,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,o=e.value;if(!1!=!!t){var r=t.split(".");if(!(r.length<=0)){!function e(t,o,r,i){var s=o[r];"object"===n(t[s])?e(t[s],o,r+1,i):t[s]=i}(this.config,r,0,o)}}}},{key:"_initConfig",value:function(){var e;this.config={},this.config.accessLayer=(e=this.tim,{create:null,query:{serverName:No.NAME.WEB_IM,cmd:No.CMD.ACCESS_LAYER,channel:No.CHANNEL.XHR,protocol:So,method:"POST",queryString:u(u({},Qs(e)),{},{identifier:e.context.identifier,usersig:e.context.userSig}),requestData:{}},update:null,delete:null}),this.config.login=function(e){return{create:null,query:{serverName:No.NAME.OPEN_IM,cmd:No.CMD.LOGIN,channel:No.CHANNEL.XHR,protocol:So,method:"POST",queryString:u(u({},Qs(e)),{},{identifier:e.loginInfo.identifier,usersig:e.loginInfo.userSig,sdkappid:e.loginInfo.SDKAppID,accounttype:e.loginInfo.accountType,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:No.NAME.OPEN_IM,cmd:No.CMD.LOGOUT_ALL,channel:No.CHANNEL.XHR,protocol:So,method:"POST",queryString:u(u({},Qs(e)),{},{reqtime:+new Date/1e3}),requestData:{}},update:null,delete:null}}(this.tim),this.config.longPollLogout=function(e){return{create:null,query:{serverName:No.NAME.OPEN_IM,cmd:No.CMD.LOGOUT_LONG_POLL,channel:No.CHANNEL.XHR,protocol:So,method:"POST",queryString:u(u({},Qs(e)),{},{reqtime:+new Date}),requestData:{longPollID:""},keyMaps:{request:{longPollID:"LongPollingId"}}},update:null,delete:null}}(this.tim),this.config.profile=function(e){var t=Qs(e),n={serverName:No.NAME.PROFILE,channel:No.CHANNEL.XHR,protocol:So,method:"POST",queryString:t};return{query:u(u({},n),{},{cmd:No.CMD.PORTRAIT_GET,requestData:{fromAccount:"",userItem:[]},keyMaps:{request:{toAccount:"To_Account",standardSequence:"StandardSequence",customSequence:"CustomSequence"}}}),update:u(u({},n),{},{cmd:No.CMD.PORTRAIT_SET,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=No.NAME.GROUP,o=Qs(e);if(e.context.login!==rt.IS_LOGIN||!e.context.a2Key){n=No.NAME.BIG_GROUP_NO_AUTH;var r=Qs(e);r.a2,r.tinyid;o=m(r,["a2","tinyid"])}var i={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",avatar:"FaceUrl"},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"}},s={serverName:No.NAME.GROUP,channel:No.CHANNEL.XHR,protocol:So,queryString:o};return{create:u(u({},s),{},{cmd:No.CMD.CREATE_GROUP,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:i}),list:u(u({},s),{},{cmd:No.CMD.GET_JOINED_GROUPS,requestData:{userID:e.loginInfo.identifier,limit:void 0,offset:void 0,groupType:void 0,responseFilter:void 0},keyMaps:i}),query:u(u({},s),{},{cmd:No.CMD.GET_GROUP_INFO,requestData:{groupIDList:void 0,responseFilter:void 0},keyMaps:i}),getGroupMemberProfile:u(u({},s),{},{cmd:No.CMD.GET_GROUP_MEMBER_INFO,requestData:{groupID:void 0,userIDList:void 0,memberInfoFilter:void 0,memberCustomFieldFilter:void 0},keyMaps:{request:u(u({},i.request),{},{userIDList:"Member_List_Account"}),response:i.response}}),getGroupMemberList:u(u({},s),{},{cmd:No.CMD.GET_GROUP_MEMBER_LIST,requestData:{groupID:void 0,limit:0,offset:0,memberRoleFilter:void 0,memberInfoFilter:void 0},keyMaps:i}),quitGroup:u(u({},s),{},{cmd:No.CMD.QUIT_GROUP,requestData:{groupID:void 0}}),changeGroupOwner:u(u({},s),{},{cmd:No.CMD.CHANGE_GROUP_OWNER,queryString:o,requestData:{groupID:void 0,newOwnerID:void 0},keyMaps:i}),destroyGroup:u(u({},s),{},{cmd:No.CMD.DESTROY_GROUP,requestData:{groupID:void 0}}),updateGroupProfile:u(u({},s),{},{cmd:No.CMD.MODIFY_GROUP_INFO,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({},i.request),{},{groupCustomField:"AppDefinedData"}),response:i.response}}),modifyGroupMemberInfo:u(u({},s),{},{cmd:No.CMD.MODIFY_GROUP_MEMBER_INFO,requestData:{groupID:void 0,userID:void 0,messageRemindType:void 0,nameCard:void 0,role:void 0,memberCustomField:void 0,muteTime:void 0},keyMaps:i}),addGroupMember:u(u({},s),{},{cmd:No.CMD.ADD_GROUP_MEMBER,requestData:{groupID:void 0,silence:void 0,userIDList:void 0},keyMaps:i}),deleteGroupMember:u(u({},s),{},{cmd:No.CMD.DELETE_GROUP_MEMBER,requestData:{groupID:void 0,userIDList:void 0,reason:void 0},keyMaps:{request:{userIDList:"MemberToDel_Account"}}}),searchGroupByID:u(u({},s),{},{cmd:No.CMD.SEARCH_GROUP_BY_ID,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:u(u({},s),{},{cmd:No.CMD.APPLY_JOIN_GROUP,requestData:{groupID:void 0,applyMessage:void 0,userDefinedField:void 0},keyMaps:i}),applyJoinAVChatRoom:u(u({},s),{},{serverName:No.NAME.BIG_GROUP_NO_AUTH,cmd:No.CMD.APPLY_JOIN_GROUP,requestData:{groupID:void 0,applyMessage:void 0,userDefinedField:void 0},keyMaps:i}),handleApplyJoinGroup:u(u({},s),{},{cmd:No.CMD.HANDLE_APPLY_JOIN_GROUP,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:u(u({},s),{},{serverName:No.NAME.OPEN_IM,cmd:No.CMD.DELETE_GROUP_SYSTEM_MESSAGE,requestData:{messageListToDelete:void 0},keyMaps:{request:{messageListToDelete:"DelMsgList",messageSeq:"MsgSeq",messageRandom:"MsgRandom"}}}),getGroupPendency:u(u({},s),{},{cmd:No.CMD.GET_GROUP_PENDENCY,requestData:{startTime:void 0,limit:void 0,handleAccount:void 0},keyMaps:{request:{handleAccount:"Handle_Account"}}}),getOnlineMemberNum:{serverName:n,cmd:No.CMD.GET_ONLINE_MEMBER_NUM,channel:No.CHANNEL.XHR,protocol:So,queryString:o,requestData:{groupID:void 0}}}}(this.tim),this.config.longPollID=function(e){return{create:{},query:{serverName:No.NAME.OPEN_IM,cmd:No.CMD.GET_LONG_POLL_ID,channel:No.CHANNEL.XHR,protocol:So,queryString:u(u({},Qs(e)),{},{instanceid:e.context.instanceID,reqtime:+new Date/1e3}),requestData:{},keyMaps:{response:{LongPollingId:"longPollingID"}}},update:{},delete:{}}}(this.tim),this.config.longPoll=function(e){var t=u(u({},Qs(e)),{},{instanceid:e.context.instanceID,reqtime:Math.ceil(+new Date/1e3)});return{create:{},query:{serverName:No.NAME.OPEN_IM,cmd:No.CMD.LONG_POLL,channel:No.CHANNEL.AUTO,protocol:So,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=Qs(e),n={serverName:No.NAME.FRIEND,channel:No.CHANNEL.XHR,protocol:So,queryString:t};return{create:u(u({},n),{},{cmd:No.CMD.FRIEND_ADD,requestData:{fromAccount:"",addFriendItem:[]}}),get:u(u({},n),{},{cmd:No.CMD.GET_PENDENCY,requestData:{fromAccount:"",pendencyType:"Pendency_Type_ComeIn"}}),update:u(u({},n),{},{cmd:No.CMD.RESPONSE_PENDENCY,requestData:{fromAccount:"",responseFriendItem:[]}}),delete:u(u({},n),{},{cmd:No.CMD.DELETE_PENDENCY,requestData:{fromAccount:"",toAccount:[],pendencyType:"Pendency_Type_ComeIn"}})}}(this.tim),this.config.friend=function(e){var t=u(u({},Qs(e)),{},{reqtime:function(){return+new Date}}),n={serverName:No.NAME.FRIEND,channel:No.CHANNEL.XHR,protocol:So,method:"POST",queryString:t};return{get:u(u({},n),{},{cmd:No.CMD.FRIEND_GET_ALL,requestData:{fromAccount:"",timeStamp:0,tagList:[Et.NICK,"Tag_SNS_IM_Remark",Et.AVATAR]},keyMaps:{request:{},response:{}}}),delete:u(u({},n),{},{cmd:No.CMD.FRIEND_DELETE,requestData:{fromAccount:"",toAccount:[],deleteType:"Delete_Type_Single"}})}}(this.tim),this.config.blacklist=function(e){var t=Qs(e),n={serverName:No.NAME.FRIEND,channel:No.CHANNEL.XHR,protocol:So,method:"POST",queryString:t};return{create:u(u({},n),{},{cmd:No.CMD.ADD_BLACKLIST,requestData:{fromAccount:"",toAccount:[]}}),get:u(u({},n),{},{cmd:No.CMD.GET_BLACKLIST,requestData:{fromAccount:"",startIndex:0,maxLimited:30,lastSequence:0}}),delete:u(u({},n),{},{cmd:No.CMD.DELETE_BLACKLIST,requestData:{fromAccount:"",toAccount:[]}}),update:{}}}(this.tim),this.config.c2cMessage=function(e){var t=u(u({},Qs(e)),{},{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",url:"",imageUrl:"URL",fileUrl:"Url",remoteAudioUrl:"Url",remoteVideoUrl:"VideoUrl",thumbUUID:"ThumbUUID",videoUUID:"VideoUUID",videoUrl:"",downloadFlag:"Download_Flag",nick:"From_AccountNick",avatar:"From_AccountHeadurl",from:"From_Account",time:"MsgTimeStamp",messageRandom:"MsgRandom",messageSequence:"MsgSeq",elements:"MsgBody",clientSequence:"ClientSeq",payload:"MsgContent",messageList:"MsgList",messageNumber:"MsgNum",abstractList:"AbstractList",messageBody:"MsgBody"},response:{MsgContent:"content",MsgTime:"time",Data:"data",Desc:"description",Ext:"extension",MsgKey:"messageKey",MsgType:"type",MsgBody:"elements",Download_Flag:"downloadFlag",ThumbUUID:"thumbUUID",VideoUUID:"videoUUID"}},o={serverName:No.NAME.OPEN_IM,channel:No.CHANNEL.XHR,protocol:So,method:"POST",queryString:t};return{create:u(u({},o),{},{cmd:No.CMD.SEND_MESSAGE,requestData:{fromAccount:e.loginInfo.identifier,toAccount:"",msgTimeStamp:Math.ceil(+new Date/1e3),msgSeq:0,msgRandom:0,msgBody:[],nick:"",avatar:"",msgLifeTime:void 0,offlinePushInfo:{pushFlag:0,title:"",desc:"",ext:"",apnsInfo:{badgeMode:0},androidInfo:{OPPOChannelID:""}}},keyMaps:n}),query:u(u({},o),{},{cmd:No.CMD.GET_C2C_ROAM_MESSAGES,requestData:{peerAccount:"",count:15,lastMessageTime:0,messageKey:"",withRecalledMsg:1},keyMaps:n})}}(this.tim),this.config.c2cMessageWillBeRevoked=function(e){var t=u(u({},Qs(e)),{},{reqtime:function(){return+new Date}});return{create:{serverName:No.NAME.OPEN_IM,cmd:No.CMD.REVOKE_C2C_MESSAGE,channel:No.CHANNEL.XHR,protocol:So,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=u(u({},Qs(e)),{},{reqtime:function(){return+new Date}});return{get:{serverName:No.NAME.OPEN_IM,cmd:No.CMD.GET_PEER_READ_TIME,channel:No.CHANNEL.XHR,protocol:So,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=u(u({},Qs(e)),{},{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",url:"",imageUrl:"URL",fileUrl:"Url",remoteAudioUrl:"Url",remoteVideoUrl:"VideoUrl",thumbUUID:"ThumbUUID",videoUUID:"VideoUUID",videoUrl:"",downloadFlag:"Download_Flag",clientSequence:"ClientSeq",from:"From_Account",time:"MsgTimeStamp",messageRandom:"MsgRandom",messageSequence:"MsgSeq",payload:"MsgContent",messageList:"MsgList",messageNumber:"MsgNum",abstractList:"AbstractList",messageBody:"MsgBody"},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"}},o={serverName:No.NAME.GROUP,channel:No.CHANNEL.XHR,protocol:So,method:"POST",queryString:t};return{create:u(u({},o),{},{cmd:No.CMD.SEND_GROUP_MESSAGE,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:""}},groupAtInfo:[]},keyMaps:n}),query:u(u({},o),{},{cmd:No.CMD.GET_GROUP_ROAM_MESSAGES,requestData:{withRecalledMsg:1,groupID:"",count:15,sequence:""},keyMaps:n}),update:null,delete:null}}(this.tim),this.config.groupMessageWillBeRevoked=function(e){var t=u(u({},Qs(e)),{},{reqtime:function(){return+new Date}});return{create:{serverName:No.NAME.GROUP,cmd:No.CMD.REVOKE_GROUP_MESSAGE,channel:No.CHANNEL.XHR,protocol:So,method:"POST",queryString:t,requestData:{to:"",msgSeqList:[]},keyMaps:{request:{to:"GroupId",msgSeqList:"MsgSeqList",msgSeq:"MsgSeq"}}}}}(this.tim),this.config.conversation=function(e){var t=Qs(e),n={serverName:No.NAME.RECENT_CONTACT,channel:No.CHANNEL.XHR,protocol:So,method:"POST",queryString:t};return{query:u(u({},n),{},{cmd:No.CMD.GET_CONVERSATION_LIST,requestData:{fromAccount:e.loginInfo.identifier,count:0},keyMaps:{request:{},response:{SessionItem:"conversations",ToAccount:"groupID",To_Account:"userID",UnreadMsgCount:"unreadCount",MsgGroupReadedSeq:"messageReadSeq"}}}),pagingQuery:u(u({},n),{},{cmd:No.CMD.PAGING_GET_CONVERSATION_LIST,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:u(u({},n),{},{cmd:No.CMD.DELETE_CONVERSATION,requestData:{fromAccount:e.loginInfo.identifier,toAccount:void 0,type:1,toGroupID:void 0},keyMaps:{request:{toGroupID:"ToGroupid"}}}),setC2CMessageRead:u(u({},n),{},{serverName:No.NAME.OPEN_IM,cmd:No.CMD.SET_C2C_MESSAGE_READ,requestData:{C2CMsgReaded:void 0},keyMaps:{request:{lastMessageTime:"LastedMsgTime"}}}),setGroupMessageRead:u(u({},n),{},{serverName:No.NAME.GROUP,cmd:No.CMD.SET_GROUP_MESSAGE_READ,requestData:{groupID:void 0,messageReadSeq:void 0},keyMaps:{request:{messageReadSeq:"MsgReadedSeq"}}}),deleteGroupAtTips:u(u({},n),{},{serverName:No.NAME.OPEN_IM,cmd:No.CMD.DELETE_GROUP_AT_TIPS,requestData:{messageListToDelete:void 0},keyMaps:{request:{messageListToDelete:"DelMsgList",messageSeq:"MsgSeq",messageRandom:"MsgRandom"}}})}}(this.tim),this.config.syncMessage=function(e){var t=u(u({},Qs(e)),{},{reqtime:function(){return[Math.ceil(+new Date),Math.random()].join("")}});return{create:null,query:{serverName:No.NAME.OPEN_IM,cmd:No.CMD.GET_MESSAGES,channel:No.CHANNEL.XHR,protocol:So,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){var t=No.NAME.BIG_GROUP_LONG_POLLING,n=u(u({},Qs(e)),{},{accounttype:"792",reqtime:function(){return+new Date}});if(e.context.login!==rt.IS_LOGIN||!e.context.a2Key){t=No.NAME.BIG_GROUP_LONG_POLLING_NO_AUTH;var o=n;o.a2,o.tinyid;n=m(o,["a2","tinyid"])}return{startLongPoll:{serverName:t,cmd:No.CMD.AVCHATROOM_LONG_POLL,channel:No.CHANNEL.XHR,protocol:So,method:"POST",queryString:n,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=u(u({},Qs(e)),{},{reqtime:function(){return+new Date}});return{create:{serverName:No.NAME.OPEN_IM,cmd:No.CMD.FILE_UPLOAD,channel:No.CHANNEL.XHR,protocol:So,method:"POST",queryString:t,requestData:{appVersion:"2.1",fromAccount:"",toAccount:"",sequence:0,time:function(){return Math.ceil(Date.now()/1e3)},random:function(){return we()},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:e.loginInfo.SDKAppID,identifier:e.loginInfo.identifier,userSig:e.context.userSig};return{create:null,query:{serverName:No.NAME.IM_COS_SIGN,cmd:No.CMD.COS_SIGN,channel:No.CHANNEL.XHR,protocol:So,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.cosPreSig=function(e){var t={sdkappid:e.loginInfo.SDKAppID,identifier:e.loginInfo.identifier,userSig:e.context.userSig,platform:x?8:7,version:Io};return{query:{serverName:No.NAME.IM_COS_MESSAGE,cmd:No.CMD.COS_PRE_SIG,channel:No.CHANNEL.XHR,protocol:So,method:"POST",queryString:t,requestData:{fileType:void 0,fileName:void 0,uploadMethod:0,duration:900},keyMaps:{request:{userSig:"usersig",fileType:"file_type",fileName:"file_name",uploadMethod:"upload_method"},response:{expired_time:"expiredTime",request_id:"requestId",head_url:"headUrl",upload_url:"uploadUrl",download_url:"downloadUrl",ci_url:"ciUrl"}}}}}(this.tim),this.config.bigDataHallwayAuthKey=function(e){return{create:null,query:{serverName:No.NAME.OPEN_IM,cmd:No.CMD.BIG_DATA_HALLWAY_AUTH_KEY,channel:No.CHANNEL.XHR,protocol:So,method:"POST",queryString:u(u({},Qs(e)),{},{accounttype:"792",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:No.NAME.IM_OPEN_STAT,cmd:No.CMD.TIM_WEB_REPORT,channel:No.CHANNEL.AUTO,protocol:So,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:No.NAME.IM_OPEN_STAT,cmd:No.CMD.TIM_WEB_REPORT,channel:No.CHANNEL.AUTO,protocol:So,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),this.config.mergerMessage=function(e){var t=u(u({},Qs(e)),{},{reqtime:function(){return+new Date}}),n={request:{fromAccount:"From_Account",toAccount:"To_Account",msgTimeStamp:"MsgTimeStamp",msgSeq:"MsgSeq",msgRandom:"MsgRandom",msgBody:"MsgBody",type:"MsgType",content:"MsgContent",data:"Data",description:"Desc",extension:"Ext",sizeType:"Type",uuid:"UUID",url:"",imageUrl:"URL",fileUrl:"Url",remoteAudioUrl:"Url",remoteVideoUrl:"VideoUrl",thumbUUID:"ThumbUUID",videoUUID:"VideoUUID",videoUrl:"",downloadFlag:"Download_Flag",from:"From_Account",time:"MsgTimeStamp",messageRandom:"MsgRandom",messageSequence:"MsgSeq",elements:"MsgBody",clientSequence:"ClientSeq",payload:"MsgContent",messageList:"MsgList",messageNumber:"MsgNum",abstractList:"AbstractList",messageBody:"MsgBody"},response:{Data:"data",Desc:"description",Ext:"extension",Download_Flag:"downloadFlag",ThumbUUID:"thumbUUID",VideoUUID:"videoUUID"}},o={serverName:No.NAME.IM_LONG_MESSAGE,channel:No.CHANNEL.XHR,protocol:So,method:"POST",queryString:t};return{create:u(u({},o),{},{cmd:No.CMD.UPLOAD_MERGER_MESSAGE,requestData:{messageList:[],messageNumber:0,abstractList:"",title:"",compatibleText:""},keyMaps:n}),query:u(u({},o),{},{cmd:No.CMD.DOWNLOAD_MERGER_MESSAGE,requestData:{downloadKey:""},keyMaps:n})}}(this.tim)}},{key:"_initRequestData",value:function(e,t){if(void 0===e)return Dr(t.requestData,this._getRequestMap(t),this.tim);var n=t.requestData,o=Object.create(null);for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)){if(o[r]="function"==typeof n[r]?n[r]():n[r],void 0===e[r])continue;o[r]=e[r]}return o=Dr(o,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 So:return function(e){if("string"===n(e))try{return JSON.parse(e)}catch(t){return e}return e};case To:return function(e){return e};default:return function(e){return he.warn("PackageConfig._initEncoder(), unknow response type, data: ",JSON.stringify(e)),e}}}},{key:"_initDecoder",value:function(e){switch(e.protocol){case So:return function(e){if("string"===n(e))try{return JSON.parse(e)}catch(t){return e}return e};case To:return function(e){return e};default:return function(e){return he.warn("PackageConfig._initDecoder(), unknow response type, data: ",e),e}}}}]),e}(),ea=function(){for(var e=[],t=ta(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)},ta=function(e){var t=e.length,n=e[t-1];if("string"!=typeof n)return"";if(n.length>1)return"";var o=e[t-1];return delete e[t-1],e.length-=t===e.length?1:0,o},na={C2CMessageArray:1,groupMessageArray:1,groupTips:1,C2CNotifyMessageArray:1,profileModify:1,friendListMod:1},oa=function(e){c(n,e);var t=_(n);function n(e){var r;return o(this,n),(r=t.call(this,e))._initialization(),r}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(Jo,t)}},{key:"_groupMessageArrayChannel",value:function(e,t,n){this.emitInnerEvent(Xo,t)}},{key:"_groupTipsChannel",value:function(e,t,n){var o=this;switch(e){case 4:case 6:this.emitInnerEvent(Qo,t);break;case 5:t.forEach((function(e){Me(e.elements.revokedInfos)?o.emitInnerEvent(or,t):Me(e.elements.groupMessageReadNotice)?o.emitInnerEvent(rr,t):o.emitInnerEvent(er,{groupSystemNotices:t,type:n})}));break;case 12:this.emitInnerEvent(Zo,t);break;default:he.log("NotificationController._groupTipsChannel unknown event=".concat(e," type=").concat(n),t)}}},{key:"_C2CNotifyMessageArrayChannel",value:function(e,t,n){var o=this;Me(t)&&t.forEach((function(e){ye(e)&&(e.hasOwnProperty("kickoutMsgNotify")?o.emitInnerEvent(Wo):e.hasOwnProperty("c2cMessageRevokedNotify")?o.emitInnerEvent(ir,t):e.hasOwnProperty("c2cMessageReadReceipt")?o.emitInnerEvent(sr,t):e.hasOwnProperty("c2cMessageReadNotice")&&o.emitInnerEvent(ar,t))}))}},{key:"_profileModifyChannel",value:function(e,t,n){this.emitInnerEvent(nr,t)}},{key:"_friendListModChannel",value:function(e,t,n){this.emitInnerEvent(tr,t)}},{key:"_dispatchNotice",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"poll";if(Me(e))for(var n=null,o=null,r="",i=0,s=0,a=e.length;s<a;s++)i=(n=e[s]).event,r=Object.keys(n).find((function(e){return void 0!==na[e]})),Ee(this._shuntChannels[r])?(o=n[r],"poll"===t&&this._updatenoticeSequence(o),this._shuntChannels[r](i,o,t)):("poll"===t&&this._updatenoticeSequence(),he.log("NotificationController._dispatchNotice unknown eventItem=",n))}},{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(xr)}},{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(Po,this._startSyncMessages,this),e.on(dr,this.closeNoticeChannel,this)}},{key:"openNoticeChannel",value:function(){he.log("NotificationController.openNoticeChannel"),this._getLongPollID()}},{key:"closeNoticeChannel",value:function(){he.log("NotificationController.closeNoticeChannel"),(this._runLoop instanceof gs||this._runLoop instanceof hs)&&(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 Zr(Wi);this.request({name:"longPollID",action:"query"}).then((function(n){var o=n.data.longPollingID;e._onGetLongPollIDSuccess(o),t.setText("longPollingID=".concat(o)).setNetworkType(e.getNetworkType()).setEnd()})).catch((function(n){var o=new qt({code:n.code||Ft.GET_LONGPOLL_ID_FAILED,message:n.message||Wn});e.emitInnerEvent(jo),e.emitInnerEvent(mr,o),e.probeNetwork().then((function(e){var n=y(e,2),r=n[0],i=n[1];t.setError(o,r,i).setEnd()}))}))}else this._onGetLongPollIDSuccess(this._longPollID)}},{key:"_onGetLongPollIDSuccess",value:function(e){this.emitInnerEvent(Go,[{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){he.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 he.log("NotificationController._startLongPoll is running...")}},{key:"_onNoticeReceived",value:function(e){var t=e.data;t.errorCode!==ot.SUCCESS?(new Zr(Ji).setMessage(t.errorInfo||JSON.stringify(t)).setCode(t.errorCode).setNetworkType(this.getNetworkType()).setEnd(!0),this._onResponseError(t)):this.emitInnerEvent(Yo);this.tim.sumStatController.addSuccessCount(xr),this.tim.sumStatController.addCost(xr,t.timecost),e.data.eventArray&&this._dispatchNotice(e.data.eventArray)}},{key:"_onResponseError",value:function(e){switch(e.errorCode){case Ft.LONG_POLL_KICK_OUT:he.warn("NotificationController._onResponseError, longPollingID=".concat(this._longPollID," was kicked out")),this.emitInnerEvent(zo),this.closeNoticeChannel();break;case Ft.MESSAGE_A2KEY_EXPIRED:case Ft.ACCOUNT_A2KEY_EXPIRED:this.emitInnerEvent(hr);break;default:Ie(e.errorCode)||Ie(e.errorInfo)?he.log("NotificationController._onResponseError, errorCode or errorInfo undefined!",e):this.emitInnerEvent(mr,new qt({code:e.errorCode,message:e.errorInfo}))}}},{key:"_onNoticeFail",value:function(e){if(e.error)if("ECONNABORTED"===e.error.code||e.error.code===Ft.NETWORK_TIMEOUT)if(e.error.config){var t=e.error.config.url,n=e.error.config.data;he.log("NotificationController._onNoticeFail request timed out. url=".concat(t," data=").concat(n))}else he.log("NotificationController._onNoticeFail request timed out.");else he.log("NotificationController._onNoticeFail request failed due to network error");this.emitInnerEvent($o)}},{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(ea(n.cookie,n.syncFlag)){case"00":case"01":e.emitInnerEvent(mr,{code:Ft.NOTICE_RUNLOOP_OFFSET_LOST,message:zn});break;case"10":case"11":n.eventArray&&e._dispatchNotice(n.eventArray,"sync"),e._syncNoticeList=e._syncNoticeList.concat(n.messageList),e.emitInnerEvent(bo,{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(Uo,{messageList:n.messageList,C2CRemainingUnreadList:n.C2CRemainingUnreadList}),e._syncOffset=n.cookie,e._syncNoticeList=[],e._syncMessagesIsRunning=!1,e._syncMessagesFinished=!0}})).catch((function(t){e._syncMessagesIsRunning=!1,he.error("NotificationController.syncMessage failed. error:",t)}))}}]),n}(Nr),ra=function(e){c(n,e);var t=_(n);function n(e){var r;return o(this,n),(r=t.call(this,e)).TIMUploadPlugin=null,r.timUploadPlugin=null,r.COSSDK=null,r._cosUploadMethod=null,r.expiredTimeLimit=600,r.appid=0,r.bucketName="",r.ciUrl="",r.directory="",r.downloadUrl="",r.uploadUrl="",r.expiredTimeOut=r.expiredTimeLimit,r.region="ap-shanghai",r.cos=null,r.cosOptions={secretId:"",secretKey:"",sessionToken:"",expiredTime:0},r._timer=0,r.uploadFileType="",r.duration=900,r.tryCount=0,r.tim.innerEmitter.on(Po,r._init,f(r)),r.triggerReady(),r}return i(n,[{key:"_expiredTimer",value:function(){var e=this;this._timer=setInterval((function(){Math.ceil(Date.now()/1e3)>=e.cosOptions.expiredTime-120&&(e._getAuthorizationKey(),clearInterval(e._timer))}),6e4)}},{key:"_init",value:function(){if(this.TIMUploadPlugin=this.tim.getPlugin("tim-upload-plugin"),this.TIMUploadPlugin)this._initUploaderMethod();else{var e=x?"cos-wx-sdk":"cos-js-sdk";this.COSSDK=this.tim.getPlugin(e),this.COSSDK?(this._getAuthorizationKey(),he.warn("UploadController._init v2.9.2起推荐使用 tim-upload-plugin 代替 ".concat(e,",上传更快更安全。详细请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#registerPlugin"))):he.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 Zr(ai);this.request({name:"cosSig",action:"query",param:{duration:this.expiredTimeLimit}}).then((function(o){he.log("UploadController._getAuthorizationKey ok. data:",o.data);var r=o.data,i=r.expiredTime-t;n.setText("requestId=".concat(r.requestId," requestTime=").concat(t," expiredTime=").concat(r.expiredTime," timeout=").concat(i,"s")).setNetworkType(e.getNetworkType()).setEnd(),!x&&r.region&&(e.region=r.region),e.appid=r.appid,e.bucketName=r.bucketName,e.ciUrl=r.ciUrl,e.directory=r.directory,e.downloadUrl=r.downloadUrl,e.uploadUrl=r.uploadUrl,e.expiredTimeOut=i,e.cosOptions={secretId:r.secretId,secretKey:r.secretKey,sessionToken:r.sessionToken,expiredTime:r.expiredTime},he.log("UploadController._getAuthorizationKey cos.config:","region=".concat(e.region,",bucketName=").concat(e.bucketName)),e._initUploaderMethod(),e._expiredTimer()})).catch((function(t){e.probeNetwork().then((function(e){var o=y(e,2),r=o[0],i=o[1];n.setError(t,r,i).setEnd()})),he.warn("UploadController._getAuthorizationKey failed. error:",t)}))}},{key:"_getCosPreSigUrl",value:function(e){var t=this,n=Math.ceil(Date.now()/1e3),o=new Zr(ui);return this.request({name:"cosPreSig",action:"query",param:{fileType:e.fileType,fileName:e.fileName,uploadMethod:e.uploadMethod,duration:e.duration}}).then((function(e){t.tryCount=0;var r=e.data||{},i=r.expiredTime-n;return he.log("UploadController._getCosPreSigUrl ok. data:",r),o.setText("requestId=".concat(r.requestId," expiredTime=").concat(r.expiredTime," timeout=").concat(i,"s")).setNetworkType(t.getNetworkType()).setEnd(),r})).catch((function(n){return-1===n.code&&(n.code=Ft.COS_GET_SIG_FAIL),t.probeNetwork().then((function(e){var t=y(e,2),r=t[0],i=t[1];o.setError(n,r,i).setEnd()})),he.warn("UploadController._getCosPreSigUrl failed. error:",n),t.tryCount<1?(t.tryCount++,t._getCosPreSigUrl(e)):(t.tryCount=0,Ur(new qt({code:Ft.COS_GET_SIG_FAIL,message:zt})))}))}},{key:"_initUploaderMethod",value:function(){var e=this;if(this.TIMUploadPlugin)return this.timUploadPlugin=new this.TIMUploadPlugin,void(this._cosUploadMethod=function(t,n){e.timUploadPlugin.uploadFile(t,n)});this.appid&&(this.cos=x?new this.COSSDK({ForcePathStyle:!0,getAuthorization:this._getAuthorization.bind(this)}):new this.COSSDK({getAuthorization:this._getAuthorization.bind(this)}),this._cosUploadMethod=x?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 Ur(new qt({code:Ft.MESSAGE_IMAGE_SELECT_FILE_FIRST,message:nn}));var t=this._checkImageType(e.file);if(!0!==t)return t;var n=this._checkImageMime(e.file);if(!0!==n)return n;var o=this._checkImageSize(e.file);if(!0!==o)return o;var r=null;return this._setUploadFileType(eo),this.upload(e).then((function(e){return r=e,t="https://".concat(e.location),x?new Promise((function(e,n){K.getImageInfo({src:t,success:function(t){e({width:t.width,height:t.height})},fail:function(){e({width:0,height:0})}})})):ee&&9===te?Promise.resolve({width:0,height:0}):new Promise((function(e,n){var o=new Image;o.onload=function(){e({width:this.width,height:this.height}),o=null},o.onerror=function(){e({width:0,height:0}),o=null},o.src=t}));var t})).then((function(e){return r.width=e.width,r.height=e.height,Promise.resolve(r)}))}},{key:"_checkImageType",value:function(e){var t="";return t=x?e.url.slice(e.url.lastIndexOf(".")+1):e.files[0].name.slice(e.files[0].name.lastIndexOf(".")+1),Qn.indexOf(t.toLowerCase())>=0||Ur(new qt({code:Ft.MESSAGE_IMAGE_TYPES_LIMIT,message:on}))}},{key:"_checkImageMime",value:function(e){return!0}},{key:"_checkImageSize",value:function(e){var t=0;return 0===(t=x?e.size:e.files[0].size)?Ur(new qt({code:Ft.MESSAGE_FILE_IS_EMPTY,message:"".concat(Zt)})):t<20971520||Ur(new qt({code:Ft.MESSAGE_IMAGE_SIZE_LIMIT,message:"".concat(rn)}))}},{key:"uploadFile",value:function(e){var t=null;return e.file?e.file.files[0].size>104857600?(t=new qt({code:Ft.MESSAGE_FILE_SIZE_LIMIT,message:dn}),Ur(t)):0===e.file.files[0].size?(t=new qt({code:Ft.MESSAGE_FILE_IS_EMPTY,message:"".concat(Zt)}),Ur(t)):(this._setUploadFileType(oo),this.upload(e)):(t=new qt({code:Ft.MESSAGE_FILE_SELECT_FILE_FIRST,message:gn}),Ur(t))}},{key:"uploadVideo",value:function(e){return e.file.videoFile.size>104857600?Ur(new qt({code:Ft.MESSAGE_VIDEO_SIZE_LIMIT,message:"".concat(cn)})):0===e.file.videoFile.size?Ur(new qt({code:Ft.MESSAGE_FILE_IS_EMPTY,message:"".concat(Zt)})):-1===Zn.indexOf(e.file.videoFile.type)?Ur(new qt({code:Ft.MESSAGE_VIDEO_TYPES_LIMIT,message:"".concat(ln)})):(this._setUploadFileType(to),x?this.handleVideoUpload({file:e.file.videoFile}):V?this.handleVideoUpload(e):void 0)}},{key:"handleVideoUpload",value:function(e){var t=this;return new Promise((function(n,o){t.upload(e).then((function(e){n(e)})).catch((function(){t.upload(e).then((function(e){n(e)})).catch((function(){o(new qt({code:Ft.MESSAGE_VIDEO_UPLOAD_FAIL,message:un}))}))}))}))}},{key:"uploadAudio",value:function(e){return e.file?e.file.size>20971520?Ur(new qt({code:Ft.MESSAGE_AUDIO_SIZE_LIMIT,message:"".concat(an)})):0===e.file.size?Ur(new qt({code:Ft.MESSAGE_FILE_IS_EMPTY,message:"".concat(Zt)})):(this._setUploadFileType(no),this.upload(e)):Ur(new qt({code:Ft.MESSAGE_AUDIO_UPLOAD_FAIL,message:sn}))}},{key:"upload",value:function(e){var t=this;if(!Ee(this._cosUploadMethod))return he.warn("UploadController.upload 没有检测到上传插件,将无法发送图片、音频、视频、文件等类型的消息。详细请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/SDK.html#registerPlugin"),Ur(new qt({code:Ft.COS_UNDETECTED,message:Yt}));if(this.timUploadPlugin)return this._uploadWithPreSigUrl(e);var n=new Zr(ci);he.time(Qr);var o=x?e.file:e.file.files[0];return new Promise((function(r,i){var s=x?t._createCosOptionsWXMiniApp(e):t._createCosOptionsWeb(e),a=t;t._cosUploadMethod(s,(function(e,s){var u=Object.create(null);if(s){if(e||Me(s.files)&&s.files[0].error){var c=new qt({code:Ft.MESSAGE_FILE_UPLOAD_FAIL,message:pn});return n.setError(c,!0,t.getNetworkType()).setEnd(),he.log("UploadController.upload failed, error:",s.files[0].error),403===s.files[0].error.statusCode&&(he.warn("UploadController.upload failed. cos AccessKeyId was invalid, regain auth key!"),t._getAuthorizationKey()),void i(c)}u.fileName=o.name,u.fileSize=o.size,u.fileType=o.type.slice(o.type.indexOf("/")+1).toLowerCase(),u.location=x?s.Location:s.files[0].data.Location;var l=he.timeEnd(Qr),p=a._formatFileSize(o.size),g=a._formatSpeed(1e3*o.size/l),d="size=".concat(p,",time=").concat(l,"ms,speed=").concat(g);return he.log("UploadController.upload success name=".concat(o.name,",").concat(d)),r(u),void n.setNetworkType(t.getNetworkType()).setText(d).setEnd()}var h=new qt({code:Ft.MESSAGE_FILE_UPLOAD_FAIL,message:pn});n.setError(h,!0,a.getNetworkType()).setEnd(),he.warn("UploadController.upload failed, error:",e),403===e.statusCode&&(he.warn("UploadController.upload failed. cos AccessKeyId was invalid, regain auth key!"),t._getAuthorizationKey()),i(h)}))}))}},{key:"_uploadWithPreSigUrl",value:function(e){var t=this,n=x?e.file:e.file.files[0];return this._createCosOptionsPreSigUrl(e).then((function(e){return new Promise((function(o,r){var i=new Zr(ci);he.time(Qr),t._cosUploadMethod(e,(function(e,s){var a=Object.create(null);if(e||403===s.statusCode){var u=new qt({code:Ft.MESSAGE_FILE_UPLOAD_FAIL,message:pn});return i.setError(u,!0,t.getNetworkType()).setEnd(),he.log("UploadController._uploadWithPreSigUrl failed, error:",e),void r(u)}var c=s.data.location||"";0!==c.indexOf("https://")&&0!==c.indexOf("http://")||(c=c.split("//")[1]),a.fileName=n.name,a.fileSize=n.size,a.fileType=n.type.slice(n.type.indexOf("/")+1).toLowerCase(),a.location=c;var l=he.timeEnd(Qr),p=t._formatFileSize(n.size),g=t._formatSpeed(1e3*n.size/l),d="size=".concat(p,",time=").concat(l,"ms,speed=").concat(g);he.log("UploadController._uploadWithPreSigUrl success name=".concat(n.name,",").concat(d)),i.setNetworkType(t.getNetworkType()).setText(d).setEnd(),o(a)}))}))}))}},{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._genFileName(e.file.files[0].name);return{files:[{Bucket:"".concat(this.bucketName,"-").concat(this.appid),Region:this.region,Key:"".concat(this.directory,"/").concat(t),Body:e.file.files[0]}],SliceSize:1048576,onProgress:function(t){if("function"==typeof e.onProgress)try{e.onProgress(t.percent)}catch(n){he.warn("onProgress callback error:",n),he.error(n)}},onFileFinish:function(e,t,n){}}}},{key:"_createCosOptionsWXMiniApp",value:function(e){var t=this._genFileName(e.file.name),n=e.file.url;return{Bucket:"".concat(this.bucketName,"-").concat(this.appid),Region:this.region,Key:"".concat(this.directory,"/").concat(t),FilePath:n,onProgress:function(t){if(he.log(JSON.stringify(t)),"function"==typeof e.onProgress)try{e.onProgress(t.percent)}catch(n){he.warn("onProgress callback error:",n),he.error(n)}}}}},{key:"_createCosOptionsPreSigUrl",value:function(e){var t=this,n="",o="",r=0;return x?(n=this._genFileName(e.file.name),o=e.file.url,r=1):(n=this._genFileName("".concat(we(999999))),o=e.file.files[0],r=0),this._getCosPreSigUrl({fileType:this.uploadFileType,fileName:n,uploadMethod:r,duration:this.duration}).then((function(r){var i=r.uploadUrl,s=r.downloadUrl;return{url:i,fileType:t.uploadFileType,fileName:n,resources:o,downloadUrl:s,onProgress:function(t){if("function"==typeof e.onProgress)try{e.onProgress(t.percent)}catch(n){he.warn("onProgress callback error:",n),he.error(n)}}}}))}},{key:"_genFileName",value:function(e){return"".concat(ze(),"-").concat(e)}},{key:"_setUploadFileType",value:function(e){this.uploadFileType=e}},{key:"reset",value:function(){this._timer&&(clearInterval(this._timer),this._timer=0)}}]),n}(Nr),ia=function(e){c(r,e);var n=_(r);function r(e){var t;return o(this,r),(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(Po,t._getAuthKey,f(t)),t}return i(r,[{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!(!e.content||2===e.content.downloadFlag)}},{key:"parseElements",value:function(e,t){if(!Me(e)||!t)return[];for(var n=[],o=null,r=0;r<e.length;r++)o=e[r],this._needParse(o)?n.push(this._parseElement(o,t)):n.push(e[r]);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?(he.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?(he.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?(he.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}}]),r}(Nr),sa=function(){function e(t){o(this,e),this._table="timwebii",this._report=[]}return i(e,[{key:"pushIn",value:function(e){he.debug("SSOLogBody.pushIn",this._report.length,e),this._report.push(e)}},{key:"backfill",value:function(e){var t;Me(e)&&0!==e.length&&(he.debug("SSOLogBody.backfill",this._report.length,e.length),(t=this._report).unshift.apply(t,M(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}(),aa=function(e){c(n,e);var t=_(n);function n(e){var r;return o(this,n),(r=t.call(this,e)).TAG="im-ssolog-event",r._reportBody=new sa,r._version="2.10.1",r.MIN_THRESHOLD=20,r.MAX_THRESHOLD=100,r.WAITING_TIME=6e4,r.INTERVAL=2e4,r._timerID=0,r._resetLastReportTime(),r._startReportTimer(),r._retryCount=0,r.MAX_RETRY_COUNT=3,r.tim.innerEmitter.on(pr,r._onLoginSuccess,f(r)),r}return i(n,[{key:"reportAtOnce",value:function(){he.debug("EventStatController.reportAtOnce"),this._report()}},{key:"_onLoginSuccess",value:function(){var e=this,t=this.tim.storage,n=t.getItem(this.TAG,!1);!Qe(n)&&Ee(n.forEach)&&(he.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 Zr&&(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,instanceID:this.tim.context.instanceID}),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&&(he.debug("EventStatController.report retry success"),e._retryCount=0)})).catch((function(n){if(he.warn("EventStatController.report, networkType:".concat(e.getNetworkType()," error:").concat(Ne(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(Qe(t))he.log("EventStatController._flushAtOnce nums="+n.length),e.setItem(this.TAG,n,!0,!1);else{var o=n.concat(t);o.length>this.MAX_THRESHOLD&&(o=o.slice(0,this.MAX_THRESHOLD)),he.log("EventStatController._flushAtOnce nums="+o.length),e.setItem(this.TAG,o,!0,!1)}}},{key:"reset",value:function(){he.log("EventStatController.reset"),this._stopReportTimer(),this._report()}}]),n}(Nr),ua="none",ca="online",la=function(){function e(){o(this,e),this._networkType="",this.maxWaitTime=3e3}return i(e,[{key:"start",value:function(){var e=this;x?(K.getNetworkType({success:function(t){e._networkType=t.networkType,t.networkType===ua?he.warn("NetMonitor no network, please check!"):he.info("NetMonitor networkType:".concat(t.networkType))}}),K.onNetworkStatusChange(this._onNetworkStatusChange.bind(this))):this._networkType=ca}},{key:"_onNetworkStatusChange",value:function(e){this._networkType=e.networkType,e.isConnected?he.info("NetMonitor networkType:".concat(e.networkType)):he.warn("NetMonitor no network, please check!")}},{key:"probe",value:function(){var e=this;return new Promise((function(t,n){if(x)K.getNetworkType({success:function(n){e._networkType=n.networkType,n.networkType===ua?(he.warn("NetMonitor no network, please check!"),t([!1,n.networkType])):(he.info("NetMonitor networkType:".concat(n.networkType)),t([!0,n.networkType]))}});else if(window&&window.fetch)fetch("".concat(qe(),"//webim-1252463788.file.myqcloud.com/assets/test/speed.xml?random=").concat(Math.random())).then((function(e){e.ok?t([!0,ca]):t([!1,ua])})).catch((function(e){t([!1,ua])}));else{var o=new XMLHttpRequest,r=setTimeout((function(){he.warn("NetMonitor fetch timeout. Probably no network, please check!"),o.abort(),e._networkType=ua,t([!1,ua])}),e.maxWaitTime);o.onreadystatechange=function(){4===o.readyState&&(clearTimeout(r),200===o.status||304===o.status?(this._networkType=ca,t([!0,ca])):(he.warn("NetMonitor fetch status:".concat(o.status,". Probably no network, please check!")),this._networkType=ua,t([!1,ua])))},o.open("GET","".concat(qe(),"//webim-1252463788.file.myqcloud.com/assets/test/speed.xml?random=").concat(Math.random())),o.send()}}))}},{key:"getNetworkType",value:function(){return this._networkType}},{key:"reset",value:function(){this._networkType=""}}]),e}(),pa=function(){function e(t){var n=this;o(this,e),Me(t)?(this._map=new Map,t.forEach((function(e){n._map.set(e,[])}))):he.warn("AverageCalculator.constructor need keys")}return i(e,[{key:"push",value:function(e,t){return!(Ie(e)||!this._map.has(e)||!fe(t))&&(this._map.get(e).push(t),!0)}},{key:"getSize",value:function(e){return Ie(e)||!this._map.has(e)?-1:this._map.get(e).length}},{key:"getAvg",value:function(e){if(Ie(e)||!this._map.has(e))return-1;var t=this._map.get(e),n=t.length;if(0===n)return 0;var o=0;return t.forEach((function(e){o+=e})),t.length=0,this._map.set(e,[]),parseInt(o/n)}},{key:"getMax",value:function(e){return Ie(e)||!this._map.has(e)?-1:Math.max.apply(null,this._map.get(e))}},{key:"getMin",value:function(e){return Ie(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}(),ga=function(){function e(t){var n=this;o(this,e),Me(t)?(this._map=new Map,t.forEach((function(e){n._map.set(e,{totalCount:0,successCount:0})}))):he.warn("SuccessRateCalculator.constructor need keys")}return i(e,[{key:"addTotalCount",value:function(e){return!(Ie(e)||!this._map.has(e))&&(this._map.get(e).totalCount+=1,!0)}},{key:"addSuccessCount",value:function(e){return!(Ie(e)||!this._map.has(e))&&(this._map.get(e).successCount+=1,!0)}},{key:"getSuccessRate",value:function(e){if(Ie(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 Ie(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}(),da=function(e){c(n,e);var t=_(n);function n(e){var r;return o(this,n),(r=t.call(this,e)).TABLE="timwebsum",r.TAG="im-ssolog-sumstat",r._items=[xr,Vr,Kr,Br,Hr,jr,$r,Yr,zr,Wr],r._thresholdMap=new Map,r._thresholdMap.set(xr,100),r._thresholdMap.set(Vr,150),r._thresholdMap.set(Kr,15),r._thresholdMap.set(Br,6),r._thresholdMap.set(Hr,6),r._thresholdMap.set(jr,6),r._thresholdMap.set($r,6),r._thresholdMap.set(Yr,6),r._thresholdMap.set(zr,50),r._thresholdMap.set(Wr,50),r._lpID="",r._platform=r.getPlatform(),r._lastReportTime=0,r._statInfoArr=[],r._retryCount=0,r._avgCalc=new pa(r._items),r._successRateCalc=new ga(r._items),r.tim.innerEmitter.on(pr,r._onLoginSuccess,f(r)),r}return i(n,[{key:"_onLoginSuccess",value:function(){var e=this,t=this.tim.storage,n=t.getItem(this.TAG,!1);!Qe(n)&&Ee(n.forEach)&&(he.log("SumStatController._onLoginSuccess get sumstatlog in storage, nums="+n.length),n.forEach((function(t){e._statInfoArr.push(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()):he.warn("SumStatController.addTotalCount invalid key:",e)}},{key:"addSuccessCount",value:function(e){this._successRateCalc.addSuccessCount(e)||he.warn("SumStatController.addSuccessCount invalid key:",e)}},{key:"addCost",value:function(e,t){this._avgCalc.push(e,t)?(he.debug("SumStatController.addCost",e,t,this._avgCalc.getSize(e)),this._avgCalc.getSize(e)>=this._thresholdMap.get(e)&&this._report(e)):he.warn("SumStatController.addCost invalid key or cost:",e,t)}},{key:"_getItemNum",value:function(e){switch(e){case xr:return 1;case Vr:return 2;case Kr:return 3;case zr:return 4;case Wr:return 5;case Br:return 6;case Hr:return 7;case jr:return 8;case $r:return 9;case Yr: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.10.1"),tinyID:this.tim.context.tinyID,userID:this.tim.loginInfo.identifier,item:this._getItemNum(e),lpID:e===xr?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:Re()}),t}},{key:"_report",value:function(e){var t=this,n=[],o=null;Ie(e)?this._items.forEach((function(e){null!==(o=t._getStatInfo(e))&&n.push(o)})):null!==(o=this._getStatInfo(e))&&n.push(o),he.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;Qe(e)?he.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&&(he.debug("SumStatController._doReport retry success"),t._retryCount=0)})).catch((function(n){he.warn("SumStatController._doReport, online:".concat(t.getNetworkType()," error:").concat(Ne(n)),e),t._retryCount<=1?setTimeout((function(){he.info("SumStatController._doReport retry",e),t._retryCount+=1,t._doReport(e)}),5e3):(t._retryCount=0,t._statInfoArr=t._statInfoArr.concat(e),t._flushAtOnce())}))}},{key:"_flushAtOnce",value:function(){var e=this.tim.storage,t=e.getItem(this.TAG,!1),n=this._statInfoArr;if(Qe(t))he.log("SumStatController._flushAtOnce nums="+n.length),e.setItem(this.TAG,n,!0,!1);else{var o=n.concat(t);o.length>10&&(o=o.slice(0,10)),he.log("SumStatController._flushAtOnce nums="+o.length),e.setItem(this.TAG,o,!0,!1)}this._statInfoArr=[]}},{key:"reset",value:function(){he.info("SumStatController.reset"),this._report(),this._avgCalc.reset(),this._successRateCalc.reset()}}]),n}(Nr),ha=function(){function t(){o(this,t),this._funcMap=new Map}return i(t,[{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 o=null;return this._funcMap.get(e).has(t)?o=this._funcMap.get(e).get(t):(o=this._pack(e,t,n),this._funcMap.get(e).set(t,o)),o}},{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):(he.log("SafetyCallback.find: 找不到 func —— ".concat(e,"/").concat(""!==t.name?t.name:"[anonymous]")),null):(he.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(t,n,o){return function(){try{n.apply(o,Array.from(arguments))}catch(a){var r=Object.values(e).indexOf(t);if(-1!==r){var i=Object.keys(e)[r];he.warn("接入侧事件 TIM.EVENT.".concat(i," 对应的回调函数逻辑存在问题,请检查!"),a)}var s=new Zr(as);s.setText("eventName=".concat(t)).setMessage(a.message).setEnd()}}}}]),t}(),ma=function(e){c(n,e);var t=_(n);function n(e){var r;return o(this,n),(r=t.call(this,e))._maybeLostSequencesMap=new Map,r}return i(n,[{key:"onMessageMaybeLost",value:function(e,t,n){this._maybeLostSequencesMap.has(e)||this._maybeLostSequencesMap.set(e,[]);for(var o=this._maybeLostSequencesMap.get(e),r=0;r<n;r++)o.push(t+r);he.debug("MessageLossController.onMessageMaybeLost. maybeLostSequences:".concat(o))}},{key:"detectMessageLoss",value:function(e,t){var n=this._maybeLostSequencesMap.get(e);if(!Qe(n)&&!Qe(t)){var o=t.filter((function(e){return-1!==n.indexOf(e)}));if(he.debug("MessageLossController.detectMessageLoss. matchedSequences:".concat(o)),n.length===o.length)he.info("MessageLossController.detectMessageLoss no message loss. conversationID=".concat(e));else{var r,i=n.filter((function(e){return-1===o.indexOf(e)})),s=i.length;s<=5?r=e+"-"+i.join("-"):(i.sort((function(e,t){return e-t})),r=e+" start:"+i[0]+" end:"+i[s-1]+" count:"+s),new Zr(Zi).setText(r).setNetworkType(this.getNetworkType()).setEnd(),he.warn("MessageLossController.detectMessageLoss message loss detected. conversationID:".concat(e," lostSequences:").concat(i))}n.length=0}}},{key:"reset",value:function(){he.log("MessageLossController.reset"),this._maybeLostSequencesMap.clear()}}]),n}(Nr),fa=function(e){c(r,e);var n=_(r);function r(e){var t;return o(this,r),(t=n.call(this,e))._request=x?new ps:new ls,t}return i(r,[{key:"sendMessage",value:function(e){var t=this,n=this._constructMessageInstance(e);if(null===n)return Ur({code:Ft.MESSAGE_SEND_FAIL,message:Wt});var o=Date.now(),r=Qe(e.GroupId)?"openim/sendmsg":"group_open_http_svc/send_group_msg",i=this.tim.context,s=i.a2Key,a=i.tinyID,u=i.SDKAppID,c=i.identifier,l={url:"https://"+(!0===this.tim.context.oversea?"api.im.qcloud.com":"webim.tim.qq.com")+"/v4/"+r+"?platform=10&websdkappid=537048168&v=1.7.3&a2="+s+"&tinyid="+a+"&sdkappid="+u+"&contentType=json&apn=1&reqtime="+Date.now()+"tjg_id="+this._generateTjgID(n),data:e,method:"POST"};this._addSendMessageTotalCount(n);var p=new Zr(pi);return p.setText("".concat(this._generateTjgID(n),"-").concat(n.from,"-").concat(n.to,"-").concat(n.getElements().length)),this._request.request(l).then((function(e){var r=e.data,i=r.ErrorCode,s=r.ErrorInfo;if(0!==i)return p.setCode(i).setMessage(s).setNetworkType(t.getNetworkType()).setEnd(),n.status=it.FAIL,Ur(new qt({code:i,message:s||Wt,data:{message:n}}));t._addSendMessageSuccessCount(n,o),n.status=it.SUCCESS;var a=e.data,u=a.MsgTime,l=a.MsgSeq;return n.time=u,l&&(n.sequence=l),n.generateMessageID(c),t.tim.messageController.pushToMessageList(n),t.emitInnerEvent(qo,{eventDataList:[{conversationID:n.conversationID,unreadCount:0,type:n.conversationType,subType:n.conversationSubType,lastMessage:n}]}),br(n)})).catch((function(e){return t.probeNetwork().then((function(t){var n=y(t,2),o=n[0],r=n[1];p.setError(e,o,r).setEnd()})),he.warn("ComboMessageController.sendMessage failed. error:",e),n.status=it.FAIL,Ur(new qt({code:Ft.MESSAGE_SEND_FAIL,message:Wt,data:{message:n}}))}))}},{key:"_constructMessageInstance",value:function(e){var n=null;try{var o=this.tim.context.identifier,r={};r.currentUser=o,r.from=e.From_Account||o,e.GroupId?(r.conversationID="".concat(t.CONV_GROUP).concat(e.GroupId),r.conversationType=t.CONV_GROUP,r.to=e.GroupId):e.To_Account&&(r.conversationID="".concat(t.CONV_C2C).concat(e.To_Account),r.conversationType=t.CONV_C2C,r.to=e.To_Account),r.time=e.MsgTimeStamp||0,r.random=e.Random||e.MsgRandom||0,r.priority=e.MsgPriority,(n=new po(r)).status=it.UNSEND;for(var i,s=e.MsgBody.length,a=0;a<s;a++)"TIMTextElem"===(i=e.MsgBody[a]).MsgType?n.setTextElement(i.MsgContent.Text):"TIMCustomElem"===i.MsgType?n.setCustomElement({data:i.MsgContent.Data||"",description:i.MsgContent.Desc||"",extension:i.MsgContent.Ext||""}):"TIMFaceElem"===i.MsgType&&n.setFaceElement({index:i.MsgContent.Index,data:i.MsgContent.Data});var u=n.getElements();n.payload=u[0].content,n.type=u[0].type}catch(c){n=null,he.error("ComboMessageController._constructMessageInstance failed. error:",c)}return n}},{key:"_addSendMessageSuccessCount",value:function(e,t){var n=this.tim.sumStatController,o=Math.abs(Date.now()-t);n.addSuccessCount(Kr),n.addCost(Kr,o);var r=this._getSendMessageSpecifiedKey(e);r&&(n.addSuccessCount(r),n.addCost(r,o))}},{key:"_addSendMessageTotalCount",value:function(e){var t=this.tim.sumStatController;t.addTotalCount(Kr);var n=this._getSendMessageSpecifiedKey(e);n&&t.addTotalCount(n)}},{key:"_getSendMessageSpecifiedKey",value:function(e){if(e.conversationType===t.CONV_C2C)return Br;if(e.conversationType===t.CONV_GROUP){var n=this.tim.groupController.getLocalGroupProfile(e.to);if(!n)return;var o=n.type;if(Ve(o))return Hr;if(Ke(o))return jr;if(Be(o))return $r;if(He(o))return Yr}}},{key:"_generateTjgID",value:function(e){return this.tim.context.tinyID+"-"+e.random}},{key:"reset",value:function(){he.info("ComboMessageController.reset")}}]),r}(Nr),va=function(){function n(e){o(this,n);var t=new Zr(ei);Or.mixin(this),this._initOptions(e),this._initMemberVariables(),this._initControllers(),this._initListener(),Zr.bindController(this.eventStatController),t.setText("instanceID=".concat(this.loginInfo.instanceID,"-oversea=").concat(this.loginInfo.oversea,"-mp=").concat(x,"-ua=").concat(H)).setEnd(),he.info("SDK instanceID:".concat(this.loginInfo.instanceID," oversea:").concat(this.loginInfo.oversea," inMiniApp:").concat(x,", SDKAppID:").concat(e.SDKAppID,", UserAgent:").concat(H)),this._safetyCallbackFactory=new ha}return i(n,[{key:"login",value:function(e){return he.time(qr),this._ssoLog=new Zr(ti),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,o){t===e.GROUP_SYSTEM_NOTICE_RECEIVED&&he.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"),he.debug("on","eventName:".concat(t)),this.outerEmitter.on(t,this._safetyCallbackFactory.defense(t,n,o),o)}},{key:"once",value:function(e,t,n){he.debug("once","eventName:".concat(e)),this.outerEmitter.once(e,this._safetyCallbackFactory.defenseOnce(e,t,n),n||this)}},{key:"off",value:function(e,t,n,o){he.debug("off","eventName:".concat(e));var r=this._safetyCallbackFactory.find(e,t);null!==r&&(this.outerEmitter.off(e,r,n,o),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]})),new Zr(si).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"))}he.setLevel(e)}},{key:"destroy",value:function(){var t=this;return this.logout().finally((function(){t.outerEmitter.emit(e.SDK_DESTROY,{SDKAppID:t.loginInfo.SDKAppID})}))}},{key:"createTextMessage",value:function(e){return this.messageController.createTextMessage(e)}},{key:"createTextAtMessage",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:"createMergerMessage",value:function(e){return this.messageController.createMergerMessage(e)}},{key:"downloadMergerMessage",value:function(e){return e.type!==t.MSG_MERGER?Ur(new qt({code:Ft.MESSAGE_MERGER_TYPE_INVALID,message:mn})):Qe(e.payload.downloadKey)?Ur(new qt({code:Ft.MESSAGE_MERGER_KEY_INVALID,message:fn})):this.messageController.downloadMergerMessage(e).catch((function(e){return Ur(new qt({code:Ft.MESSAGE_MERGER_DOWNLOAD_FAIL,message:vn}))}))}},{key:"createForwardMessage",value:function(e){return this.messageController.createForwardMessage(e)}},{key:"sendMessage",value:function(e,t){return e instanceof po?this.messageController.sendMessageInstance(e,t):Ur(new qt({code:Ft.MESSAGE_SEND_NEED_MESSAGE_INSTANCE,message:Xt}))}},{key:"callExperimentalAPI",value:function(e,t){return"sendComboMessage"===e?this.comboMessageController.sendMessage(t):Ur(new qt({code:Ft.INVALID_OPERATION,message:Jn}))}},{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:"getGroupOnlineMemberCount",value:function(e){return this.groupController.getGroupOnlineMemberCount(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={},this._sdkReloadFlag=!1;var t=e.SDKAppID||0,n=we();this.context={SDKAppID:t,accountType:n},this.loginInfo={SDKAppID:t,accountType:n,identifier:null,userSig:null,unlimitedAVChatRoom:e.unlimitedAVChatRoom||!1,scene:e.scene||"",oversea:e.oversea||!1,avchatroomIDList:[],instanceID:ze()},this.options={runLoopNetType:e.runLoopNetType||Mt,enablePointer:e.enablePointer||!1}}},{key:"_initMemberVariables",value:function(){this.innerEmitter=new Xs,this.outerEmitter=new Xs,Gr(this.outerEmitter),this.packageConfig=new Zs(this),this.storage=new Js(this),this.netMonitor=new la,this.outerEmitter._emit=this.outerEmitter.emit,this.outerEmitter.emit=function(e,t){var n=arguments[0],o=[n,{name:arguments[0],data:arguments[1]}];this.outerEmitter._emit.apply(this.outerEmitter,o)}.bind(this),this.innerEmitter._emit=this.innerEmitter.emit,this.innerEmitter.emit=function(e,t){var n;ye(arguments[1])&&arguments[1].data?(he.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 fs(this),this.connectionController=new ms(this),this.contextController=new Lr(this),this.context=this.contextController.getContext(),this.signController=new cs(this),this.messageController=new xs(this),this.comboMessageController=new fa(this),this.conversationController=new Rs(this),this.userController=new Ss(this),this.groupController=new Ys(this),this.notificationController=new oa(this),this.bigDataHallwayController=new ia(this),this.statusController=new zs(this),this.uploadController=new ra(this),this.messageLossController=new ma(this),this.eventStatController=new aa(this),this.sumStatController=new da(this),this._initReadyListener()}},{key:"_initListener",value:function(){var e=this;if(this.innerEmitter.on(Er,this._onSDKReload,this),x&&"function"==typeof K.onAppShow&&"function"==typeof K.onAppHide){var t=null;K.onAppHide((function(){t=new Zr(ss)})),K.onAppShow((function(){null!==t&&t.setNetworkType(e.netMonitor.getNetworkType()).setEnd()}))}}},{key:"_initReadyListener",value:function(){for(var e=this,t=this.readyList,n=0,o=t.length;n<o;n++)this[t[n]].ready((function(){return e._readyHandle()}))}},{key:"_onSDKReload",value:function(){var e=this;he.log("sdk reloading..."),this.resetSDK(),this.login(this.loginInfo).then((function(t){e._sdkReloadFlag=!0}))}},{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,o=0,r=t.length;o<r;o++)if(!this[t[o]].isReady()){n=!1;break}if(n){var i=he.timeEnd(qr);he.warn("SDK is ready. cost=".concat(i,"ms")),this.triggerReady(),this.innerEmitter.emit(Cr),this.outerEmitter.emit(e.SDK_READY),this._sdkReloadFlag&&(this.outerEmitter.emit(e.SDK_RELOAD),this.groupController.AVChatRoomHandler.joinAVChatRoomSilently(),this._sdkReloadFlag=!1),this._ssoLog.setNetworkType(this.netMonitor.getNetworkType()).setText(i).setEnd()}}}]),n}();va.prototype.readyList=["conversationController"],va.prototype.initList=["exceptionController","connectionController","signController","contextController","messageController","comboMessageController","conversationController","userController","groupController","notificationController","eventStatController","sumStatController","messageLossController","statusController"];var _a={login:"login",logout:"logout",destroy:"destroy",on:"on",off:"off",ready:"ready",setLogLevel:"setLogLevel",joinGroup:"joinGroup",quitGroup:"quitGroup",registerPlugin:"registerPlugin",getGroupOnlineMemberCount:"getGroupOnlineMemberCount"};function ya(e,t){return!(!e.isReady()&&void 0===_a[t])||(e.innerEmitter.emit(mr,new qt({code:Ft.SDK_IS_NOT_READY,message:"".concat(t," ").concat(Xn,",请参考 https://imsdk-1252463788.file.myqcloud.com/IM_DOC/Web/module-EVENT.html#.SDK_READY")})),!1)}var Ma={},Ia={};return Ia.create=function(t){if(t.SDKAppID&&Ma[t.SDKAppID])return Ma[t.SDKAppID];he.log("TIM.create");var n=new va(t);n.on(e.SDK_DESTROY,(function(e){Ma[e.data.SDKAppID]=null,delete Ma[e.data.SDKAppID]}));var o=function(e){var t=Object.create(null);return Object.keys(Mo).forEach((function(n){if(e[n]){var o=Mo[n],r=new k;t[o]=function(){var t=Array.from(arguments);return r.use((function(t,o){return ya(e,n)?o():Ur(new qt({code:Ft.SDK_IS_NOT_READY,message:"".concat(n," ").concat(Xn,"。")}))})).use((function(e,t){if(!0===Ze(e,yo[n],o))return t()})).use((function(t,o){return e[n].apply(e,t)})),r.run(t)}}})),t}(n);return Ma[t.SDKAppID]=o,he.log("TIM.create ok"),o},Ia.TYPES=t,Ia.EVENT=e,Ia.VERSION="2.10.1",he.log("TIM.VERSION: ".concat(Ia.VERSION)),Ia}));
}, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
return __REQUIRE__(1617853245257);
})()
//# sourceMappingURL=index.js.map