@rongcloud/electron 5.9.9 → 5.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.esm.js CHANGED
@@ -1 +1,15 @@
1
- import{BasicLogger as e,BasicStatistic as t,appendUrl as n,ErrorCode as o,HTTP_TIMEOUT as r,LogTagId as s,StoreKeys as i,BasicReporter as a,REAT_TIME_LOG_SIZE as c,EConnectProtocol as u,notEmptyObject as p,NAVI_CACHE_DURATION as l,BasicNavi as d,FORMATED_VERSION as h,NAVI_REQ_TIMEOUT as f,getbundleId as g,StatisticsVersion as v,StatisticsTag as C,RCConnectionStatus as _,ProtocalType as S,ConnectType as y,AConnectionMgr as m,BasicStaticConfigManager as P,STATIC_CONFIG_IV as E,STATIC_CONFIG_KEY as T,BaseCloudController as R,urlCenter as I,isStartCloudController as N,InvokerType as O,ConversationType as M,SEND_MESSAGE_TYPE_OPTION as b,isObject as U,isUndefined as x,pushJSONToConfigs as L,transformReceivedStatusInfo as w,MessageDirection as A,ReceivedStatus as D,NotificationStatus as k,MessageType as J,RC_DEFAULT_USER as B,MentionedType as j,pushConfigsToJSON as F,isArray as H,transformReceivedStatusFlag as V,getUploadFileName as G,getMinionURL as q,SubscribeOperationType as K,completeSubscriptionPlatformStatus as Q,LogL as W}from"@rongcloud/engine";import{ipcMain as Y,app as X}from"electron";import{fork as z}from"child_process";import{resolve as $,dirname as Z}from"path";import*as ee from"os";import{arch as te,platform as ne,networkInterfaces as oe}from"os";import{Agent as re,request as se}from"http";import{Agent as ie,request as ae}from"https";import{parse as ce}from"url";import{isIP as ue,Socket as pe}from"net";import{EventEmitter as le}from"events";import{connect as de}from"tls";import{existsSync as he,readFileSync as fe,writeFileSync as ge,mkdirSync as ve}from"fs";import{createHash as Ce,createDecipheriv as _e}from"crypto";var Se=function(e,t){return Se=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Se(e,t)};function ye(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}Se(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var me,Pe=function(){return Pe=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},Pe.apply(this,arguments)};function Ee(e,t,n,o){return new(n||(n=Promise))((function(r,s){function i(e){try{c(o.next(e))}catch(e){s(e)}}function a(e){try{c(o.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,a)}c((o=o.apply(e,t||[])).next())}))}function Te(e,t){var n,o,r,s,i={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,a[0]&&(i=0)),i;)try{if(n=1,o&&(r=2&a[0]?o.return:a[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,a[1])).done)return r;switch(o=0,r&&(a=[2&a[0],r.value]),a[0]){case 0:case 1:r=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,o=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(r=i.trys,(r=r.length>0&&r[r.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!r||a[1]>r[0]&&a[1]<r[3])){i.label=a[1];break}if(6===a[0]&&i.label<r[1]){i.label=r[1],r=a;break}if(r&&i.label<r[2]){i.label=r[2],i.ops.push(a);break}r[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],o=0}finally{n=r=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}}function Re(e,t,n){if(n||2===arguments.length)for(var o,r=0,s=t.length;r<s;r++)!o&&r in t||(o||(o=Array.prototype.slice.call(t,0,r)),o[r]=t[r]);return e.concat(o||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError,function(e){e.P_INIT_O="P-init-O",e.P_DB_OPEN_O="P-db_open-O",e.P_CALL_MAIN_SYNC_E="P-call_main_sync-E",e.P_CALL_MAIN_E="P-call_main-E",e.P_SEND_2_MAIN_E="P-send_2_main-E",e.P_REGTYP_O="P-regtype-O",e.P_CALL_ADDON_E="P-call_addon-E",e.P_CALL_ADDON_T="P-call_addon-T",e.P_CALL_ADDON_O="P-call_addon-O",e.P_CALL_ADDON_R="P-call_addon-R",e.P_CALL_EXTRA_E="P-call_extra-E",e.P_CONNECT_S="P-connect-S",e.P_CONNECT_T="P-connect-T",e.P_CONNECT_O="P-connect-O",e.P_CONNECT_ENTRY_S="P-connect_entry-S",e.P_REPORT_VER_O="P-report_version-O",e.P_PARSE_JSON_MSGS_E="P-parse_json_messsages-E",e.P_PARSE_JSON_MSGS_R="P-parse_json_messsages-R",e.P_RECEIVE_MESSAGE_E="P-receive_message-E",e.P_HTTP_REQ_E="P-http_request-E",e.P_SET_MSG_EXTEN_O="P-set_msg_extension-O",e.P_SEND_MSG_T="P-send_msg-T",e.P_SEND_MSG_R="P-send_msg-R",e.P_PARSE_JSON_SUBSCRIBE_DATA_E="P-parse_json_subscribe_data-E",e.P_WRITE_LOG_T="P_WRITE_LOG_T",e.P_WRITE_LOG_R="P_WRITE_LOG_R",e.P_PARSE_JSON_E="P-parse_json-E"}(me||(me={}));var Ie,Ne={flushTimestamp:Date.now(),queue:[],locked:!1};function Oe(){Ie&&clearInterval(Ie)}function Me(e,t){Oe(),Ie=setInterval((function(){return xe(e,t)}),1e4)}function be(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];(e=Ne.queue).push.apply(e,t)}var Ue=200;function xe(e,t){var n=Ne.queue,o=Ne.flushTimestamp;if(!(Ne.locked||0===n.length||Date.now()-o<3e4&&n.length<Ue)){Ne.locked=!0;var r=t.createTraceId(),s=t.getSessionId(),i=n.splice(0,Ue).map((function(e){var t=e.sessionId,n=e.level,o=e.time,r=e.type,i=e.tag,a=e.loggerId,c=e.content,u=e.traceId;return{level:n,time:o,type:r,tag:i,sessionId:s+":"+t,content:JSON.stringify({loggerId:a,content:c,traceId:u})}}));t.debug(me.P_WRITE_LOG_T,"writingLen: "+i.length+", queueLen: "+n.length,r);var a=JSON.stringify(i);e.writeLog(a),t.debug(me.P_WRITE_LOG_R,"write done, queueLen: "+n.length,r),Ne.flushTimestamp=Date.now(),Ne.locked=!1,setTimeout((function(){return xe(e,t)}))}}var Le=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ye(t,e),t.prototype.flush=function(e){be(e)},t}(e),we=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return ye(t,e),t.prototype.flush=function(e){be(e)},t}(t),Ae=function(e,t){var n,o=Buffer.from(e),r=o.length;for(t.push(r),n=0;n<r;n++)t.push(o[n])},De=function(e){return"string"==typeof e},ke=function(e){return De(e)?e.toUpperCase():""},Je=function(e,t){var n="";return 2!==e.length?n="Unexpected number of bytes received.":5!==e[0]?n="Unexpected SOCKS version number: "+e[0]+".":255===e[1]?n="No acceptable authentication methods were offered.":-1===t.indexOf(e[1])&&(n="Unexpected SOCKS authentication method: "+e[1]+"."),n},Be=function(e){var t="";return 2!==e.length?t="Unexpected number of bytes received.":1!==e[0]?t="Unexpected authentication method code: "+e[0]+".":0!==e[1]&&(t="Username and password authentication failure: "+e[1]+"."),t},je=function(e){var t=ke(e.method)||"GET",n=e.pathname||"/",o=e.headers||{},r=e.search||"";o.Host=e.host||"loclahost";var s="";for(var i in s=t+" "+(n+r)+" HTTP/1.1\n",o){if(Object.hasOwnProperty.call(o,i))s+=i+": "+o[i]+"\n"}return e.body&&(s+="Content-Length: "+e.body.length+"\n"),s+="\n","POST"===t&&e.body&&(s+=""+e.body),s},Fe=function(e){return new Promise((function(t){var n,o;e.socket.once("data",(function(o){var r,s=Je(o,n);if(!s)return 2===o[1]?(e.socket.once("data",(function(n){var o=Be(n);o?e.emit("error",new Error("SOCKS authentication failed. "+o)):t()})),r=[1],Ae(e.socksUsername,r),Ae(e.socksPassword,r),void e.write(Buffer.from(r))):void t();e.emit("error",new Error("SOCKS authentication failed. "+s))})),n=[0],e.socksUsername&&n.push(2),(o=Buffer.alloc(2+n.length))[0]=5,o[1]=n.length,n.forEach((function(e,t){o[2+t]=e})),e.write(o)}))},He=function(e,t,n){return new Promise((function(o){var r,s;switch(e.socket.once("data",(function(t){var n;5!==t[0]?n="Unexpected SOCKS version number: "+t[0]+".":0!==t[1]?n=function(e){switch(e){case 1:return"General SOCKS server failure";case 2:return"Connection not allowed by ruleset";case 3:return"Network unreachable";case 4:return"Host unreachable";case 5:return"Connection refused";case 6:return"TTL expired";case 7:return"Command not supported";case 8:return"Address type not supported";default:return"Unknown status code "+e}}(t[1])+".":0!==t[2]&&(n="The reserved byte must be 0x00."),n?e.emit("error",new Error("SOCKS connection failed. "+n)):o()})),(r=[]).push(5),r.push(1),r.push(0),ue(t)){case 0:r.push(3),Ae(t,r);break;case 4:r.push(1),function(e,t){var n,o,r=e.split(".");for(n=0;n<4;n++)o=parseInt(r[n],10),t.push(o)}(t,r);break;case 6:e.emit("error",new Error("Does not support IPV6"))}r.length+=2,(s=Buffer.from(r)).writeUInt16BE(n,s.length-2),e.write(s)}))},Ve=function(e){function t(t){var n=e.call(this)||this;return n.readable=!0,n.socket=new pe,n.options=t,n.socksHost=t.socksHost||"localhost",n.socksPort=t.socksPort||1080,n.socksUsername=t.socksUsername||"",n.socksPassword=t.socksPassword||"",n.socket.on("error",(function(e){n.emit("error",e)})),n.on("error",(function(){n.socket.destroyed||n.socket.destroy()})),n.on("end",n.end),n}return ye(t,e),t.prototype.ref=function(){return this.socket.ref()},t.prototype.unref=function(){return this.socket.unref()},t.prototype.setTimeout=function(e,t){return this.socket.setTimeout(e,t)},t.prototype.setNoDelay=function(e){return this.socket.setNoDelay(e)},t.prototype.setKeepAlive=function(e,t){return this.socket.setKeepAlive(e,t)},t.prototype.address=function(){return this.socket.address()},t.prototype.cork=function(){return this.socket.cork()},t.prototype.uncork=function(){return this.socket.uncork()},t.prototype.pause=function(){return this.socket.pause()},t.prototype.resume=function(){return this.socket.resume()},t.prototype.pipe=function(e){return this.socket.pipe(e)},t.prototype.end=function(e,t){var n=this.socket.end(e,t);return this.writable=this.socket.writable,n},t.prototype.destroy=function(e){return this.socket.destroy(e)},t.prototype.setEncoding=function(e){return this.socket.setEncoding(e)},t.prototype.write=function(e,t,n){return this.socket.write(e,t,n)},t.prototype.read=function(e){return this.socket.read(e)},t.prototype.connect=function(e,t){var n=this;if("string"==typeof e&&/^\d+$/.test(e)&&(e=parseInt(e,10)),!Number.isInteger(e)||e<1||e>65535)throw new TypeError("Invalid port: "+e);if(!t||"string"!=typeof t)throw new TypeError("Invalid host: "+t);return this.socket.connect({port:this.socksPort,host:this.socksHost},(function(){return Ee(n,void 0,void 0,(function(){var n;return Te(this,(function(o){switch(o.label){case 0:return[4,Fe(this)];case 1:return o.sent(),[4,He(this,t,e)];case 2:return o.sent(),this.onProxied(),n=je(this.options),this.socket.write(Buffer.from(n)),[2]}}))}))})),this},t.prototype.onProxied=function(){var e=this;this.socket.on("close",(function(t){e.emit("close",t)})),this.socket.on("end",(function(){e.emit("end")})),this.socket.on("data",(function(t){e.emit("data",t)})),this.writable=!0,this.readable=!0,this.emit("connect")},t}(le),Ge=function(e){var t,n=e.hostname,o=e.port;return!e.host||n&&o||(t=e.host.split(":")),!o&&t&&(o=parseInt(t[1],10)||0),!n&&t&&(n=t[0]),new Ve(e).connect(o,n)},qe=function(e){function t(t){var n=e.call(this)||this;return n.createConnection=Ge,n}return ye(t,e),t}(re),Ke=function(e,t,n){return(t=Pe(Pe({},t),ce(e))).port||(t.port=80),t.agent=new qe(t),se(t,n)},Qe=function(e){var t,n;return t=Ge(e),n=t.onProxied,t.onProxied=function(){e.socket=t.socket,e.hostname?e.servername=e.hostname:e.host&&(e.servername=e.host.split(":")[0]),t.socket=de(e,(function(){t.authorized=t.socket.authorized,n.call(t)})),t.socket.on("error",(function(e){t.emit("error",e)}))},t},We=function(e){function t(t,n){var o=e.call(this,n)||this;return o.url=t,o.socksHost=n.socksHost||"localhost",o.socksPort=n.socksPort||1080,o.createConnection=Qe,o}return ye(t,e),t}(ie),Ye=function(e,t,n,o){var r,s;return t.protocol="https:",!t.port&&t.host&&(r=t.host.split(":"),t.port=r[0],t.port=r[1]),t.port||(t.port=443),s=new We(e,t),t.agent=s,ae(e,t,n)},Xe=null;function ze(e,t,o){void 0===o&&(o=!1);var s=t.url,i=t.headers,a=t.body,c=t.method,u=t.query,p=t.timeout,l=void 0===p?r:p;return new Promise((function(t){var r=/^https/.test(s),p={headers:i,method:c};r&&(p.rejectUnauthorized=o);var d=null;Xe?((p=Pe(Pe({},p),Xe)).body=a,d=r?Ye:Ke):(d=se,r&&(p.agent=new ie(p),d=ae));var h=d(n(s,u),p,(function(e){var n=e.statusCode,o="";e.setEncoding("utf8"),e.on("data",(function(e){o+=e})),e.once("end",(function(){t({status:n||0,data:o})}))}));h.once("timeout",(function(){e.warn(me.P_HTTP_REQ_E,JSON.stringify({msg:"timeout",url:s,method:c,query:u,timeout:l})),t({status:0})})),h.setTimeout(l),h.once("error",(function(n){e.warn(me.P_HTTP_REQ_E,JSON.stringify({msg:n.stack,url:s,method:c,query:u,timeout:l})),t({status:0})})),h.write(a),h.end()}))}function $e(e,t){return e?(Xe=Pe(Pe({},Xe),e),t.info(s.A_SET_PROXY_O,JSON.stringify({msg:"set proxy",data:Xe})),{code:o.SUCCESS}):(Xe=null,t.info(s.A_REMOVE_PROXY_O,JSON.stringify({msg:"remove proxy"})),{code:o.SUCCESS})}function Ze(){var e=Xe||void 0;return{code:o.SUCCESS,data:e}}var et,tt=[],nt=!1,ot=function(){return Ee(void 0,void 0,void 0,(function(){var e,t,n,o,r,s,i,a,u,p,l,d,h;return Te(this,(function(f){return nt||0===tt.length||(nt=!0,e=tt.shift(),t=e.args,n=e.resolve,o=t.addon,r=t.startTime,s=t.endTime,i=t.level,a=t.realtimeReport,u=0,p=0,l=[],d=function(e){u+=e.length;var t=e.split(","),o=t[0],r=t[1],s=t[2],d=t[3],h=t[4],f=t.slice(5);if(u>c&&parseInt(r,10)!==p)n(l);else{p=parseInt(r,10);try{if(!a&&i<0)return;var g={time:parseInt(r,10),level:parseInt(d,10),sessionId:o,type:s,tag:h,content:f.join(",")};l.push(g)}catch(e){console.error(e)}}},h=function(e){n(l),nt=!1,ot()},o.getFullLog(i,r,s,!1,d,h)),[2]}))}))},rt=function(e){function t(t,n,o,r,s){var a=this,c="Electron|"+process.versions.electron+"|"+process.arch+"|"+process.platform;return a=e.call(this,n,o,c,{getLogs:function(e,n,o,r){return Ee(this,void 0,void 0,(function(){return Te(this,(function(s){switch(s.label){case 0:return[4,(i={startTime:e,endTime:n,level:o,realtimeReport:r,addon:t},Ee(void 0,void 0,void 0,(function(){return Te(this,(function(e){return[2,new Promise((function(e){tt.push({resolve:e,args:i}),ot()}))]}))})))];case 1:return[2,{logs:s.sent(),dbReady:!0}]}var i}))}))},getTimestamp4RealtimeLog:function(){var e=t.getStoreValue(i.REALTIME_LOG_TIMESTAMP);return parseInt(e,10)||0},setTimestamp4RealtimeLog:function(e){t.setStoreValue(i.REALTIME_LOG_TIMESTAMP,e.toString())}},r)||this,a.subProcess=s,a}return ye(t,e),t.prototype.send=function(e){return ze(this.logger,e)},t.prototype.compressLogs=function(e){return Ee(this,void 0,void 0,(function(){var t,n,o;return Te(this,(function(r){switch(r.label){case 0:return[4,this.subProcess.call("compressLogs",e)];case 1:return t=r.sent(),n=t.success,o=t.data,n?[2,{success:n,data:o.data}]:[2,{success:n,data:""}]}}))}))},t}(a),st=[u.RMTP,u.TLS,u.QUIC],it=function(e){return"RongCloud/navis/"+e+"/navi-cache.json"},at="deviceId",ct=function(e){return"RongCloud/caches/"+e+"/staticConfig.json"},ut=function(e){return"RongCloud/cloudControl/"+e+"/cloudControl.json"},pt=null,lt=function(){var e,t=Date.now(),n=[te(),ne(),process.pid,t,Math.floor(Math.random()*t)].join("__");return e=n,Ce("md5").update(e).digest("hex")},dt=function(e){if(pt)return pt;var t=$(e,at);return he(t)?pt=fe(t).toString():(pt=lt(),ge(t,pt),pt)},ht=function(){function e(e){this._callCppProxy=e,this._setTime=15962112e5}return e.prototype._setToProtocol=function(e,t,n,o,r,s){var i=JSON.stringify(r);"{}"!==i&&e.info(me.P_SET_MSG_EXTEN_O,JSON.stringify({messageUId:o,ext:r})),this._callCppProxy("setMessageExtension",t,n,o,i,s)},e.prototype.setLocalFromReceiveMsg=function(e,t){var n=t.channelId,o=t.conversationType,r=t.targetId,s=t.messageUId,i=t.expansion,a=t.sentTime,c={};for(var u in i)c[u]={v:"",ts:0},c[u].v=i[u],c[u].ts=a;this._setToProtocol(e,o,r,s,c,n||"")},e.prototype.setLocalFromExtMsg=function(e,t){var n=t.channelId,o=t.conversationType,r=t.targetId,s=t.content,i=t.sentTime,a=s,c=a.put,u=this._callCppProxy("getMessage",a.mid),p=JSON.parse(u).extMsg,l=JSON.parse(p||"{}");if(c)for(var d in c){var h=l[d];h&&h.ts<i-this._setTime?(h.v=c[d],h.ts=i-this._setTime):(l[d]={v:"",ts:0},l[d].v=c[d],l[d].ts=i-this._setTime)}a.del&&a.del.forEach((function(e){delete l[e]})),this._setToProtocol(e,o,r,a.mid,l,n||"")},e.prototype.parseReceiveExpansion=function(e){var t=JSON.parse(e.extMsg||"{}"),n={};for(var o in t)n[o]=t[o].v;return n},e.prototype.parseConverOrHisExpansion=function(e){var t=JSON.parse(e.extMsg),n=JSON.parse(t||"{}"),o={};for(var r in n)o[r]=n[r].v;return o},e}();!function(e){e[e.ERROR=-1]="ERROR",e[e.RESPONSE=0]="RESPONSE",e[e.EVENT=1]="EVENT",e[e.CALLBACK=2]="CALLBACK"}(et||(et={}));var ft=function(){function e(e,t,n,r){var s=this;this.p=e,this.emit=t,this.callback=n,this.errorHandle=r,this.count=0,this.maps={},this.p.on("message",(function(e){var o=e.type,i=e.data;switch(o){case et.EVENT:var a=i,c=a.eventName,u=a.data;null==t||t.apply(void 0,Re([c],u,!1));break;case et.RESPONSE:var p=i,l=p.reqId,d=p.success,h=p.data,f=s.maps[l];if(!f)return;f({success:d,data:h}),delete s.maps[l];break;case et.CALLBACK:null==n||n(i);break;case et.ERROR:var g=i.msg;null==r||r(g)}})),this.p.on("error",(function(e){null==r||r("SubProcessProxy error "+e)})),this.p.on("exit",(function(e,t){if(0!==e){for(var n in s.maps){if(Object.prototype.hasOwnProperty.call(s.maps,n))(0,s.maps[n])({success:!0,data:{code:o.SUB_PROCESS_EXIT,msg:"sub process exit"}})}null==r||r("SubProcessProxy exit "+e+" "+t,!0)}})),this.p.on("close",(function(e,t){console.log("SubProcessProxy close",e,t)}))}return e.prototype.call=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return Ee(this,void 0,void 0,(function(){var n=this;return Te(this,(function(r){return this.p.killed||this.p.exitCode?[2,Promise.resolve({success:!1,data:{code:o.SUB_PROCESS_EXIT,msg:"sub process exit"}})]:[2,new Promise((function(o){var r=++n.count;n.maps[r]=o;var s={reqId:r,method:e,args:t,hasResponse:!0};n.p.send(s)}))]}))}))},e.prototype.send=function(e){for(var t,n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];return Ee(this,void 0,void 0,(function(){var o;return Te(this,(function(r){return(this.p.killed||this.p.exitCode)&&(null===(t=this.errorHandle)||void 0===t||t.call(this,"sub process exit")),o={reqId:-1,method:e,args:n},this.p.send(o),[2]}))}))},e.prototype.destroy=function(){this.send("destroy")},e}();function gt(e){void 0===e&&(e="IPv4");for(var t=oe(),n=[],o=0,r=Object.values(t);o<r.length;o++){var s=r[o];if(s&&-1!==Object.prototype.toString.call(s).indexOf("Array")){var i=s.filter((function(t){return!(t.internal||(n=t.mac,/^(0{1,2}[:-]){5}0{1,2}$/.test(n))||t.family&&t.family!==e);var n})).map((function(e){return e.mac}));n.push.apply(n,i)}}return n.length?n.sort()[0]:""}var vt,Ct=function(e,t,n){return Ee(void 0,void 0,void 0,(function(){var o,r;return Te(this,(function(s){return o=_e("aes-256-cbc",t,n),r=o.update(e,"base64","utf-8"),[2,r+=o.final("utf8")]}))}))},_t=function(e){if(!he(e)){var t=$(e,"..");he(t)||_t(t),ve(e)}},St=function(e){function t(t,n,o,r,s){var i=e.call(this,t,n,o,s)||this;i.naviPath="",i._caches={},i.naviPath=r+"/"+it(t);var a=Z(i.naviPath);return he(a)||_t(a),i}return ye(t,e),t.prototype.httpRequest=function(e,t,n,r){return Ee(this,void 0,void 0,(function(){var i,a,c,u,p;return Te(this,(function(l){switch(l.label){case 0:return i="token="+encodeURIComponent(n)+"&v="+h+"&p=PC&ev=5.9.9&m="+gt(),a=e+"/navi.json?r="+Date.now()+"&env="+this._environment,this.logger.info(s.L_REQUEST_T,JSON.stringify({url:a,body:i}),r),[4,ze(this.logger,{method:"POST",headers:{appId:t},body:i,url:a,timeout:f})];case 1:if(200!==(c=l.sent()).status)return this.logger.warn(s.L_REQUEST_R,JSON.stringify({url:a,code:c.status}),r),[2,{code:this.transHttpCode(c.status)}];this.logger.info(s.L_REQUEST_R,JSON.stringify({url:a,data:c.data}),r);try{return u=JSON.parse(c.data),p=/^https/.test(a)?"https":"http",u.protocol=p,u.code&&200!==u.code?[2,{code:this.transHttpCode(u.code)}]:[2,{code:o.SUCCESS,data:u}]}catch(e){return this.logger.error(s.L_PARSE_NAVI_E,c.data,r),[2,{code:o.RC_NAVI_REQ_FAILED}]}return[2]}}))}))},t.prototype.httpRequestV2=function(e,t,n,r){return Ee(this,void 0,void 0,(function(){var i,a,c,u;return Te(this,(function(p){switch(p.label){case 0:return i=this.getNaviV2RequestOption({appkey:t,token:n,uri:e,platform:"electron",protocol:st.join(","),mac:gt()}),this.logger.info(s.L_REQUEST_T,JSON.stringify({url:i.url,body:i.body,headers:i.headers}),r),[4,ze(this.logger,i)];case 1:if(200!==(a=p.sent()).status)return this.logger.warn(s.L_REQUEST_R,JSON.stringify({url:i.url,code:a.status}),r),[2,{code:this.transHttpCode(a.status)}];this.logger.info(s.L_REQUEST_R,JSON.stringify({url:i.url,data:a.data}),r);try{return c=JSON.parse(a.data),u=/^https/.test(i.url)?"https":"http",c.protocol=u,[2,{code:o.SUCCESS,data:c}]}catch(e){return this.logger.error(s.L_PARSE_NAVI_E,a.data,r),[2,{code:o.RC_NAVI_REQ_FAILED}]}return[2]}}))}))},t.prototype.getNaviCache=function(e){var t=this.getCatchKey(e),n=this._caches[t];if(n)return n;if(!he(this.naviPath))return null;var o=fe(this.naviPath,{encoding:"utf8"});try{return this._caches=JSON.parse(o),this._caches[t]}catch(e){this.logger.error(s.L_PARSE_NAVI_E,o)}return null},t.prototype.setNaviCache=function(e,t){var n=Date.now(),o=this.getCatchKey(e);if(p(this._caches))for(var r in this._caches){(n-this._caches[r].timestamp>l||o===r)&&delete this._caches[r]}this._caches[o]={token:e,naviInfo:t,timestamp:Date.now(),environment:this._environment},ge(this.naviPath,JSON.stringify(this._caches))},t.prototype.setEnvironment=function(e){this._environment=e},t}(d);!function(e){e[e.SUCCESS=0]="SUCCESS",e[e.NOT_INIT=-1]="NOT_INIT",e[e.CANCELED=-2]="CANCELED",e[e.REPEAT=-3]="REPEAT"}(vt||(vt={}));var yt,mt=function(e){function t(t,n,r,s,i,a){var c=e.call(this,t,r,s,i,a)||this;return c.callCppProxy=n,c._connectedTime=0,c._naviInfo=null,c._excludeLogTag=["P-RCGetValueForKey-T","P-RCGetValueForKey-E","P-RCGetValueForKey-R","P-RCSetValueForKey-T","P-RCSetValueForKey-E","P-RCSetValueForKey-R"],c.connectResolve=null,c._startTime=0,c._tcpDuration=0,c.pingResolve=null,c.callCppProxy("setConnectionStatusListener",c._onConnectionStatusChange.bind(c),(function(e){c.logger.info(me.P_DB_OPEN_O,e)}),(function(){return c.recvPong(o.SUCCESS)}),c._onConnectionStatusChange.bind(c),c._onTcpConnectResponse.bind(c)),c}return ye(t,e),t.prototype.getConnectedTime=function(){return this._connectedTime},t.prototype.connectWithToken=function(e,t,n,r){var s=this;return new Promise((function(i){s._naviInfo=t,s.connectResolve={resolve:i,traceId:r,userId:t.userId};var a={},c=Ze().data;c&&(a={proxy_passwd:c.socksPassword||"",proxy_name:c.socksUsername||"",proxy_port:c.socksPort||1082,proxy_host:c.socksHost||"localhost",proxy_type:0});var p=JSON.stringify(Pe(Pe({},a),{call_plus:s._openCallPlus})),l=s.getCmpList(t,!0).filter((function(e){return st.includes(e.protocol)})).sort((function(e,t){return e.weight>t.weight?-1:1})),d=[];l.forEach((function(e){var t=d.find((function(t){return t.addr===e.addr}));t?t.protocol!==u.QUIC&&e.protocol!==u.QUIC||(t.race=!0,t.protocol=u.QUIC):(e.race=!1,d.push(e))})),s.logger.info(me.P_CONNECT_O,JSON.stringify({use:d,catche:s.cmpWeightCache,proxy:a,FORMATED_VERSION:h,reconnectKickEnable:n}),r),s._startTime=Date.now();try{s.callCppProxy("connectWithToken",e,h,JSON.stringify(Pe(Pe({},t),{serverAddr:d,tagBlacklist:s._excludeLogTag.join(",")})),n,p)}catch(e){s.logger.error(me.P_CALL_ADDON_E,null==e?void 0:e.stack,r),s.recvConnectRes(o.RC_SOCKET_NOT_CREATED)}}))},t.prototype.close=function(e,t){void 0===t&&(t=!0),e||this.callCppProxy("disconnect",t)},t.prototype.sendPing=function(e){var t=this;return new Promise((function(n){t.pingResolve=n,t.callCppProxy("sendHeartbeat"),setTimeout((function(){return t.recvPong(o.TIMEOUT)}),e)}))},t.prototype.recvPong=function(e){this.pingResolve&&(this.pingResolve(e),this.pingResolve=null)},t.prototype._onConnectionStatusChange=function(e,t){switch(this.logger.info(me.P_CONNECT_S,JSON.stringify({status:e,delay:t})),e){case o.SUCCESS:this.recvConnectRes(o.SUCCESS);break;case o.RC_CONN_REDIRECTED:case 32061:this.recvConnectRes(o.RC_CONN_REDIRECTED,!0);break;case 11:case 10:case 12:break;case o.RC_SOCKET_DISCONNECTED:this.recvConnectRes(e,!1);break;case o.RC_SOCKET_NOT_CREATED:case o.RC_CONN_ACK_TIMEOUT:case o.RC_TCP_RESET:this.recvConnectRes(e);break;case o.RC_UDP_DISCONNECTED:this.recvConnectRes(e,!0,t);break;default:this.recvConnectRes(e,!0)}},t.prototype.recvConnectRes=function(e,t,n){if(this.connectResolve){var r=this.connectResolve,s=r.resolve,i=r.userId,a=Date.now()-(this._startTime+this._tcpDuration),c={bid:g(),cod:e,net:this.getNetwork().type,dur:a,spr:0,cid:this.uuid+"_"+this.retryCount,v:v.CURRENT,count:this.retryCount};return this.statisticLog.record(C.IM_CMP_RMTP,JSON.stringify(c)),e===o.SUCCESS&&(this._connectedTime=Date.now()-this.callCppProxy("getDeltaTime")),s({code:e,data:i}),void(this.connectResolve=null)}if(t)this.onDisconnectByServer(e,n);else{if(e===o.RC_SOCKET_DISCONNECTED)if(this.getConnectionStatus()!==_.CONNECTED)return;this.onDisconenctUnusual(e)}},t.prototype._onTcpConnectResponse=function(e,t,n,o,r,s,i){var a,c=this.cmpWeightCache.findIndex((function(e){return e.addr===t+":"+n})),u={bid:g(),ptc:S.TCP,cod:e,net:this.getNetwork().type,dur:o,spr:0,pr:(null===(a=this._naviInfo)||void 0===a?void 0:a.type)||0,hos:t+":"+n,idx:c,rct:this.retryCount?y.RECONNECT:y.CONNECT,cid:this.uuid+"_"+this.retryCount,v:v.CURRENT,rsn:this.reason,ddu:r,count:this.retryCount,weight:c>=0?this.cmpWeightCache[c].weight:-1};this.statisticLog.record(C.IM_CMP,JSON.stringify(u)),this.logger.info(me.P_CONNECT_ENTRY_S,JSON.stringify({code:e,host:t,port:n,duration:o,dnsDuration:r,index:s,isQuic:i})),e===vt.SUCCESS&&(this.curCmpUrl=t+":"+n,this.updateCmpWeight(t+":"+n,!0,i))},t}(m),Pt=function(e){function t(t,n,o){var r=e.call(this,t,n)||this;r.appkey=t,r.logger=n,r.dbpath=o,r._cachePath="",r._cachePath=o+"/"+ct(t);var s=Z(r._cachePath);return he(s)||_t(s),r}return ye(t,e),t.prototype.getCache=function(){return he(this._cachePath)&&fe(this._cachePath,{encoding:"utf8"})||null},t.prototype.setCache=function(e){ge(this._cachePath,e)},t.prototype.clearCache=function(){ge(this._cachePath,"")},t.prototype.sendRequest=function(e){return Ee(this,void 0,void 0,(function(){var t,n,o;return Te(this,(function(r){switch(r.label){case 0:return[4,ze(this.logger,{url:e,body:""})];case 1:return t=r.sent(),n=t.status,o=t.data,[2,{code:n,data:o}]}}))}))},t.prototype.decryptData=function(e){return Ee(this,void 0,void 0,(function(){var t,n;return Te(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),[4,Ct(e,T,E)];case 1:return t=o.sent(),[2,JSON.parse(t)];case 2:return n=o.sent(),this.logger.error(s.L_GET_STATIC_CONF_E,JSON.stringify({error:null==n?void 0:n.stack})),[3,3];case 3:return[2]}}))}))},t}(P),Et=function(e){function t(t,n,o,r,s,i,a){var c=e.call(this,n,t,o,i)||this;c.deviceId=r,c.model="",c.catchFilePath="",c.addon=a,c.model="Electron|"+process.platform+"|"+process.arch,c.catchFilePath=s+"/"+ut(t);var u=Z(c.catchFilePath);return he(u)||_t(u),c.init(),c}return ye(t,e),t.prototype.httpRequest=function(e,t,n,o){return Ee(this,void 0,void 0,(function(){var r,i,a,c,u,p,l,d;return Te(this,(function(h){switch(h.label){case 0:return(r=o).deviceId=this.deviceId,r.model=this.model,i={url:e,method:t,headers:n,body:JSON.stringify(r)},this.logger.info(s.L_REQUEST_T,JSON.stringify(i)),[4,ze(this.logger,i)];case 1:a=h.sent(),c=a.status,u=a.data,p=void 0===u?"":u,this.logger.info(s.L_REQUEST_R,JSON.stringify({status:c,data:p}));try{return l=JSON.parse(p),d=l.data,[2,{code:c,data:d}]}catch(e){return this.logger.warn(s.L_CLOUD_CONFIG_DATA_E,JSON.stringify({status:c,data:p,error:e})),[2,{code:c,msg:e}]}return[2]}}))}))},t.prototype.setCloudControllerCache=function(e){ge(this.catchFilePath,JSON.stringify(e)),this.logger.info(s.L_CLOUD_SET_CACHE_O,JSON.stringify(e))},t.prototype.getLocalCloudControllerCache=function(){if(!he(this.catchFilePath))return null;var e=fe(this.catchFilePath,{encoding:"utf8"});return this.logger.info(s.L_CLOUD_GET_CACHE_O,JSON.stringify({appkey:this.appkey,data:e})),e},t.prototype.setMRTRConfig=function(e){var t={mrtrChatroom:e.chatroom,mrtrGroup:e.group,mrtrPrivate:e.private,mrtrUltraGroup:e.ultraGroup};this.logger.info(s.L_CLOUD_SET_MRTR_O,JSON.stringify(t)),this.addon.setCloudConfig(JSON.stringify(t))},t}(R);!function(e){e[e.cuid=1]="cuid",e[e.uid=2]="uid",e[e.all=4]="all"}(yt||(yt={}));var Tt,Rt=function(){function e(e,t,n,o,r){var s=this;this._appkey=e,this._cppProtocol=t,this._dbpath=n,this._dispatchEvent=o,this._logOutputLevel=r,this._customMessageType={},this.cloudControllerUri="",this.cloudControllerLock=!0,this.cloudControllerMsgs=[],this._buildSubscribeEventData=function(e){var t=[];try{JSON.parse(e).list.forEach((function(e){var n=JSON.parse(e.obj),o=n.userId,r=n.subscribeType,s=n.subscribeTime,i=n.duration,a=n.operationType,c=n.details,u=void 0===c?[]:c;t.push({userId:o,subscribeType:r,subscribeTime:s,duration:i,operationType:a,details:u.map((function(e){var t=JSON.parse(e);return{changeTime:t.changeTime,eventValue:t.changeValue,platform:t.platform}}))})}))}catch(t){s.logger.error(me.P_PARSE_JSON_SUBSCRIBE_DATA_E,JSON.stringify({error:null==t?void 0:t.stack,data:e}))}return t},this._chatroomCache=[],this.rtcHeartbeatResolves={};var i=this._dbpath,a=dt(i);this.logger=new Le(this._appkey,"RC-M","IM"),this._cppProtocol.initWithAppkey(e,i,h,this.logger.getSessionId());var c=z($(__dirname,"sub-process.js"));this.subProxy=new ft(c),this.statisticLog=new we(this._appkey,"RC-M","IM"),this.logger.setOutputLevel(this._logOutputLevel),Me(this._cppProtocol,this.logger),this.reporter=new rt(this._cppProtocol,e,a,this.logger,this.subProxy),this.logger.info(me.P_INIT_O,JSON.stringify({appkey:e,dbpath:i,proto_commit:this._cppProtocol.getNodeVersion(),deviceId:a,commit:"ac04313edeb4b97f5b9015d75bbe9396b2781d95"})),this._callCppProxy("setDeviceId",a),this._staticConfigManager=new Pt(e,this.logger,i),this.navi=new St(e,this.logger,this.statisticLog,i,this._staticConfigManager),this.tcpMgr=new mt(e,this._callCppProxy.bind(this),this.navi,this.logger,this.statisticLog,{onConnected:this.onConnected.bind(this),onSuspend:this.onSuspend.bind(this),onDisconnected:this.onDisconnected.bind(this),onConnecting:this.onConnecting.bind(this)}),this._initCloudController(a,i),this._registerMsgTypes(),this._setOnReceiveMessageListener(),this._setConversationStatusListener(),this._setUserProfileListener(),this._setRTCHeartbeatListener(),this._setRTCLivingRoomEventListener(),this._setChatroomEventListener(),this._setCallInfoListener(),this._setSubscribeEventListener(),this._msgExpansionHandler=new ht(this._callCppProxy.bind(this))}return e.prototype._initCloudController=function(e,t){var n=I.getCloudControllerUrl();this.cloudControllerUri=n[0],this.cloudController=new Et(this._appkey,this.logger,this.reporter,e,t,this.statisticLog,this._cppProtocol),N()&&this.cloudControllerUri&&this.cloudController.request(this.cloudControllerUri,O.init)},e.prototype.callProxy=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return Ee(this,void 0,void 0,(function(){var n,r,s;return Te(this,(function(i){switch(i.label){case 0:if(!(n=this[e]))return this.logger.warn(me.P_CALL_MAIN_E,JSON.stringify({method:e,error:"not found"})),[2,Promise.resolve({code:o.NOT_SUPPORT})];r="",i.label=1;case 1:return i.trys.push([1,3,,4]),[4,n.call.apply(n,Re([this],t,!1))];case 2:return[2,i.sent()];case 3:return s=i.sent(),r=JSON.stringify({error:null==s?void 0:s.stack,method:e}),this.logger.error(me.P_CALL_MAIN_E,r),[3,4];case 4:return[2,{code:o.MAIN_PROCESS_ERROR,msg:r}]}}))}))},e.prototype.sendProxy=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return Ee(this,void 0,void 0,(function(){var n;return Te(this,(function(o){if(!(n=this[e]))return this.logger.warn(me.P_CALL_MAIN_E,JSON.stringify({method:e,error:"not found"})),[2];try{n.call.apply(n,Re([this],t,!1))}catch(t){this.logger.error(me.P_CALL_MAIN_E,JSON.stringify({error:null==t?void 0:t.stack,method:e}))}return[2]}))}))},e.prototype.registerRenderers=function(e){var t=e.navigators,n=e.areaCode,o=e.logServerUrl,r=e.environment;this._environment=r||"default",this.navi.setEnvironment(r),I.init({areaCode:n,navigators:t,logServerUrl:o})},e.prototype.onConnected=function(){return Ee(this,void 0,void 0,(function(){var e,t,n;return Te(this,(function(o){switch(o.label){case 0:return e=this.getNaviInfoFromCache(),this.reporter.checkStart(e),this._try2RejoinChatroom(),t=this._dispatchEvent,n=["onConnected"],[4,this.getMainProcessCache()];case 1:return t.apply(this,n.concat([o.sent()])),[2]}}))}))},e.prototype.onConnecting=function(){this._dispatchEvent("onConnecting",void 0)},e.prototype.onSuspend=function(e){this._dispatchEvent("onSuspend",e)},e.prototype.onDisconnected=function(e){this._dispatchEvent("onDisconnected",e)},e.prototype._callCppProxy=function(e){for(var t,n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];var r=this.logger.createTraceId();try{return this.logger.debug(me.P_CALL_ADDON_O,JSON.stringify({method:e,content:n}),r),(t=this._cppProtocol)[e].apply(t,n)}catch(t){throw this.logger.error(me.P_CALL_ADDON_E,JSON.stringify({stack:null==t?void 0:t.stack,method:e}),r),t}},e.prototype.refetchNaviInfo=function(){return this.navi.request(this.tcpMgr.getToken(),!0,!0,this.logger.createTraceId())},e.prototype.sendHTTPRequest=function(e){return ze(this.logger,e)},e.prototype.onRendererLogsReceived=function(e){be.apply(void 0,e)},e.prototype.onRendererNetworkStatusReceived=function(e,t){if(this.tcpMgr.setNetwork(e,t),e.status&&N()&&this.cloudController){var n=this.tcpMgr.getToken();this.cloudController.request(this.cloudControllerUri,O.newWorkChange,n)}},e.prototype.destroy=function(){this.reporter.stop(),this.subProxy.destroy(),this._cppProtocol,Oe(),this._cppProtocol.destroy(),process.exit(0)},e.prototype.callExtra=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=this[e];if(!r)return this.logger.warn(me.P_CALL_EXTRA_E,JSON.stringify({method:e,error:"not found"})),Promise.resolve({code:o.NOT_SUPPORT});try{return r.call.apply(r,Re([this],t,!1))}catch(t){this.logger.error(me.P_CALL_EXTRA_E,JSON.stringify({error:null==t?void 0:t.stack,method:e}))}return Promise.resolve({code:o.MAIN_PROCESS_ERROR})},e.prototype.getConversationsByPage=function(e,t,n,r,s){var i,a=this,c=this._callCppProxy("getConversationListByPageWithTopPriority",e,t,n,s||!1,r||"");try{i=JSON.parse(c).list.map((function(e){return a._buildConversation(e.obj)}))}catch(e){return Promise.resolve({code:o.MAIN_PROCESS_ERROR})}return Promise.resolve({code:o.SUCCESS,data:i})},e.prototype.getUnreadConversationList=function(e){var t,n=this,r=this._callCppProxy("getUnreadConversationList",e);try{t=JSON.parse(r).list.map((function(e){return n._buildConversation(e.obj)}))}catch(e){return Promise.resolve({code:o.MAIN_PROCESS_ERROR})}return Promise.resolve({code:o.SUCCESS,data:t})},e.prototype.getConversationListWithAllChannel=function(){var e,t=this,n=[M.PRIVATE,M.GROUP,M.SYSTEM,M.APP_PUBLIC_SERVICE,M.PUBLIC_SERVICE],r=this._callCppProxy("getConversationListWithAllChannel",n);try{e=JSON.parse(r).list.map((function(e){return t._buildConversation(e.obj)}))}catch(e){return Promise.resolve({code:o.MAIN_PROCESS_ERROR})}return Promise.resolve({code:o.SUCCESS,data:e})},e.prototype.getConversationListWithAllChannelByPage=function(e,t){var n,r=this,s=[M.PRIVATE,M.GROUP,M.SYSTEM,M.APP_PUBLIC_SERVICE,M.PUBLIC_SERVICE],i=this._callCppProxy("getConversationListWithAllChannelByPage",s,e,t);try{n=JSON.parse(i).list.map((function(e){return r._buildConversation(e.obj)}))}catch(e){return Promise.resolve({code:o.MAIN_PROCESS_ERROR})}return Promise.resolve({code:o.SUCCESS,data:n})},e.prototype.getHistoryMessagesByObjectNames=function(e,t,n,r,s,i,a){var c=0===i,u=r+1,p=this._callCppProxy("getHistoryMessagesByObjectNames",e,t,n,u,s,c,a||""),l=[];try{var d=JSON.parse(p).list;d.reverse();for(var h=0;h<d.length;h++){var f=this._buildMessage(d[h].obj);l[h]=f}}catch(e){return Promise.resolve({code:o.MAIN_PROCESS_ERROR})}return Promise.resolve({code:o.SUCCESS,data:{list:u===l.length?l.slice(1,u):l,hasMore:r<l.length}})},e.prototype.updateMessageReceiptStatus=function(e,t,n,r){void 0===r&&(r="");var s=this._callCppProxy("updateMessageReceiptStatus",e,t,n,r);return Promise.resolve({code:o.SUCCESS,data:s})},e.prototype.getNaviInfoFromCache=function(){return this.tcpMgr.getConnectionStatus()!==_.CONNECTED?null:this.navi.getNaviInfoFromCache(this.tcpMgr.getToken())},e.prototype.createLogger=function(e,t){return/^RC/.test(e)?null:new Le(this._appkey,e,t)},e.prototype.getConnectedTime=function(){return this.tcpMgr.getConnectedTime()},e.prototype.getServerTime=function(){return Date.now()-this._cppProtocol.getDeltaTime()},e.prototype.getCurrentUserId=function(){return this.tcpMgr.getCurrentUserId()},e.prototype.getMainProcessCache=function(){var e=this.tcpMgr.getConnectedTime(),t=this.tcpMgr.getConnectionStatus(),n=this.getNaviInfoFromCache(),o=this.tcpMgr.getCurrentUserId(),r=this.getDeviceId(),s=this._cppProtocol.getDeltaTime();return Promise.resolve({connectedTime:e,deviceId:r,crtUserId:o,naviInfo:n,connectionStatus:t,deltaTime:s})},e.prototype._registerMsgTypes=function(){for(var e in b["RC:RcCmd"]={isCounted:!1,isPersited:!1},b){var t=b[e],n=t.isCounted,o=t.isPersited,r=t.searchProps,s=0;o&&(s|=1),n&&(s|=2),"RC:TypSts"===e&&(s=16),this._callCppProxy("registerMessageType",e,s,r||[])}},e.prototype._buildIsMentioned=function(e,t){var n,o=!1;if(U(e))n=e;else try{n=e?JSON.parse(e):e}catch(t){n=e,this.logger.error(me.P_PARSE_JSON_MSGS_E,JSON.stringify({content:e}))}return U(n)&&(o=!!n.mentionedInfo),{isMentioned:o,msgContent:n}},e.prototype._buildMsgOption=function(e){var t={isCounted:!1,isPersited:!1};return e in b?t=b[e]:e in this._customMessageType&&(t=this._customMessageType[e]),t},e.prototype._buildSupportExt=function(e,t,n){var o=null;return e&&(o=this._msgExpansionHandler.parseReceiveExpansion(n),"conversation"!==t&&"history"!==t||(o=this._msgExpansionHandler.parseConverOrHisExpansion(n))),o},e.prototype._handleReadReceiptRequest=function(e){var t=JSON.parse(e),n=this.getNaviInfoFromCache();if(!(null==n?void 0:n.grpRRVer))return t;var o=t,r=o.hasRespond,s=o.readerInfo,i=void 0===s?{}:s,a=o.readCount,c=o.totalCount,u=o.readerList,p=void 0===u?[]:u,l={readCount:a,totalCount:c};if(1===(null==n?void 0:n.grpRRVer)){var d=[];for(var h in i)d.push({userId:h,readTime:i[h]});l.readerList=d,l.hasRespond=r}return 3===(null==n?void 0:n.grpRRVer)&&(l.readerList=p),l},e.prototype._buildMessage=function(e,t){var n;void 0===t&&(t={});var o=t.isOffLineMessage,r=t.buildFrom,s=JSON.parse(e),i=s.channelId,a=s.conversationType,c=s.targetId,u=s.senderUserId,p=s.content,l=s.objectName,d=s.messageUid,h=s.direction,f=s.status,g=s.messageId,v=s.sentTime,C=s.readReceiptRequest,_=s.supportExt,S=s.pushContent,y=s.pushTitle,m=s.pushId,P=s.pushConfig,E=s.templateId,T=s.disableTitle,R=s.forcePushDetail,I=s.hasMore,N=s.directedUsers,O=s.noNotification,M=this._buildIsMentioned(p,g),b=M.isMentioned,U=M.msgContent,D=this._buildMsgOption(l),k=this._buildSupportExt(_,r,s),J=x(o)?v<this.tcpMgr.getConnectedTime():o,B={};P&&(B=L(this.logger,P,m));var j=Pe(Pe({},B),{pushTitle:y,pushContent:S,pushData:S,disablePushTitle:T,forceShowDetailContent:R,templateId:E}),F={channelId:i,conversationType:a,targetId:c,senderUserId:u,content:U||{},messageType:l,messageUId:d||"",messageDirection:h,isOffLineMessage:J,sentTime:v,receivedTime:0,isPersited:D.isPersited,isCounted:D.isCounted,isMentioned:b,disableNotification:O,isStatusMessage:(null===(n=this._customMessageType[l])||void 0===n?void 0:n.isStatusMessage)||!1,canIncludeExpansion:_,expansion:_?k:null,receivedStatus:f,receivedStatusInfo:w(f),messageId:g,pushConfig:j,hasMore:I,directedUserIds:N||[]};if(h===A.RECEIVE?F.receivedStatus=this._compatibleReceivedStatus(F.receivedStatusInfo):h===A.SEND&&(F.sentStatus=f),C){var H=this._handleReadReceiptRequest(C);F.readReceiptInfo=H}return F},e.prototype._compatibleReceivedStatus=function(e){var t=D.UNREAD;return e.isRead?t=D.READ:e.isListened?t=D.LISTENED:e.isDownload?t=D.DOWNLOADED:e.isRetrieved&&(t=D.RETRIEVED),t},e.prototype._updateReadReceiptInfo=function(e,t){var n=this._callCppProxy("getMessage",e),o=JSON.parse(n),r=o.readReceiptRequest?JSON.parse(o.readReceiptRequest):{},s=Pe(Pe({},r),t);this._callCppProxy("updateReadReceiptRequestInfo",e,JSON.stringify(s))},e.prototype._processRRRspMsg=function(e,t,n){if(t!==this.getCurrentUserId())for(var o=0,r=e[this.getCurrentUserId()]||[];o<r.length;o++){f=r[o];var s=this._callCppProxy("getMessage",f),i=JSON.parse(s),a=i.readReceiptRequest?JSON.parse(i.readReceiptRequest):{},c=a.isReceiptRequestMessage,u=a.readerList,p=void 0===u?[]:u;c&&!p.includes(t)&&(p.push(t),this._callCppProxy("updateReadReceiptRequestInfo",f,JSON.stringify({isReceiptRequestMessage:c,readerList:p})))}else for(var l in e)for(var d=0,h=e[l];d<h.length;d++){var f=h[d];this._callCppProxy("updateReadReceiptRequestInfo",f,JSON.stringify({isReceiptRequestMessage:!0,hasRespond:!0}))}},e.prototype._processRSMsg=function(e){var t=e.conversationType,n=e.targetId,o=e.content,r=e.channelId,s=o.msgId,i=o.rrn,a=o.tmn,c=o.endMsgTime;t===M.PRIVATE?this.updateMessageReceiptStatus(t,n,c,r||""):this._updateReadReceiptInfo(s,{readCount:i,totalCount:a});var u={conversationType:t,targetId:n,channelId:r};this._sendMessageReadReceipt(t===M.PRIVATE?{privateReadReceipt:Pe(Pe({},u),{endMsgTime:o.endMsgTime})}:{groupReadReceipt:Pe(Pe({},u),{totalCount:o.tmn,readedCount:o.rrn,messageUId:o.msgId})})},e.prototype._processSRSMsg=function(e){var t=this.getNaviInfoFromCache(),n=e.conversationType,o=e.targetId,r=e.content,s=e.channelId,i=e.senderUserId,a=e.sentTime;return i===this.tcpMgr.getCurrentUserId()&&(this._callCppProxy("clearUnreadCountByTimestamp",n,o,r.lastMessageSendTime,s||""),1!==(null==t?void 0:t.sesDriven)||(a>this.tcpMgr.getConnectedTime()||this._sendsyncReadStatus({conversationType:n,targetId:o,channelId:s,timestamp:r.lastMessageSendTime}),!1))},e.prototype._buildConversation=function(e){var t=JSON.parse(e),n=t.channelId,o=t.conversationType,r=t.targetId,s=t.unreadCount,i=t.lastestMsg,a=t.isTop,c=t.blockStatus,u=t.matchCount,p=t.hasUnreadMention,l=t.conversationTime,d=t.draft,h=c>0?k.OPEN:k.CLOSE;return{channelId:n,conversationType:o,targetId:r,unreadMessageCount:s,latestMessage:-1===JSON.parse(i).messageId?null:this._buildMessage(i),hasMentioned:p,mentionedInfo:null,notificationStatus:h,isTop:a,lastUnreadTime:0,matchCount:u,operationTime:l,notificationLevel:c,draft:d}},e.prototype._convertResultList=function(e,t){var n=JSON.parse(e).list;return n=n.map((function(e){var n=JSON.parse(e.obj);return t?t(n):n}))},e.prototype._handleNotNotificationMessage=function(e){var t,n=e.messageType,o=e.senderUserId,r=e.content;if(n===J.LOG_COMMAND&&e.senderUserId===B){var s=e.content,i=s.startTime,a=s.endTime,c=s.platform,u=s.logId,p=s.uri;return this.reporter.report(parseInt(i,10),parseInt(a,10),c,p,u,e.messageUId),!0}if(n===J.CLOUD_CONTROL&&o===B)return this.cloudControllerMsgs.push(e),this._ccMsgHandler(),!0;if(n===J.READ_STATE)return this._processRSMsg(e),!0;if("RC:MsgExMsg"===n)return this._msgExpansionHandler.setLocalFromExtMsg(this.logger,e),this._sendMessageExpansion(e),!0;if(n===J.SYNC_READ_STATUS&&!this._processSRSMsg(e))return!0;if(n===J.DELIVERED)return this._callCppProxy("setMessageDeliverTime",JSON.stringify(r)),this._sendMessageDelivered(e.content.map((function(e){return{deliverTime:e.time,messageUId:e.messageUId,objectName:e.objectName,targetId:e.targetId}}))),!0;if(n===J.DELIVERED_MSG){var l={totalCount:e.content.tmn,list:null===(t=e.content.dl)||void 0===t?void 0:t.map((function(e){return{MessageUId:e.msgId,deliveryCount:e.drn}}))};return this._sendGroupMessageDeliveredStatus(l),!0}return!1},e.prototype._setOnReceiveMessageListener=function(){var e=this;this._cppProtocol.setOnReceiveMessageListener((function(t,n,o,r){try{var s=e._buildMessage(t,{isOffLineMessage:o}),i=s.messageType,a=s.channelId,c=void 0===a?"":a,u=s.senderUserId,p=s.content,l=s.sentTime,d=s.conversationType,h=s.targetId;if(e._handleNotNotificationMessage(s))return;if(i===J.READ_RECEIPT_REQUEST&&p.messageUId&&e._updateReadReceiptInfo(p.messageUId,{isReceiptRequestMessage:!0,hasRespond:!1}),i===J.READ_RECEIPT_RESPONSE&&p.receiptMessageDic&&e._processRRRspMsg(p.receiptMessageDic,u,l),i===J.GROUP_READ_RECEIPT_REQUEST){var f=p.msgId,g=p.rrn,v=p.tmn;e._updateReadReceiptInfo(f,{readCount:g,totalCount:v})}s.canIncludeExpansion&&e._msgExpansionHandler.setLocalFromReceiveMsg(e.logger,s),i===J.READ_RECEIPT&&u===e.tcpMgr.getCurrentUserId()&&e._callCppProxy("clearUnreadCountByTimestamp",d,h,p.lastMessageSendTime,c);var C=!0;if(0!==n||r||(C=!1),i===J.RECALL){if(!e.handleRecalledMessage(s))return;var _=e._fixRecallContentInfo(s);d=_.conversationType,h=_.targetId}e._sendMessageNotification(Object.assign(s,{hasMoreMsg:C,conversationType:d,targetId:h}))}catch(n){e.logger.error(me.P_RECEIVE_MESSAGE_E,JSON.stringify({error:null==n?void 0:n.stack,message:t}))}}),(function(){e._sendPullOfflineFinished()}))},e.prototype._ccMsgHandler=function(){var e;return Ee(this,void 0,void 0,(function(){var t,n;return Te(this,(function(o){switch(o.label){case 0:return this.cloudControllerLock?(this.cloudControllerLock=!1,this.cloudControllerMsgs.shift()?(t=this.tcpMgr.getToken(),[4,null===(e=this.cloudController)||void 0===e?void 0:e.request(this.cloudControllerUri,O.other,t)]):[3,2]):[2];case 1:n=o.sent()||0,this.cloudControllerMsgs=this.cloudControllerMsgs.filter((function(e){return e.sentTime>n})),this.cloudControllerLock=!0,this._ccMsgHandler(),o.label=2;case 2:return[2]}}))}))},e.prototype._fixRecallContentInfo=function(e){var t=e.conversationType,n=e.targetId;return e.senderUserId===this.tcpMgr.getCurrentUserId()&&(t=e.content.conversationType||t,n=e.content.targetId||n),{conversationType:t,targetId:n}},e.prototype.handleRecalledMessage=function(e){var t=e.content,n=t.messageUId,o=t.sentTime;if(!n)return!0;var r=this._callCppProxy("getMessage",n),s=this._buildMessage(r,{isOffLineMessage:!1});if(e.content.isDelete)return-1===s.messageId||this._callCppProxy("deleteMessages",[s.messageId]),!0;if(s.messageType===J.RECALL_NOTIFICATION_MESSAGE)return!1;var i={recallTime:Date.now(),admin:!!e.content.isAdmin,originalObjectName:s.messageType,originalMessageContent:s.content,recallActionTime:e.sentTime,operatorId:e.senderUserId};if(e.content.user&&(i.user=e.content.user),e.content.extra&&(i.extra=e.content.extra),s.messageType===J.TextMessage&&(i.recallContent=s.content.content),-1===s.messageId){var a=e.conversationType,c=e.targetId,u=e.senderUserId,p=e.channelId,l=e.messageDirection;return this._callCppProxy("insertMessage",a,c,u,J.RECALL_NOTIFICATION_MESSAGE,JSON.stringify(i),(function(){}),(function(){}),l,1,30,o,"",0,n,!1,!0,JSON.stringify({}),p||""),!0}return s.receivedStatus||this.setMessageReceivedStatus(s.messageId,1),this._callCppProxy("setMessageContent",s.messageId,JSON.stringify(i),J.RECALL_NOTIFICATION_MESSAGE),!0},e.prototype._sendMessageExpansion=function(e){var t=e.channelId,n=void 0===t?"":t,o=e.content,r=e.conversationType,s=e.targetId,i=o,a=i.put,c=i.del,u=i.mid,p={};a&&(p.updatedExpansion={channelId:n,messageUId:u,expansion:a,conversationType:r,targetId:s}),c&&(p.deletedExpansion={channelId:n,messageUId:u,deletedKeys:c,conversationType:r,targetId:s}),this._dispatchEvent("expansion",p)},e.prototype._sendMessageNotification=function(e){this._dispatchEvent("batchMessage",e)},e.prototype._sendPullOfflineFinished=function(){this._dispatchEvent("pullFinished",null)},e.prototype._sendMessageDelivered=function(e){this._dispatchEvent("messageDelivered",e)},e.prototype._sendGroupMessageDeliveredStatus=function(e){this._dispatchEvent("groupMessageDeliveredStatus",e)},e.prototype._sendChatroomStatus=function(e){this._dispatchEvent("chatroom",e)},e.prototype._sendMessageReadReceipt=function(e){this._dispatchEvent("messageReadReceipt",e)},e.prototype._sendsyncReadStatus=function(e){this._dispatchEvent("syncReadStatus",e)},e.prototype._setConversationStatusListener=function(){var e=this;this._cppProtocol.setConversationStatusListener((function(t){var n=JSON.parse(t).list,o=[];n.forEach((function(e){var t=JSON.parse(e.obj),n=t.conversationType,r=t.targetId,s=t.status,i=t.channelId,a={notificationStatus:2,isTop:!1};s.forEach((function(e){var t=JSON.parse(e.item);1===t.type?a.notificationStatus=1===Number(t.value)?k.OPEN:k.CLOSE:a.isTop=1===Number(t.value)})),o.push({channelId:i,conversationType:n,targetId:r,updatedItems:{notificationStatus:{val:a.notificationStatus,time:0},isTop:{val:a.isTop,time:0}}})})),e._dispatchEvent("conversation",o)}),(function(t){e._dispatchEvent("conversationTag",t)}),(function(t,n,o,r){e._callCppProxy("clearUnreadCountByTimestamp",t,n,r,o||""),e._sendsyncReadStatus({conversationType:t,targetId:n,channelId:o,timestamp:r})}))},e.prototype._setUserProfileListener=function(){var e=this;this._cppProtocol.setUserProfileListener((function(){}),(function(t){e._dispatchEvent("tag",t),e._getRTCProfile()}))},e.prototype._getRTCProfile=function(){var e=this._callCppProxy("getRTCProfile");if(e){var t=this.tcpMgr.getToken();this.navi.updateVoipCallInfo(t,e);var n=this.navi.getNaviInfoFromCache(t);this._dispatchEvent("onNaviDataChange",n)}},e.prototype._setRTCLivingRoomEventListener=function(){var e=this;this._cppProtocol.setRTCRoomEventListener((function(t){e._dispatchEvent("onRTCDataChange",Array.prototype.slice.call(t))}))},e.prototype._setChatroomEventListener=function(){var e=this;this._cppProtocol.setChatroomEventListener((function(t,n){e._sendChatroomStatus({chatroomDestroyed:t})}))},e.prototype._setCallInfoListener=function(){var e=this;this._cppProtocol.setCallInfoListener((function(t){e._dispatchEvent("callInfo",t)}))},e.prototype._setSubscribeEventListener=function(){var e=this;this._cppProtocol.setSubscribeEventListener((function(){}),(function(){e._dispatchEvent("syncSubscribedUserStatusFinished")}),(function(t){var n=e._buildSubscribeEventData(t).map((function(e){return{userId:e.userId,subscribeType:e.subscribeType,subscribeTime:e.subscribeTime,expiry:e.duration,operationType:e.operationType}}));e._dispatchEvent("subscribedRelationChange",n)}),(function(t){var n=e._buildSubscribeEventData(t).map((function(e){return{userId:e.userId,subscribeType:e.subscribeType,subscribeTime:e.subscribeTime,expiry:e.duration,details:e.details}}));e._dispatchEvent("subscribedUserStatusChange",n)}))},e.prototype._updateMentionedInfo=function(e,t,n){var o,r,s;return{userIdList:(null===(o=e.mentionedInfo)||void 0===o?void 0:o.userIdList)||t,type:(null===(r=e.mentionedInfo)||void 0===r?void 0:r.type)||n||j.ALL,mentionedContent:(null===(s=e.mentionedInfo)||void 0===s?void 0:s.mentionedContent)||""}},e.prototype.registerMessageType=function(e,t,n,o,r){var s=0;t&&(s|=1),n&&(s|=2),r&&(s=16),this._customMessageType[e]={isCounted:n,isPersited:t,isStatusMessage:r},this.logger.info(me.P_REGTYP_O,JSON.stringify({type:e,opt:s,search:o})),this._callCppProxy("registerMessageType",e,s,o||[])},e.prototype.connect=function(e,t,n,o){return this.tcpMgr.connect(e,t,n,o)},e.prototype.reportSDKInfo=function(e){var t=JSON.stringify(Pe(Pe({},e),{"electron-main":"5.9.9"}));this.logger.info(me.P_REPORT_VER_O,t),this._callCppProxy("uploadSDKVersion",t,"")},e.prototype.disconnect=function(e){e=e||!0,this._chatroomCache.length=0,this.reporter.stop(),$e(null,this.logger),this.tcpMgr.disconnect(e)},e.prototype.logout=function(){this.disconnect()},e.prototype.setUserStatusListener=function(e,t){this._cppProtocol.setOnReceiveStatusListener((function(e,n){t({userId:e,status:n})}));var n=e.userIds||[];n.length&&this.subscribeUserStatus(n)},e.prototype.subscribeUserStatus=function(e){var t=this;return new Promise((function(n){t._callCppProxy("subscribeUserStatus",e,(function(){setTimeout((function(){n(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){n(e)}),0)}))}))},e.prototype.setUserStatus=function(e){var t=this;return new Promise((function(n){t._callCppProxy("setUserStatus",e,(function(){setTimeout((function(){n(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){n(e)}),0)}))}))},e.prototype.getUserStatus=function(e){var t=this;return new Promise((function(n){t._callCppProxy("getUserStatus",e,(function(e){setTimeout((function(){n({code:o.SUCCESS,data:{status:e}})}),0)}),(function(e){setTimeout((function(){n({code:e})}),0)}))}))},e.prototype._handleDirectionalUserIdList=function(e){var t=e.messageType,n=e.content,o=e.directionalUserIdList,r=void 0===o?[]:o;if(t===J.READ_RECEIPT_RESPONSE&&n.receiptMessageDic)for(var s in n.receiptMessageDic)r.push(s);return t===J.SYNC_READ_STATUS&&(r=[this.getCurrentUserId()]),r},e.prototype._handleMessage2Callback=function(e,t){var n=this;if("RC:MsgExMsg"===e.messageType&&this._msgExpansionHandler.setLocalFromExtMsg(this.logger,e),e.messageType===J.READ_RECEIPT_REQUEST)this._updateReadReceiptInfo(t.content.messageUId,{isReceiptRequestMessage:!0,readerList:[]});else if(e.messageType===J.READ_RECEIPT_RESPONSE){var o=t.content.receiptMessageDic;if(!o)return;for(var r in o)o[r].forEach((function(e){n._updateReadReceiptInfo(e,{isReceiptRequestMessage:!0,hasRespond:!0})}))}},e.prototype.sendMessage=function(e,t,n,r,s){var i=this;void 0===s&&(s=this.logger.createTraceId());var a=n.messageType,c=n.content,u=n.expansion,p=n.pushConfig,l=n.isMentioned,d=n.mentionedType,h=n.mentionedUserIdList,f=void 0===h?[]:h,g=n.pushContent,v=void 0===g?"":g,C=n.pushData,_=void 0===C?"":C,S=n.directionalUserIdList,y=void 0===S?[]:S,m=n.disableNotification,P=void 0!==m&&m,E=n.canIncludeExpansion,T=void 0!==E&&E,R=n.isVoipPush,I=void 0!==R&&R,N=n.channelId,O=void 0===N?"":N,b=n.messageId,U=void 0===b?0:b,x=p||{},L=x.iOSConfig,w=x.androidConfig,A=x.templateId,D=void 0===A?"":A,k=x.pushTitle,B=void 0===k?"":k,j=x.pushContent,H=void 0===j?v:j,V=x.pushData,G=void 0===V?_:V,q=x.disablePushTitle,K=void 0!==q&&q,Q=x.forceShowDetailContent,W=void 0!==Q&&Q,Y=F(L,w);return new Promise((function(p){v=H,_=G;var h=(null==w?void 0:w.notificationId)||"",g=e===M.GROUP;g&&l&&c&&(c.mentionedInfo=i._updateMentionedInfo(c,f,d)),g&&(y=i._handleDirectionalUserIdList(n));var C={};for(var S in u)C[S]={v:""},C[S].v=u[S];var m=D;i.logger.info(me.P_SEND_MSG_T,JSON.stringify({messageType:a,conversationType:e,targetId:t,channelId:O}),s);var E=i._callCppProxy("sendMessage",(function(e,t){var r=i._buildMessage(e,{isOffLineMessage:!1});if(i.logger.info(me.P_SEND_MSG_R,JSON.stringify({code:t,messageUId:r.messageUId}),s),t===o.SENSITIVE_REPLACE)return setTimeout((function(){p({code:t})}),0);[J.READ_RECEIPT_REQUEST,J.READ_RECEIPT_RESPONSE,J.EXPANSION_NOTIFY].findIndex((function(e){return e===r.messageType}))>-1&&i._handleMessage2Callback(r,n),r.canIncludeExpansion&&i._msgExpansionHandler.setLocalFromReceiveMsg(i.logger,r),setTimeout((function(){p({code:o.SUCCESS,data:r})}),0)}),(function(e,t){var n=i._buildMessage(e,{isOffLineMessage:!1});i.logger.warn(me.P_SEND_MSG_R,JSON.stringify({code:t,messageId:n.messageId}),s),n.sentTime=Date.now()-i._cppProtocol.getDeltaTime(),setTimeout((function(){p({code:t,data:n})}),0)}),e,t,a,JSON.stringify(c),y,P,K,W,v,_,h,B,Y,m,T,JSON.stringify(C),I,O,U),R=JSON.parse(E);null==r||r(R.messageId)}))},e.prototype.recallMsg=function(e,t,n,r,s){var i=this;return new Promise((function(a){var c,u=s.user,p=s.pushContent,l=s.channelId,d=s.extra,h=s.pushConfig,f=s.disableNotification,g=s.isDelete,v=s.directionalUserIdList,C={conversationType:e,targetId:t,messageUId:n,sentTime:r,user:u,extra:d,channelId:l,isDelete:g||!1};u&&(C.user=u),d&&(C.extra=d);var _={conversationType:e,targetId:t,senderUserId:i.tcpMgr.getCurrentUserId(),content:C,objectName:J.RECALL,messageUid:n,direction:A.SEND,status:D.UNREAD,sentTime:r,channelId:l},S=i._buildMessage(JSON.stringify(_),{isOffLineMessage:!1});i._callCppProxy("recallMessage",(function(){i.handleRecalledMessage(S),setTimeout((function(){a({code:o.SUCCESS,data:S})}),0)}),(function(e){setTimeout((function(){a({code:e})}),0)}),J.RECALL,JSON.stringify(C),f||!1,(null==h?void 0:h.disablePushTitle)||!1,(null==h?void 0:h.forceShowDetailContent)||!1,p||"",(null==h?void 0:h.pushData)||"",(null===(c=null==h?void 0:h.androidConfig)||void 0===c?void 0:c.notificationId)||"",(null==h?void 0:h.pushTitle)||"",F(null==h?void 0:h.iOSConfig,null==h?void 0:h.androidConfig),(null==h?void 0:h.templateId)||"",l,v||[])}))},e.prototype.getHistoryMessage=function(e,t,n,r,s,i,a){var c=this;return new Promise((function(u){n=n||0;var p=0===s,l=r+1,d=c._callCppProxy("getHistoryMessages",e,t,n,l,a,p,i),h=JSON.parse(d).list,f=[];h.reverse();for(var g=0;g<h.length;g++){var v=c._buildMessage(h[g].obj);f[g]=v}u({code:o.SUCCESS,data:{list:l===f.length?f.slice(1,l):f,hasMore:r<f.length}})}))},e.prototype.getMessages=function(e,t,n,r,s,i){var a=this;return new Promise((function(c){var u=0===s,p=n,l=0!==n,d=r+1;l&&(p+=u?1:-1,d++);for(var h=a._callCppProxy("getMessages",e,t,p,d,u,i),f=JSON.parse(h).list,g=[],v=0;v<f.length;v++){var C=a._buildMessage(f[v].obj);g[v]=C}var _=a._computeRepairInfo(g,u,n,p,d),S=_.isNeedRepair,y=void 0!==S&&S,m=_.repairTime,P=void 0===m?0:m;if(!y)return l&&(g.shift(),d--),g.reverse(),void c({code:o.SUCCESS,data:{list:d===g.length?g.slice(1,d):g,hasMore:r<g.length}});a._processRepairHisMsg(e,t,n,r,s,i,P,c)}))},e.prototype._computeRepairInfo=function(e,t,n,o,r){var s=!1,i=0,a=this.getNaviInfoFromCache()||{},c=a.repairHisMsg,u=void 0===c?0:c,p=a.historyMsg;if(1!==u||!p)return{isNeedRepair:s,repairTime:i};var l=e.findIndex((function(e){return e.hasMore||0===Object.keys(e.content).length}));return t&&l>=0?(s=!0,i=e[l].hasMore?e[l].sentTime:e[l].sentTime+1):!t&&l>=1?(s=!0,i=e[l-1].sentTime):e.length<r||0===n?(s=!0,i=n):e.length>0&&e[0].sentTime!==n&&(s=!0,i=o),{isNeedRepair:s,repairTime:i}},e.prototype._processRepairHisMsg=function(e,t,n,o,r,s,i,a){var c=this,u=function(i){for(var u=0===r,p=o+1,l=c._callCppProxy("getMessages",e,t,n,p,u,s),d=JSON.parse(l).list,h=[],f=0;f<d.length;f++){var g=c._buildMessage(d[f].obj);h[f]=g}h.reverse(),a({code:i,data:{list:p<=h.length?h.slice(1,p):h,hasMore:o<h.length}})},p=o+10>100?100:o+10;this._callCppProxy("getRemoteHistoryMessages",e,t,i,p,(function(){return u(0)}),(function(e){u(e)}),r,!0,s,!1)},e.prototype.getContinuousMessages=function(e,t,n,r,s,i){var a=this;return new Promise((function(c){n=n||0;var u=0===s;a._callCppProxy("getContinuousMessages",e,t,n,r,(function(e,t,n){var r=JSON.parse(e).list,s=[];r.reverse();for(var i=0;i<r.length;i++){var u=a._buildMessage(r[i].obj);s[i]=u}setTimeout((function(){c({code:o.SUCCESS,data:{list:s,timestamp:t,hasMore:n}})}))}),(function(e){setTimeout((function(){c({code:e})}),0)}),u,i)}))},e.prototype.getRemoteHistoryMessages=function(e,t,n,r,s,i){var a=this;return new Promise((function(c){n=n||0;a._callCppProxy("getRemoteHistoryMessages",e,t,n,r,(function(e,t){var n=JSON.parse(e).list,r=[];n.reverse();for(var s=0;s<n.length;s++){var i=a._buildMessage(n[s].obj);r[s]=i}setTimeout((function(){c({code:o.SUCCESS,data:{list:r,hasMore:!!t}})}),0)}),(function(e){setTimeout((function(){c({code:e})}),0)}),s,!0,i,!0)}))},e.prototype.deleteRemoteMessage=function(e,t,n,r){var s=this;return new Promise((function(i){var a=JSON.stringify(n);s._callCppProxy("deleteRemoteHistoryMessages",e,t,a,!1,r,(function(){setTimeout((function(){i(o.SUCCESS)}),0)}),i)}))},e.prototype.deleteRemoteMessageByTimestamp=function(e,t,n,r){var s=this;return new Promise((function(i){s._callCppProxy("clearRemoteHistoryMessages",e,t,n,(function(){setTimeout((function(){i(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){i(e)}),0)}),r)}))},e.prototype.clearMessages=function(e,t,n){var r=this;return new Promise((function(s){r._callCppProxy("clearMessages",e,t,n),s(o.SUCCESS)}))},e.prototype.getConversationList=function(e,t,n,r,s){var i=this;return void 0===s&&(s=""),new Promise((function(e){for(var t=i._callCppProxy("getConversationList",[1,3,6,7],s),n=JSON.parse(t).list,r=[],a=0;a<n.length;a++)r.push(i._buildConversation(n[a].obj));e({code:o.SUCCESS,data:r})}))},e.prototype.getConversation=function(e,t,n){var r=this;return new Promise((function(s){var i=r._callCppProxy("getConversation",e,t,n);if(i)s({code:o.SUCCESS,data:r._buildConversation(i)});else{var a=r._callCppProxy("getHistoryMessages",e,t,0,1,"",!0,n),c=void 0;try{c=JSON.parse(a).list}catch(e){r.logger.error(me.P_PARSE_JSON_MSGS_E,null==e?void 0:e.stack),c=[]}var u=null;c.length>0&&(u=r._buildMessage(c[0].obj));var p=r._callCppProxy("getConversationNotificationStatus",e,t,n),l=r._callCppProxy("getConversationTopStatus",e,t,n);s({code:o.SUCCESS,data:{conversationType:e,targetId:t,channelId:n,unreadMessageCount:0,latestMessage:u,notificationStatus:p?k.OPEN:k.CLOSE,isTop:Boolean(l),lastUnreadTime:0}})}}))},e.prototype.removeConversation=function(e,t,n){var r=this._callCppProxy("removeConversation",e,t,n);return Promise.resolve(r?o.SUCCESS:o.CONVER_REMOVE_ERROR)},e.prototype.batchRemoveConversation=function(e){var t=e.map((function(e){return{conversation_type:e.conversationType,target_id:e.targetId,channel_id:e.channelId}})),n=this._callCppProxy("removeConversationInBatches",JSON.stringify(t));return Promise.resolve(n?o.SUCCESS:o.CONVER_REMOVE_ERROR)},e.prototype.clearConversations=function(e,t){var n=this;return new Promise((function(r){var s=[];s=H(e)?e:[M.PRIVATE,M.GROUP,M.SYSTEM,M.PUBLIC_SERVICE],n._callCppProxy("clearConversations",s,t||""),r(o.SUCCESS)}))},e.prototype.getAllConversationUnreadCount=function(e,t,n){var r=this._callCppProxy("getTotalUnreadCount",t,n,e);return Promise.resolve({code:o.SUCCESS,data:r})},e.prototype.getConversationUnreadCount=function(e,t,n){var r=this;return void 0===n&&(n=""),new Promise((function(s){var i=r._callCppProxy("getUnreadCount",e,t,n);s({code:o.SUCCESS,data:i})}))},e.prototype.clearConversationUnreadCount=function(e,t,n){var r=this;return void 0===n&&(n=""),new Promise((function(s){r._callCppProxy("clearUnreadCount",e,t,n),s(o.SUCCESS)}))},e.prototype.clearUnreadCountByTimestamp=function(e,t,n,r){var s=this;return new Promise((function(i){s._callCppProxy("clearUnreadCountByTimestamp",e,t,n,r),i(o.SUCCESS)}))},e.prototype.getFirstUnreadMessage=function(e,t,n){var r=this;return new Promise((function(s){var i=r._callCppProxy("getTheFirstUnreadMessage",e,t,n),a=r._buildMessage(i);s({code:o.SUCCESS,data:-1!==a.messageId?a:null})}))},e.prototype.getFirstUnreadMessageInfo=function(e,t,n){var r=this;return new Promise((function(s,i){var a=r._callCppProxy("getTheFirstUnreadMessage",e,t,n),c=r._buildMessage(a);s({code:o.SUCCESS,data:-1!==c.messageId?{messageUId:c.messageUId,sentTime:c.sentTime}:null})}))},e.prototype.batchSetConversationToTop=function(e,t,n){var r=this;return new Promise((function(s,i){var a=e.map((function(e){return{conversation_type:e.conversationType,target_id:e.targetId,channel_id:e.channelId,is_top:t}}));r._callCppProxy("setIsTopInBatches",JSON.stringify(a),n||!1),s(o.SUCCESS)}))},e.prototype.setConversationStatus=function(e,t,n,r,s,i){var a=this;return new Promise((function(i){a._callCppProxy("setConversationStatus",e,t,n,r,(function(){setTimeout((function(){i(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){i(e)}),0)}),s,!0)}))},e.prototype.getConversationNotificationStatus=function(e,t,n){var r=this;return new Promise((function(s){var i=r._callCppProxy("getConversationNotificationStatus",e,t,n);s({code:o.SUCCESS,data:i?k.OPEN:k.CLOSE})}))},e.prototype.setConversationTypeNotificationLevel=function(e,t){var n=this;return new Promise((function(r,s){n._callCppProxy("setBlockPushLevelForType",e,t,(function(){r({code:o.SUCCESS})}),(function(e){r({code:e})}))}))},e.prototype.getConversationTypeNotificationLevel=function(e){var t=this;return new Promise((function(n,r){var s=t._callCppProxy("getBlockPushLevelForType",e);n({code:o.SUCCESS,data:s})}))},e.prototype.searchConversationByContent=function(e,t,n,r){var s=this;return new Promise((function(i){r=r||[1,3,6,7];for(var a=s._callCppProxy("searchConversationByContent",r,e,t,n),c=JSON.parse(a).list,u=[],p=0;p<c.length;p++)u[p]=s._buildConversation(c[p].obj);i({code:o.SUCCESS,data:u})}))},e.prototype.searchConversationByContentWithAllChannel=function(e,t,n){var r=this;return new Promise((function(s){n=n||[1,3,6,7];for(var i=r._callCppProxy("searchConversationByContentWithAllChannel",n,e,t),a=JSON.parse(i).list,c=[],u=0;u<a.length;u++)c[u]=r._buildConversation(a[u].obj);s({code:o.SUCCESS,data:c})}))},e.prototype.searchMessageByContent=function(e,t,n,r,s,i,a){var c=this;return new Promise((function(i){c._callCppProxy("searchMessageByContent",e,t,n,r,s,1,(function(e,t){for(var n=e?JSON.parse(e).list:[],r=[],s=0;s<n.length;s++)r[s]=c._buildMessage(n[s].obj);setTimeout((function(){i({code:o.SUCCESS,data:{messages:r,count:t}})}),0)}),a)}))},e.prototype.searchMessageByContentAndMessageType=function(e,t,n,r,s,i,a){var c=this;return new Promise((function(u){for(var p=c._callCppProxy("searchMessageByContentAndObjectName",t,e,a||"",void 0===a,n,i,s,r),l=p?JSON.parse(p).list:[],d=[],h=0;h<l.length;h++)d[h]=c._buildMessage(l[h].obj);u({code:o.SUCCESS,data:{messages:d}})}))},e.prototype.searchMessagesByUser=function(e,t,n,r,s,i){var a=this;return new Promise((function(c){a._callCppProxy("getMessageBySender",e,t,n,r,s,i,(function(e){for(var t=e?JSON.parse(e).list:[],n=[],r=0;r<t.length;r++)n[r]=a._buildMessage(t[r].obj);setTimeout((function(){c({code:o.SUCCESS,data:{messages:n}})}),0)}))}))},e.prototype.searchMessageByContentWithAllChannel=function(e,t,n,r,s){var i=this;return new Promise((function(a){i._callCppProxy("searchMessageByContentWithAllChannel",e,t,n,r,s,1,(function(e,t){for(var n=e?JSON.parse(e).list:[],r=[],s=0;s<n.length;s++)r[s]=i._buildMessage(n[s].obj);setTimeout((function(){a({code:o.SUCCESS,data:{messages:r,count:t}})}),0)}))}))},e.prototype.searchMessageByContentInTimeRangeWithAllChannel=function(e,t,n,r,s,i,a){var c=this;return new Promise((function(u){c._callCppProxy("searchMessageByTimestampWithAllChannel",e,t,n,r,s,i,a,(function(e){for(var t=e?JSON.parse(e).list:[],n=[],r=0;r<t.length;r++)n[r]=c._buildMessage(t[r].obj);setTimeout((function(){u({code:o.SUCCESS,data:{messages:n}})}),0)}))}))},e.prototype.getUnreadMentionedMessages=function(e,t,n){for(var o=JSON.parse(this._callCppProxy("getUnreadMentionedMessages",e,t,n)).list,r=0;r<o.length;r++)o[r]=this._buildMessage(o[r].obj);return o},e.prototype.addToBlacklist=function(e){var t=this;return new Promise((function(n){t._callCppProxy("addToBlacklist",e,(function(){setTimeout((function(){n(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){n(e)}),0)}))}))},e.prototype.removeFromBlacklist=function(e){var t=this;return new Promise((function(n){t._callCppProxy("removeFromBlacklist",e,(function(){setTimeout((function(){n(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){n(e)}),0)}))}))},e.prototype.getBlacklist=function(){var e=this;return new Promise((function(t){e._callCppProxy("getBlacklist",(function(e){setTimeout((function(){t({code:o.SUCCESS,data:e})}),0)}),(function(e){setTimeout((function(){t({code:e})}),0)}))}))},e.prototype.getBlacklistStatus=function(e){var t=this;return new Promise((function(n){t._callCppProxy("getBlacklistStatus",e,(function(e){setTimeout((function(){n({code:o.SUCCESS,data:e})}),0)}),(function(e){setTimeout((function(){n({code:e})}),0)}))}))},e.prototype.insertMessage=function(e,t,n){var r=this,s=n.content,i=n.senderUserId,a=n.messageType,c=n.messageDirection,u=n.readStatus,p=n.sentStatus,l=n.sentTime,d=n.searchContent,h=n.isUnread,f=n.messageUId,g=n.disableNotification,v=n.canIncludeExpansion,C=n.expansionMsg,_=n.channelId,S=n.directedUserIds;s=JSON.stringify(s);var y={};if(l=l||0,C){var m=JSON.parse(C);for(var P in m)y[P]={v:"",ts:0},y[P].v=m[P],y[P].ts=l}return new Promise((function(n){var C=h?0:1,m=r._callCppProxy("insertMessage",e,t,i,a,s,(function(){}),(function(e){setTimeout((function(){n({code:e})}),0)}),c,u||0,p||10,l,d||"",C,f||"",!!g,!!v,JSON.stringify(y),_||"",S||[]),P=r._buildMessage(m,{isOffLineMessage:!1});P.messageUId=f,P.sentTime=l,n({code:-1===P.messageId?o.MSG_INSERT_ERROR:o.SUCCESS,data:P})}))},e.prototype.batchInsertMessage=function(e,t){var n=this;return void 0===t&&(t=!1),new Promise((function(r){var s=e.map((function(e){var t=e.content,n=e.senderUserId,o=e.messageType,r=e.messageDirection,s=e.receivedStatus,i=void 0===s?0:s,a=e.sentStatus,c=e.sentTime,u=e.searchContent,p=e.isUnread,l=e.messageUId,d=e.disableNotification,h=e.canIncludeExpansion,f=e.expansion,g=e.channelId,v=e.conversationType,C=e.targetId,_=e.source,S=e.isMentioned,y=e.receivedStatusInfo,m=e.directedUserIds,P=i;y&&(P=V(y));var E={};if(c=c||0,f)for(var T in f)E[T]={v:"",ts:0},E[T].v=f[T],E[T].ts=c;return{conversationType:v,targetId:C,channelId:g||"",direction:r,senderUserId:n,status:a||10,sentTime:c,objectName:o,content:JSON.stringify(t),messageUid:l||"",noNotification:!!d,supportExt:!!h,extMsg:JSON.stringify(E),readStatus:P,searchContent:u||"",isUnread:!!p,source:_||"",isMention:S,directedUsers:m}})),i=n._callCppProxy("insertMessages",JSON.stringify(s),t);r({code:i?o.SUCCESS:o.MSG_INSERT_ERROR,data:i||!1})}))},e.prototype.getMessageCount=function(e,t,n){var r=this;return new Promise((function(s){var i=r._callCppProxy("getMessageCount",e,t,n);s({code:o.SUCCESS,data:i})}))},e.prototype.deleteMessages=function(e){var t=this;return new Promise((function(n){t._callCppProxy("deleteMessages",e),n(o.SUCCESS)}))},e.prototype.deleteMessagesByTimestamp=function(e,t,n,r,s){var i=this;return new Promise((function(a){i._callCppProxy("deleteMessagesByTimestamp",e,t,n,r,s),a(o.SUCCESS)}))},e.prototype.batchClearMessagesByTimestamp=function(e){var t=this;return new Promise((function(n,r){var s=e.map((function(e){return{conversation_type:e.conversationType,target_id:e.targetId,channel_id:e.channelId||"",send_time:e.timestamp}}));t._callCppProxy("deleteMessageBySendTimeInBatches",JSON.stringify(s)),n(o.SUCCESS)}))},e.prototype.batchClearRemoteHistoryMessages=function(e,t){var n=this;return new Promise((function(r,s){var i=e.map((function(e){return{conversation_type:e.conversationType,target_id:e.targetId,channel_id:e.channelId||"",send_time:e.timestamp}}));n._callCppProxy("deleteRemoteMessageBySendTimeInBatches",JSON.stringify(i),t||!1,(function(){setTimeout((function(){r(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){r(e)}),0)}))}))},e.prototype.getMessage=function(e){var t=this;return new Promise((function(n){var r=t._callCppProxy("getMessage",e),s=t._buildMessage(r,{isOffLineMessage:!1});n({code:o.SUCCESS,data:s})}))},e.prototype.setMessageContent=function(e,t,n){var r=this;return new Promise((function(s){t=JSON.stringify(t),r._callCppProxy("setMessageContent",e,t,n),s(o.SUCCESS)}))},e.prototype.setMessageSearchField=function(e,t,n){var r=this;return new Promise((function(s){r._callCppProxy("setMessageSearchField",e,t,n),s(o.SUCCESS)}))},e.prototype.setMessageSentStatus=function(e,t){var n=this;return new Promise((function(r){n._callCppProxy("setMessageSentStatus",e,t),r(o.SUCCESS)}))},e.prototype.setMessageReceivedStatus=function(e,t){var n=this;return new Promise((function(r){n._callCppProxy("setMessageReceivedStatus",e,t),r(o.SUCCESS)}))},e.prototype.saveConversationMessageDraft=function(e,t,n,r){var s=this;return new Promise((function(i){s._callCppProxy("saveTextMessageDraft",e,t,n,r||"")&&i(o.SUCCESS),i(o.DRAFT_SAVE_ERROR)}))},e.prototype.getConversationMessageDraft=function(e,t,n){var r=this;return new Promise((function(s){var i=r._callCppProxy("getTextMessageDraft",e,t,n||"");s({code:o.SUCCESS,data:i})}))},e.prototype.clearConversationMessageDraft=function(e,t,n){var r=this;return new Promise((function(s){r._callCppProxy("clearTextMessageDraft",e,t,n||"")&&s(o.SUCCESS),s(o.DRAFT_REMOVE_ERROR)}))},e.prototype.pullConversationStatus=function(e){throw new Error("Method not implemented.")},e.prototype.batchSetConversationStatus=function(e){var t=e[0],n=t.conversationType,o=t.targetId,r=t.isTop,s=t.notificationStatus,i=t.channelId,a=t.isUpdateTime,c=void 0===a||a,u=this._callCppProxy("getConversationNotificationStatus",n,o,i||""),p=this._callCppProxy("getConversationTopStatus",n,o,i||""),l=x(s)?Boolean(u):s===k.OPEN,d=x(r)?Boolean(p):r;return this.setConversationStatus(n,o,l,d,i,c)},e.prototype.getConversationNotificationLevel=function(e,t,n){return Ee(this,void 0,void 0,(function(){var r;return Te(this,(function(s){return r=this._callCppProxy("getBlockPushLevelForConversation",t,n,e),[2,Promise.resolve({code:o.SUCCESS,data:r})]}))}))},e.prototype.setConversationNotificationLevel=function(e,t,n,r){var s=this;return void 0===r&&(r=""),new Promise((function(i){s._callCppProxy("setBlockPushLevelForConversation",t,r,e,n,(function(){setTimeout((function(){i(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){i(e)}),0)}))}))},e.prototype.batchSetConversationNotificationLevel=function(e,t){var n=this;return new Promise((function(r,s){var i=e.map((function(e){return{conversation_type:e.conversationType,target_id:e.targetId,channel_id:e.channelId,level:t}}));n._callCppProxy("setBlockPushLevelInBatches",JSON.stringify(i),(function(){setTimeout((function(){r(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){r(e)}),0)}))}))},e.prototype.getTotalUnreadCountByLevels=function(e,t,n){if(n){var r=this._callCppProxy("getUnreadMentionedCountByLevel",e,t);return Promise.resolve({code:o.SUCCESS,data:r})}var s=this._callCppProxy("getUnreadCountByLevel",e,t);return Promise.resolve({code:o.SUCCESS,data:s})},e.prototype.pullUserSettings=function(e){throw new Error("Method not implemented.")},e.prototype.sendReadReceiptMessage=function(e,t,n){var r=this;return new Promise((function(s){r._callCppProxy("sendReadReceipt",e,n||"",t,(function(){t.forEach((function(e){r._updateReadReceiptInfo(e,{hasRespond:!0});try{var t=JSON.parse(r._callCppProxy("getMessage",e)).messageId;r.setMessageReceivedStatus(t,1)}catch(t){r.logger.error(me.P_PARSE_JSON_MSGS_E,JSON.stringify({messageUId:e,error:null==t?void 0:t.stack}))}})),setTimeout((function(){s({code:o.SUCCESS})}),0)}),(function(e){setTimeout((function(){s({code:e})}),0)}))}))},e.prototype.getMessageReader=function(e,t,n){var r=this;return new Promise((function(s){r._callCppProxy("getMessageReader",e,n,t,(function(e,n){var i=[],a={};(e=JSON.parse(e)).list.forEach((function(e){var t=JSON.parse(e.obj),n=t.id,o=t.time;i.push({userId:n,readTime:o}),a[n]=o}));var c={readerInfo:a,readCount:i.length,totalCount:n};r._updateReadReceiptInfo(t,c),setTimeout((function(){s({code:o.SUCCESS,data:{list:i,totalMemberCount:n}})}),0)}),(function(e){setTimeout((function(){s({code:e})}),0)}))}))},e.prototype.sendReadReceiptMessageV4=function(e,t,n){var r=this;return new Promise((function(s){var i=e.conversationType,a=e.targetId,c=e.channelId;r._callCppProxy("sendMessageReadReceipt",i,a,c||"",t,n,(function(){setTimeout((function(){s({code:o.SUCCESS})}),0)}),(function(e){setTimeout((function(){s({code:e})}),0)}))}))},e.prototype.getMessageReadReceiptV4=function(e,t){var n=this;return new Promise((function(r){var s=e.targetId,i=e.channelId;n._callCppProxy("getMessageReadReceipt",s,i||"",t,(function(e,s,i){var a=[],c=n._callCppProxy("getMessage",t),u=JSON.parse(c);try{JSON.parse(i).list.forEach((function(e){var t=JSON.parse(e.obj),n=t.id,o=t.time;a.push({userId:n,readTime:o})}))}catch(e){n.logger.error(me.P_PARSE_JSON_E,"method: getMessageReadReceipt, info: "+i+", error: "+e)}var p=JSON.parse(u.readReceiptRequest||"{}"),l=p.readerList,d=void 0===l?[]:l,h=p.readCount,f=void 0===h?0:h,g=!1;d.length<a.length&&(d=a,g=!0),f<s&&(f=s,g=!0),g&&n._callCppProxy("updateReadReceiptRequestInfo",t,JSON.stringify({readerList:d,readCount:f,totalCount:e})),setTimeout((function(){r({code:o.SUCCESS,data:{list:a,totalCount:e,readCount:f}})}),0)}),(function(e){setTimeout((function(){r({code:e})}),0)}))}))},e.prototype.updateConversationReadTime=function(e,t){var n=this;return new Promise((function(r){var s=e.conversationType,i=e.targetId,a=e.channelId;n._callCppProxy("updateConversationReadTime",s,i,a||"",t,(function(){setTimeout((function(){r({code:o.SUCCESS})}),0)}),(function(e){setTimeout((function(){r({code:e})}),0)}))}))},e.prototype._addChatroomCache=function(e,t,n){this._rmChatroomCache(e),this._chatroomCache.push({chatroomId:e,joinExist:n,count:t})},e.prototype._rmChatroomCache=function(e){this._chatroomCache=this._chatroomCache.filter((function(t){return t.chatroomId!==e}))},e.prototype._try2RejoinChatroom=function(){var e=this;if(0!==this._chatroomCache.length){var t=this.logger.createTraceId();this._chatroomCache.forEach((function(n){return Ee(e,void 0,void 0,(function(){var e,r,i,a,c,u;return Te(this,(function(p){switch(p.label){case 0:return e=n.chatroomId,r=n.joinExist,i=n.count,this.logger.info(s.L_REJOIN_CHATROOM_T,e,t),[4,this._joinChrm(e,i,r,!1)];case 1:return a=p.sent(),c=a.code,u=a.data,c===o.SUCCESS?(this.logger.info(s.L_REJOIN_CHATROOM_R,e,t),this._sendChatroomStatus({rejoinedRoom:Pe({chatroomId:e,count:i},u)}),[2]):(c===o.RC_CHATROOM_USER_KICKED&&this._rmChatroomCache(e),this._sendChatroomStatus({rejoinedRoom:{chatroomId:e,errorCode:c}}),this.logger.warn(s.L_REJOIN_CHATROOM_R,"chrmId: "+e+", code: "+c,t),[2])}}))}))}))}},e.prototype._joinChrm=function(e,t,n,r){var s=this,i=n?"joinExistChatRoom":"joinChatRoom";return new Promise((function(a){r&&s._callCppProxy("clearMessages",M.CHATROOM,e,""),s._callCppProxy(i,e,t,(function(r,i,c,u,p,l){s._addChatroomCache(e,t,n),setTimeout((function(){a({code:o.SUCCESS,data:{createTime:Number(r),memberCount:i,isAllChatroomBanned:c,isCurrentUserBanned:u,isCurrentChatroomBanned:p,isCurrentChatroomInWhitelist:l}})}),0)}),(function(e){setTimeout((function(){a({code:e})}),0)}))}))},e.prototype.joinChatroom=function(e,t){return Ee(this,void 0,void 0,(function(){return Te(this,(function(n){switch(n.label){case 0:return[4,this._joinChrm(e,t,!1,!0)];case 1:return[2,n.sent().code]}}))}))},e.prototype.joinExistChatroom=function(e,t){return this._joinChrm(e,t,!0,!0)},e.prototype.quitChatroom=function(e){var t=this;return this._rmChatroomCache(e),new Promise((function(n){t._callCppProxy("quitChatRoom",e,(function(){setTimeout((function(){n(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){n(e)}),0)}))}))},e.prototype.getChatroomInfo=function(e,t,n){var r=this;return new Promise((function(s){r._callCppProxy("getChatroomInfo",e,t,n,(function(e,t){var n=e?JSON.parse(e).list:[],r=[];if(n.length>0)for(var i=0;i<n.length;i++)r.push(JSON.parse(n[i].obj));setTimeout((function(){s({code:o.SUCCESS,data:{userInfos:r,userCount:t}})}),0)}),(function(e){setTimeout((function(){s({code:e})}),0)}))}))},e.prototype.getChatroomHistoryMessages=function(e,t,n,r){var s=this;return new Promise((function(i){s._callCppProxy("getChatroomHistoryMessage",e,t,n,r,(function(e){var t;try{t=JSON.parse(e)}catch(e){t={list:[],hasMore:!1}}var n=t.list;if(n&&n.length)try{t.list=n.map((function(e){return s._buildMessage(e.obj)}))}catch(e){t.list=[]}setTimeout((function(){i({code:o.SUCCESS,data:t})}),0)}),(function(e){setTimeout((function(){i({code:e})}),0)}),"")}))},e.prototype.setChatroomEntry=function(e,t){var n=this;return new Promise((function(r){var s='[{"key":"'+t.key+'", "value":"'+t.value+'"}]';n._callCppProxy("setChatroomKV",e,s,!!t.isAutoDelete,!!t.isOverwrite,(function(){setTimeout((function(){r(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){r(e)}),0)}))}))},e.prototype.setChatroomEntries=function(e,t){var n=this;return new Promise((function(r){n._callCppProxy("setChatroomKV",e,JSON.stringify(t.entries),!!t.isAutoDelete,!!t.isOverwrite,(function(){r({code:o.SUCCESS})}),(function(e){r({code:e})}))}))},e.prototype.forceSetChatroomEntry=function(e,t){return t.isOverwrite=!0,t.userId=t.userId||this.tcpMgr.getCurrentUserId(),this.setChatroomEntry(e,t)},e.prototype.removeChatroomEntry=function(e,t){var n=this,r=[t.key];return new Promise((function(s){n._callCppProxy("deleteChatroomKV",e,r,!!t.isOverwrite,(function(){s(o.SUCCESS)}),(function(e){s(e)}))}))},e.prototype.forceRemoveChatroomEntry=function(e,t){return t.isOverwrite=!0,t.userId=t.userId||this.tcpMgr.getCurrentUserId(),this.removeChatroomEntry(e,t)},e.prototype.removeChatroomEntries=function(e,t){var n=this;return new Promise((function(r){var s=t.entries.map((function(e){return e.key}));n._callCppProxy("deleteChatroomKV",e,s,!!t.isOverwrite,(function(){r({code:o.SUCCESS})}),(function(e){r({code:e})}))}))},e.prototype.getChatroomEntry=function(e,t){return Ee(this,void 0,void 0,(function(){var n;return Te(this,(function(r){switch(r.label){case 0:return[4,this.getAllChatroomEntry(e)];case 1:return(n=r.sent()).code===o.SUCCESS?[2,{code:o.SUCCESS,data:n.data?n.data[t]:null}]:[2,{code:n.code}]}}))}))},e.prototype.getAllChatroomEntry=function(e){var t=this;return new Promise((function(n){t._callCppProxy("getChatroomKV",e,(function(e){var t={};try{(e?JSON.parse(e):{list:[]}).list.map((function(e){return JSON.parse(e.obj)})).forEach((function(e){t[e.key]=e.value?e.value:""}))}catch(e){}setTimeout((function(){n({code:o.SUCCESS,data:t})}),0)}),(function(e){setTimeout((function(){n({code:e})}),0)}))}))},e.prototype.getFileToken=function(e,t,n,r,s){var i=this;return n=n||"",r=r||"",s=s||"",new Promise((function(a){var c;c=r&&"uploads"!==r?t||"":G(e,t);var u=i.getNaviInfoFromCache(),p={uploadDomain:q(u,i.logger),env:i._environment};i._callCppProxy("getUploadToken",e,c,n,r,s,JSON.stringify(p),(function(e,t,n,r,s,i,u,p,l,d,h,f,g,v,C,_,S,y,m,P,E,T,R){setTimeout((function(){a({code:o.SUCCESS,data:{token:e,deadline:0,bosToken:t,bosDate:n,path:r,osskeyId:s,ossPolicy:i,ossSign:u,ossBucketName:p,fileName:c,s3Credential:l,s3Algorithm:d,s3Date:h,s3Policy:f,s3Signature:g,s3BucketName:v,stcAuthorization:C,stcContentSha256:_,stcDate:S,stcBucketName:y,minioAuthorization:m,minioContentSha256:P,minioDate:E,minioBucketName:T,downloadAuthInfo:R?JSON.parse(R):null}})}),0)}),(function(e){setTimeout((function(){a({code:e})}),0)}))}))},e.prototype.getFileUrl=function(e,t,n,r){var s=this;return new Promise((function(i){var a=s.getNaviInfoFromCache(),c={url:q(a,s.logger)};s._callCppProxy("getDownloadUrl",e,n,r,t-1,JSON.stringify(c),(function(e){setTimeout((function(){i({code:o.SUCCESS,data:{downloadUrl:e}})}),0)}),(function(e){setTimeout((function(){i({code:e})}),0)}))}))},e.prototype.clearData=function(){var e=this;return new Promise((function(t){var n=e._callCppProxy("clearData");t({code:o.SUCCESS,data:n})}))},e.prototype.getDeviceId=function(){var e=this._dbpath;return dt(e)},e.prototype.getVoIPKey=function(e,t){var n=this;return new Promise((function(r){n._callCppProxy("getVoIPKey",e,t,"",(function(e){setTimeout((function(){r({code:o.SUCCESS,data:e})}),0)}),(function(e){setTimeout((function(){r({code:e})}),0)}))}))},e.prototype.bindRTCRoomForChatroom=function(e){var t=this;return new Promise((function(n){var r=e.chatRoomId,s=e.rtcRoomId;t._callCppProxy("bindRTCRoomForChatroom",r,s,(function(){setTimeout((function(){n(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){n(e)}),0)}))}))},e.prototype.getGroupMessageDeliverList=function(e,t,n){var r=this;return new Promise((function(s){r._callCppProxy("getGroupMessageDeliverList",e,n,t,(function(e,t){var n=JSON.parse(e).list.map((function(e){return{time:JSON.parse(e.obj).time,userId:JSON.parse(e.obj).id}}));setTimeout((function(){s({code:o.SUCCESS,data:{totalCount:t,list:n}})}),0)}),(function(e){setTimeout((function(){s({code:e})}),0)}))}))},e.prototype.getPrivateMessageDeliverTime=function(e,t){var n=this;return new Promise((function(r){var s=n._callCppProxy("getMessageDeliverTime",e);if(s)r({code:o.SUCCESS,data:s});else{n._callCppProxy("getPrivateMessageDeliverList",t,e,(function(e){var t=0,n=JSON.parse(e).list;if(n.length>0){var s=JSON.parse(n[0].obj).time;t=s}setTimeout((function(){r({code:o.SUCCESS,data:t})}),0)}),(function(e){setTimeout((function(){r({code:e})}),0)}))}}))},e.prototype.rtcSignaling=function(e,t,n,r){var s=this;return new Promise((function(i){s._callCppProxy("rtcSignaling",e,t,n,r,(function(e){var t=Array.prototype.slice.call(e);i({code:o.SUCCESS,buffer:t})}),(function(e){i({code:e})}),30)}))},e.prototype._setRTCHeartbeatListener=function(){var e=this;this._cppProtocol.setRTCHeartbeatListener((function(t,n){var o=e.rtcHeartbeatResolves[t];if(o){var r=o.find((function(e){return""===e.seqId}));r&&(r.seqId=n)}}),(function(t,n,o,r){var s=e.rtcHeartbeatResolves[t];if(s){var i=s.findIndex((function(e){return e.seqId===o}));-1!==i&&s.splice(i,1)[0].resolve({code:n,data:{version:Number(r)}})}}))},e.prototype.rtcPing=function(e,t,n){var o=this;return new Promise((function(t){var n={resolve:t,seqId:""},r=o.rtcHeartbeatResolves[e];r?r.push(n):o.rtcHeartbeatResolves[e]=[n],o._callCppProxy("sendRTCHeartbeat",[e],30)}))},e.prototype.createTag=function(e){var t=this;return new Promise((function(n){t._callCppProxy("addTag",e.tagId,e.tagName,(function(){setTimeout((function(){n({code:o.SUCCESS})}),0)}),(function(e){setTimeout((function(){n({code:e})}),0)}))}))},e.prototype.removeTag=function(e){var t=this;return new Promise((function(n){t._callCppProxy("deleteTag",e,(function(){setTimeout((function(){n({code:o.SUCCESS})}),0)}),(function(e){setTimeout((function(){n({code:e})}),0)}))}))},e.prototype.updateTag=function(e){var t=this;return new Promise((function(n){t._callCppProxy("renameTag",e.tagId,e.tagName,(function(){setTimeout((function(){n({code:o.SUCCESS})}),0)}),(function(e){setTimeout((function(){n({code:e})}),0)}))}))},e.prototype.getTagList=function(){var e=this;return new Promise((function(t){var n=e._callCppProxy("getTags"),r=e._convertResultList(n,(function(e){return{tagId:e.tagId,tagName:e.tagName,conversationCount:e.conversationCount,createdTime:e.tagTime}}));t({code:o.SUCCESS,data:r})}))},e.prototype.addTagForConversations=function(e,t){var n=this;return new Promise((function(r){t.forEach((function(e){e.conversationType&&(e.type=e.conversationType)}));n._callCppProxy("addConversationsForTag",e,JSON.stringify(t),(function(){setTimeout((function(){r({code:o.SUCCESS})}),0)}),(function(e){setTimeout((function(){r({code:e})}),0)}))}))},e.prototype.removeTagForConversations=function(e,t){var n=this;return new Promise((function(r){t.forEach((function(e){e.conversationType&&(e.type=e.conversationType)})),n._callCppProxy("removeConversationsForTag",e,JSON.stringify(t),(function(){setTimeout((function(){r({code:o.SUCCESS})}),0)}),(function(e){setTimeout((function(){r({code:e})}),0)}))}))},e.prototype.removeTagsForConversation=function(e,t){var n=this;return new Promise((function(r){n._callCppProxy("removeTagsForConversation",e.conversationType,e.targetId,e.channelId||"",t,(function(){setTimeout((function(){r({code:o.SUCCESS})}),0)}),(function(e){setTimeout((function(){r({code:e})}),0)}))}))},e.prototype.getConversationListByTag=function(e,t,n,r){var s=this;return new Promise((function(i){var a=s._callCppProxy("getConversationsForTagByPage",e,t,n||20,r||""),c=s._convertResultList(a,(function(e){return Pe(Pe({},s._buildConversation(JSON.stringify(e))),{isTopInTag:e.topForTag})}));i({code:o.SUCCESS,data:c})}))},e.prototype.getUnreadCountByTag=function(e,t){var n=this;return new Promise((function(r){var s=n._callCppProxy("getConversationUnreadCountForTag",e,t);r({code:o.SUCCESS,data:s})}))},e.prototype.setConversationStatusInTag=function(e,t,n){var r=this;return new Promise((function(s){r._callCppProxy("setConversationToTopForTag",e,t.conversationType,t.targetId,t.channelId||"",n.isTop||!1,(function(){setTimeout((function(){s({code:o.SUCCESS})}),0)}),(function(e){setTimeout((function(){s({code:e})}),0)}))}))},e.prototype.getTagsForConversation=function(e){var t=this;return new Promise((function(n){var r=t._callCppProxy("getTagsForConversation",e.conversationType,e.targetId,e.channelId||""),s=t._convertResultList(r,(function(e){return{tagId:e.tagId,tagName:e.tagName,isTop:e.isTop,createdTime:e.tagTime}}));n({code:o.SUCCESS,data:s})}))},e.prototype.getBlockConversationList=function(){throw new Error("Method not implemented.")},e.prototype.getTopConversationList=function(e,t){var n=this;return new Promise((function(r){var s=x(t)?n._callCppProxy("getTopConversations",e):n._callCppProxy("getTopConversations",e,t),i=JSON.parse(s).list.map((function(e){return n._buildConversation(e.obj)}));r({code:o.SUCCESS,data:i})}))},e.prototype.getUnreadMentionedCount=function(e){throw new Error("Method not implemented.")},e.prototype.getAllUnreadMentionedCount=function(){var e=this;return new Promise((function(t){var n=e._callCppProxy("getUnreadAndMentionCount",[M.GROUP],"");t({code:o.SUCCESS,data:n})}))},e.prototype.getOSInfo=function(){return Ee(this,void 0,void 0,(function(){var e;return Te(this,(function(t){return e={arch:ee.arch(),platform:ee.platform(),type:ee.type(),version:ee.version(),release:ee.release(),uptime:ee.uptime(),cpus:ee.cpus(),freemem:ee.freemem(),totalmem:ee.totalmem(),networkInterfaces:ee.networkInterfaces()},[2,{code:o.SUCCESS,data:e}]}))}))},e.prototype.getMainProcessInfo=function(){return Ee(this,void 0,void 0,(function(){return Te(this,(function(e){return[2,{code:o.SUCCESS,data:{title:process.title,pid:process.pid,ppid:process.ppid,platform:process.platform,arch:process.arch,uptime:process.uptime(),cpuUsage:process.cpuUsage(),memoryUsage:process.memoryUsage(),resourceUsage:process.resourceUsage()}}]}))}))},e.prototype.setCallInfo=function(e,t,n){var r=this;return new Promise((function(s){r._callCppProxy("callInfoSignaling",e,t,n,(function(e,t){setTimeout((function(){s({code:o.SUCCESS,data:{key:e,value:t}})}),0)}),(function(e){setTimeout((function(){s({code:e})}),0)}))}))},e.prototype.setProxy=function(e){return this.tcpMgr.getConnectionStatus()!==_.DISCONNECTED?Promise.resolve({code:o.RC_CONN_PROXY_UNAVAILABLE}):Promise.resolve($e(e,this.logger))},e.prototype.getProxy=function(){return Promise.resolve(Ze())},e.prototype.testProxy=function(e,t){return function(e,t,n){return new Promise((function(o){var r=/^https/.test(t)?Ye:Ke;n.info(s.A_TEST_PROXY_O,JSON.stringify({msg:"test proxy",proxy:e,testHost:t}));var i=r(t,e,(function(e){var t=200===e.statusCode?0:e.statusCode;e.setEncoding("utf8");var n="";e.on("data",(function(e){n+=e})),e.once("end",(function(){o({status:t||0,data:n})}))}));i.once("timeout",(function(){return o({status:0})})),i.once("error",(function(e){return o({status:0,data:e.stack})})),i.end()}))}(e,t,this.logger)},e.prototype.checkDuplicateMessage=function(e){var t=this;return new Promise((function(n){var r=t._callCppProxy("checkDuplicateMessage",e);n({code:o.SUCCESS,data:r})}))},e.prototype.subscribeUser=function(e,t,n){var r=this;return new Promise((function(s){r._callCppProxy("updateSubscribeStatus",t,K.SUBSCRIBE,e,(function(){s({code:o.SUCCESS})}),(function(e,t){s({code:e,data:t})}),n)}))},e.prototype.unSubscribeUser=function(e,t){var n=this;return new Promise((function(r){n._callCppProxy("updateSubscribeStatus",t,K.UNSUBSCRIBE,e,(function(){r({code:o.SUCCESS})}),(function(e){r({code:e})}),0)}))},e.prototype.getSubscribeUserList=function(e,t,n){var r=this._callCppProxy("getSubscribeUserList",e,t,n),s=this._buildSubscribeEventData(r).map((function(e){var t=e.userId,n=e.subscribeType,o=e.subscribeTime,r=e.duration,s=e.details;return{userId:t,subscribeType:n,subscribeTime:o,expiry:r,details:Q(s)}}));return Promise.resolve({code:o.SUCCESS,data:s})},e.prototype.setDuplicateMessageConfig=function(e){var t=this._callCppProxy("setDuplicateMessageConfig",[M.CHATROOM],yt.cuid,e);return Promise.resolve({code:t})},e.prototype.getSubscribeUserStatus=function(e,t){var n=this._callCppProxy("getSubscribeStatusByUserIds",e,t),r=this._buildSubscribeEventData(n).map((function(e){var t=e.userId,n=e.subscribeType,o=e.subscribeTime,r=e.duration,s=e.details;return{userId:t,subscribeType:n,subscribeTime:o,expiry:r,details:Q(s)}}));return Promise.resolve({code:o.SUCCESS,data:r})},e.prototype.getMatchedMessage=function(e,t,n,r){var s,i=this._callCppProxy("getMatchedMessage",e.conversationType,e.targetId,t,n,r,e.channelId||""),a=[];try{s=JSON.parse(i).list;for(var c=0;c<s.length;c++){var u=this._buildMessage(s[c].obj);a.push(u)}}catch(e){return this.logger.error(me.P_PARSE_JSON_MSGS_E,i),Promise.resolve({code:o.MAIN_PROCESS_ERROR})}return Promise.resolve({code:o.SUCCESS,data:a})},e.prototype.getConversations=function(e){var t,n=this,r=e.map((function(e){var t=e.conversationType,n=e.targetId,o=e.channelId;return{targetId:n,channelId:void 0===o?"":o,type:t}})),s=this._callCppProxy("getConversations",JSON.stringify(r));try{t=JSON.parse(s).list.map((function(e){return n._buildConversation(e.obj)}))}catch(e){return this.logger.error(me.P_PARSE_JSON_MSGS_E,s),Promise.resolve({code:o.MAIN_PROCESS_ERROR})}return Promise.resolve({code:o.SUCCESS,data:t})},e}(),It=$(__dirname,"binding","electron-"+ne()+"-"+te()+".node"),Nt={addon:null},Ot=(Tt=process,{sendError:function(e){Tt.send({type:et.ERROR,data:{msg:e}})},sendEvent:function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];Tt.send({type:et.EVENT,data:{eventName:e,data:t}})},sendResponse:function(e){Tt.send({type:et.RESPONSE,data:e})},sendCallback:function(e){Tt.send({type:et.CALLBACK,data:e})}}).sendError;try{Nt.addon=require(It)}catch(e){console.error("error ->",It,"\n",e),Ot(e.toString())}Nt.addon||console.error("error -> cannot find module: ",It);var Mt,bt=Nt.addon,Ut=function(){function e(e,t,n,o,r){this.sendCallback=r,this._cppService=new Rt(e,bt,t,o,n)}return e.prototype.call=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return Ee(this,void 0,void 0,(function(){var n,o=this;return Te(this,(function(r){switch(r.label){case 0:return"sendMessage"===e&&(t[3]=function(e){var n=t[3];o.sendCallback({reqId:n,data:e})}),[4,(n=this._cppService).callProxy.apply(n,Re([e],t,!1))];case 1:return[2,{success:!0,data:r.sent()}]}}))}))},e.prototype.send=function(e){for(var t,n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];(t=this._cppService).sendProxy.apply(t,Re([e],n,!1))},e.prototype.destroy=function(){this._cppService.destroy()},e}(),xt=function(){function e(e,t,n,o){var r=this;this._appkey=e,this._dbpath=t,this._logOutputLevel=n,this._runInMainProcess=o,this._catch={crtUserId:"",connectedTime:0,naviInfo:null,connectionStatus:2,deviceId:"",deltaTime:0},this._connectionStatus=_.DISCONNECTED,this._connectInfo={token:"",reconnectKickEnable:!1,openCallPlus:!1,traceId:""},this._registerMessageTypeList=[],this._isProcessQuit=!1,this._senders={},this._callbackCache={},this._createServiceProxy(),Y.on("__RC_CHANNEL_CALL_MAIN_SYNC__",(function(e,t){for(var n=[],o=2;o<arguments.length;o++)n[o-2]=arguments[o];return Ee(r,void 0,void 0,(function(){var o,r;return Te(this,(function(s){switch(s.label){case 0:return[4,(r=this._cppServiceProcessProxy).call.apply(r,Re([t],n,!1))];case 1:return o=s.sent(),e.returnValue=o.data,[2]}}))}))})),Y.on("__RC_CHANNEL_CALL_MAIN__",(function(e,t,n){for(var o=[],s=3;s<arguments.length;s++)o[s-3]=arguments[s];return Ee(r,void 0,void 0,(function(){var r,s,i;return Te(this,(function(a){switch(a.label){case 0:return"sendMessage"===n&&(r=o[3],this._callbackCache[r]=e.sender),"connect"===n&&(this._connectInfo={token:o[0],reconnectKickEnable:o[1],openCallPlus:o[2],traceId:o[3]}),"registerMessageType"===n&&this._registerMessageTypeList.push({objectName:o[0],isPersited:o[1],isCounted:o[2],searchProps:o[3]}),[4,(i=this._cppServiceProcessProxy).call.apply(i,Re([n],o,!1))];case 1:if(!(s=a.sent()).success)throw new Error(s.data.msg);return this._send2Renderer(e.sender,"__RC_CHANNEL_RESULT_FROM_MAIN__",t,s.data),[2]}}))}))})),Y.on("__RC_CHANNEL_SEND_2_MAIN__",(function(e,t){for(var n,o=[],s=2;s<arguments.length;s++)o[s-2]=arguments[s];(n=r._cppServiceProcessProxy).send.apply(n,Re([t],o,!1))})),Y.on("__RC_INNER_COMMAND_INIT__",this._registerRenderers.bind(this)),X.on("before-quit",(function(){r._isProcessQuit=!0,r.destroy()})),X.on("window-all-closed",(function(){r._isProcessQuit=!0,r.destroy()}))}return e.prototype._send2Renderer=function(e,t){for(var n=[],o=2;o<arguments.length;o++)n[o-2]=arguments[o];e.isDestroyed()?delete this._senders[e.id]:e.send.apply(e,Re([t],n,!1))},e.prototype._send2AllRenderer=function(e,t,n){var o=this;void 0===n&&(n=[]),Object.keys(this._senders).forEach((function(r){var s=o._senders[r];n.includes(s)||o._send2Renderer(s,"__RC_CHANNEL_NOTIFICATION_FROM_MAIN__",e,t)}))},e.prototype._registerRenderers=function(e,t){var n=this,o=e.sender,r=o.id;this._cppServiceProcessProxy.send("registerRenderers",t),this._senders[r]||(this._senders[r]=o,o.once("destroyed",(function(){delete n._senders[r]})))},e.prototype.getMainCache=function(){return this._catch},e.prototype._restartSubProcessProxy=function(){var e=this;if(this._createServiceProxy(),this._connectionStatus!==_.DISCONNECTED){this._send2AllRenderer("onSuspend",o.SUB_PROCESS_EXIT),this._registerMessageTypeList.forEach((function(t){e._cppServiceProcessProxy.send("registerMessageType",t.objectName,t.isPersited,t.isCounted,t.searchProps)}));var t=this._connectInfo,n=t.token,r=t.reconnectKickEnable,s=t.openCallPlus,i=t.traceId;this._cppServiceProcessProxy.send("connect",n,r,s,i)}},e.prototype._eventNotifyHandler=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var o=t[0],r=t[1];switch(e){case"onConnected":this._catch=o,this._connectionStatus=_.CONNECTED;break;case"onSuspend":this._connectionStatus=_.SUSPENDED;break;case"onDisconnected":this._connectionStatus=_.DISCONNECTED;break;case"onConnecting":this._connectionStatus=_.CONNECTING}this._send2AllRenderer(e,o,r)},e.prototype._callbackHandler=function(e){var t=e.reqId,n=e.data;this._callbackCache[t]&&this._send2Renderer(this._callbackCache[t],"__RC_CHANNEL_RESULT_FROM_MAIN__",t,n)},e.prototype._createServiceProxy=function(){var e=this,t=this._dbpath||$(X.getPath("userData"));if(this._runInMainProcess)this._cppServiceProcessProxy=new Ut(this._appkey,t,this._logOutputLevel,this._eventNotifyHandler.bind(this),this._callbackHandler.bind(this));else{var n=z($(__dirname,"cppServiceProcess.js"),[this._appkey,t,this._logOutputLevel.toString()]);this._cppServiceProcessProxy=new ft(n,this._eventNotifyHandler.bind(this),this._callbackHandler.bind(this),(function(t,n){void 0===n&&(n=!1);var o="sub process exit, msg: "+t+", isRestart: "+n+", _isProcessQuit: "+e._isProcessQuit;if(console.error(o),n&&!e._isProcessQuit)return e._restartSubProcessProxy()}))}},e.prototype.destroy=function(){this._cppServiceProcessProxy.destroy()},e}(),Lt=function(){function e(e,t,n,o){this._rcMain=new xt(e,t,n,o)}return e.prototype.getCppProto=function(){var e=this;return{destroy:function(){console.warn("`.getCppProto().destroy()` has being deprecated, use `.destroy()` instead."),e.destroy()}}},e.prototype.destroy=function(){this._rcMain.destroy()},e.prototype.getDeviceId=function(){return this._rcMain.getMainCache().deviceId},e.prototype.getServerTime=function(){return this._rcMain.getMainCache().connectedTime},e}(),wt=function(e){return function(e,t){if(Mt)return Mt;if(!e)throw new Error("Initializ failed, `appkey` is required!");return Mt=new Lt(e,(null==t?void 0:t.dbpath)||"",(null==t?void 0:t.logOutputLevel)||W.WARN,(null==t?void 0:t.runInMainProcess)||!1)}(e.appkey,e)};export{wt as default};
1
+ import{BasicLogger as e,BasicStatistic as t,appendUrl as n,ErrorCode as o,HTTP_TIMEOUT as r,LogTagId as i,StoreKeys as s,BasicReporter as a,REAT_TIME_LOG_SIZE as c,EConnectProtocol as u,notEmptyObject as p,NAVI_CACHE_DURATION as l,BasicNavi as d,FORMATED_VERSION as f,NAVI_REQ_TIMEOUT as h,getbundleId as g,StatisticsVersion as v,StatisticsTag as C,RCConnectionStatus as _,ProtocalType as S,ConnectType as y,AConnectionMgr as m,BasicStaticConfigManager as P,STATIC_CONFIG_IV as E,STATIC_CONFIG_KEY as T,BaseCloudController as R,SubscribeType as I,urlCenter as N,isStartCloudController as O,InvokerType as M,ConversationType as b,SEND_MESSAGE_TYPE_OPTION as U,isObject as x,isUndefined as L,pushJSONToConfigs as w,transformReceivedStatusInfo as A,MessageDirection as k,ReceivedStatus as D,NotificationStatus as J,MessageType as B,RC_DEFAULT_USER as j,pushConfigsToJSON as F,isArray as H,transformReceivedStatusFlag as V,getUploadFileName as G,getMinionURL as q,SubscribeOperationType as K,completeSubscriptionPlatformStatus as Q,LogL as W}from"@rongcloud/engine";import{ipcMain as Y,app as X}from"electron";import{fork as z}from"child_process";import{resolve as $,dirname as Z}from"path";import*as ee from"os";import{arch as te,platform as ne,networkInterfaces as oe}from"os";import{Agent as re,request as ie}from"http";import{Agent as se,request as ae}from"https";import ce from"zlib";import{parse as ue}from"url";import{isIP as pe,Socket as le}from"net";import{EventEmitter as de}from"events";import{connect as fe}from"tls";import{existsSync as he,readFileSync as ge,writeFileSync as ve,mkdirSync as Ce}from"fs";import{createHash as _e,createDecipheriv as Se}from"crypto";
2
+ /*! *****************************************************************************
3
+ Copyright (c) Microsoft Corporation.
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
+ PERFORMANCE OF THIS SOFTWARE.
15
+ ***************************************************************************** */var ye=function(e,t){return ye=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},ye(e,t)};function me(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}ye(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var Pe,Ee=function(){return Ee=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},Ee.apply(this,arguments)};function Te(e,t,n,o){return new(n||(n=Promise))((function(r,i){function s(e){try{c(o.next(e))}catch(e){i(e)}}function a(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((o=o.apply(e,t||[])).next())}))}function Re(e,t){var n,o,r,i,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,o&&(r=2&i[0]?o.return:i[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,i[1])).done)return r;switch(o=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,o=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){s.label=i[1];break}if(6===i[0]&&s.label<r[1]){s.label=r[1],r=i;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(i);break}r[2]&&s.ops.pop(),s.trys.pop();continue}i=t.call(e,s)}catch(e){i=[6,e],o=0}finally{n=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}}function Ie(e,t,n){if(n||2===arguments.length)for(var o,r=0,i=t.length;r<i;r++)!o&&r in t||(o||(o=Array.prototype.slice.call(t,0,r)),o[r]=t[r]);return e.concat(o||Array.prototype.slice.call(t))}!function(e){e.P_INIT_O="P-init-O",e.P_DB_OPEN_O="P-db_open-O",e.P_CALL_MAIN_SYNC_E="P-call_main_sync-E",e.P_CALL_MAIN_E="P-call_main-E",e.P_SEND_2_MAIN_E="P-send_2_main-E",e.P_REGTYP_O="P-regtype-O",e.P_CALL_ADDON_E="P-call_addon-E",e.P_CALL_ADDON_T="P-call_addon-T",e.P_CALL_ADDON_O="P-call_addon-O",e.P_CALL_ADDON_R="P-call_addon-R",e.P_CALL_EXTRA_E="P-call_extra-E",e.P_CONNECT_S="P-connect-S",e.P_CONNECT_T="P-connect-T",e.P_CONNECT_O="P-connect-O",e.P_CONNECT_ENTRY_S="P-connect_entry-S",e.P_REPORT_VER_O="P-report_version-O",e.P_PARSE_JSON_MSGS_E="P-parse_json_messsages-E",e.P_PARSE_JSON_MSGS_R="P-parse_json_messsages-R",e.P_RECEIVE_MESSAGE_E="P-receive_message-E",e.P_HTTP_REQ_E="P-http_request-E",e.P_SET_MSG_EXTEN_O="P-set_msg_extension-O",e.P_SEND_MSG_T="P-send_msg-T",e.P_SEND_MSG_R="P-send_msg-R",e.P_PARSE_JSON_SUBSCRIBE_DATA_E="P-parse_json_subscribe_data-E",e.P_PARSE_JSON_USER_PROFILE_E="P-parse_json_user_profile-E",e.P_PARSE_JSON_USER_PROFILE_LIST_E="P-parse_json_user_profile_list-E",e.P_WRITE_LOG_T="P_WRITE_LOG_T",e.P_WRITE_LOG_R="P_WRITE_LOG_R",e.P_PARSE_JSON_E="P-parse_json-E"}(Pe||(Pe={}));var Ne,Oe={flushTimestamp:Date.now(),queue:[],locked:!1};function Me(){Ne&&clearInterval(Ne)}function be(e,t){Me(),Ne=setInterval((function(){return Le(e,t)}),1e4)}function Ue(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];(e=Oe.queue).push.apply(e,t)}var xe=200;function Le(e,t){var n=Oe.queue,o=Oe.flushTimestamp;if(!(Oe.locked||0===n.length||Date.now()-o<3e4&&n.length<xe)){Oe.locked=!0;var r=t.createTraceId(),i=t.getSessionId(),s=n.splice(0,xe).map((function(e){var t=e.sessionId,n=e.level,o=e.time,r=e.type,s=e.tag,a=e.loggerId,c=e.content,u=e.traceId;return{level:n,time:o,type:r,tag:s,sessionId:i+":"+t,content:JSON.stringify({loggerId:a,content:c,traceId:u})}}));t.debug(Pe.P_WRITE_LOG_T,"writingLen: "+s.length+", queueLen: "+n.length,r);var a=JSON.stringify(s);e.writeLog(a),t.debug(Pe.P_WRITE_LOG_R,"write done, queueLen: "+n.length,r),Oe.flushTimestamp=Date.now(),Oe.locked=!1,setTimeout((function(){return Le(e,t)}))}}var we=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return me(t,e),t.prototype.flush=function(e){Ue(e)},t}(e),Ae=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return me(t,e),t.prototype.flush=function(e){Ue(e)},t}(t),ke=function(e,t){var n,o=Buffer.from(e),r=o.length;for(t.push(r),n=0;n<r;n++)t.push(o[n])},De=function(e){return"string"==typeof e},Je=function(e){return De(e)?e.toUpperCase():""},Be=function(e,t){var n="";return 2!==e.length?n="Unexpected number of bytes received.":5!==e[0]?n="Unexpected SOCKS version number: "+e[0]+".":255===e[1]?n="No acceptable authentication methods were offered.":-1===t.indexOf(e[1])&&(n="Unexpected SOCKS authentication method: "+e[1]+"."),n},je=function(e){var t="";return 2!==e.length?t="Unexpected number of bytes received.":1!==e[0]?t="Unexpected authentication method code: "+e[0]+".":0!==e[1]&&(t="Username and password authentication failure: "+e[1]+"."),t},Fe=function(e){var t=Je(e.method)||"GET",n=e.pathname||"/",o=e.headers||{},r=e.search||"";o.Host=e.host||"loclahost";var i="";for(var s in i=t+" "+(n+r)+" HTTP/1.1\n",o){if(Object.hasOwnProperty.call(o,s))i+=s+": "+o[s]+"\n"}return e.body&&(i+="Content-Length: "+e.body.length+"\n"),i+="\n","POST"===t&&e.body&&(i+=""+e.body),i},He=function(e){return new Promise((function(t){var n,o;e.socket.once("data",(function(o){var r,i=Be(o,n);if(!i)return 2===o[1]?(e.socket.once("data",(function(n){var o=je(n);o?e.emit("error",new Error("SOCKS authentication failed. "+o)):t()})),r=[1],ke(e.socksUsername,r),ke(e.socksPassword,r),void e.write(Buffer.from(r))):void t();e.emit("error",new Error("SOCKS authentication failed. "+i))})),n=[0],e.socksUsername&&n.push(2),(o=Buffer.alloc(2+n.length))[0]=5,o[1]=n.length,n.forEach((function(e,t){o[2+t]=e})),e.write(o)}))},Ve=function(e,t,n){return new Promise((function(o){var r,i;switch(e.socket.once("data",(function(t){var n;5!==t[0]?n="Unexpected SOCKS version number: "+t[0]+".":0!==t[1]?n=function(e){switch(e){case 1:return"General SOCKS server failure";case 2:return"Connection not allowed by ruleset";case 3:return"Network unreachable";case 4:return"Host unreachable";case 5:return"Connection refused";case 6:return"TTL expired";case 7:return"Command not supported";case 8:return"Address type not supported";default:return"Unknown status code "+e}}(t[1])+".":0!==t[2]&&(n="The reserved byte must be 0x00."),n?e.emit("error",new Error("SOCKS connection failed. "+n)):o()})),(r=[]).push(5),r.push(1),r.push(0),pe(t)){case 0:r.push(3),ke(t,r);break;case 4:r.push(1),function(e,t){var n,o,r=e.split(".");for(n=0;n<4;n++)o=parseInt(r[n],10),t.push(o)}(t,r);break;case 6:e.emit("error",new Error("Does not support IPV6"))}r.length+=2,(i=Buffer.from(r)).writeUInt16BE(n,i.length-2),e.write(i)}))},Ge=function(e){function t(t){var n=e.call(this)||this;return n.readable=!0,n.socket=new le,n.options=t,n.socksHost=t.socksHost||"localhost",n.socksPort=t.socksPort||1080,n.socksUsername=t.socksUsername||"",n.socksPassword=t.socksPassword||"",n.socket.on("error",(function(e){n.emit("error",e)})),n.on("error",(function(){n.socket.destroyed||n.socket.destroy()})),n.on("end",n.end),n}return me(t,e),t.prototype.ref=function(){return this.socket.ref()},t.prototype.unref=function(){return this.socket.unref()},t.prototype.setTimeout=function(e,t){return this.socket.setTimeout(e,t)},t.prototype.setNoDelay=function(e){return this.socket.setNoDelay(e)},t.prototype.setKeepAlive=function(e,t){return this.socket.setKeepAlive(e,t)},t.prototype.address=function(){return this.socket.address()},t.prototype.cork=function(){return this.socket.cork()},t.prototype.uncork=function(){return this.socket.uncork()},t.prototype.pause=function(){return this.socket.pause()},t.prototype.resume=function(){return this.socket.resume()},t.prototype.pipe=function(e){return this.socket.pipe(e)},t.prototype.end=function(e,t){var n=this.socket.end(e,t);return this.writable=this.socket.writable,n},t.prototype.destroy=function(e){return this.socket.destroy(e)},t.prototype.setEncoding=function(e){return this.socket.setEncoding(e)},t.prototype.write=function(e,t,n){return this.socket.write(e,t,n)},t.prototype.read=function(e){return this.socket.read(e)},t.prototype.connect=function(e,t){var n=this;if("string"==typeof e&&/^\d+$/.test(e)&&(e=parseInt(e,10)),!Number.isInteger(e)||e<1||e>65535)throw new TypeError("Invalid port: "+e);if(!t||"string"!=typeof t)throw new TypeError("Invalid host: "+t);return this.socket.connect({port:this.socksPort,host:this.socksHost},(function(){return Te(n,void 0,void 0,(function(){var n;return Re(this,(function(o){switch(o.label){case 0:return[4,He(this)];case 1:return o.sent(),[4,Ve(this,t,e)];case 2:return o.sent(),this.onProxied(),n=Fe(this.options),this.socket.write(Buffer.from(n)),[2]}}))}))})),this},t.prototype.onProxied=function(){var e=this;this.socket.on("close",(function(t){e.emit("close",t)})),this.socket.on("end",(function(){e.emit("end")})),this.socket.on("data",(function(t){e.emit("data",t)})),this.writable=!0,this.readable=!0,this.emit("connect")},t}(de),qe=function(e){var t,n=e.hostname,o=e.port;return!e.host||n&&o||(t=e.host.split(":")),!o&&t&&(o=parseInt(t[1],10)||0),!n&&t&&(n=t[0]),new Ge(e).connect(o,n)},Ke=function(e){function t(t){var n=e.call(this)||this;return n.createConnection=qe,n}return me(t,e),t}(re),Qe=function(e,t,n){return(t=Ee(Ee({},t),ue(e))).port||(t.port=80),t.agent=new Ke(t),ie(t,n)},We=function(e){var t,n;return t=qe(e),n=t.onProxied,t.onProxied=function(){e.socket=t.socket,e.hostname?e.servername=e.hostname:e.host&&(e.servername=e.host.split(":")[0]),t.socket=fe(e,(function(){t.authorized=t.socket.authorized,n.call(t)})),t.socket.on("error",(function(e){t.emit("error",e)}))},t},Ye=function(e){function t(t,n){var o=e.call(this,n)||this;return o.url=t,o.socksHost=n.socksHost||"localhost",o.socksPort=n.socksPort||1080,o.createConnection=We,o}return me(t,e),t}(se),Xe=function(e,t,n,o){var r,i;return t.protocol="https:",!t.port&&t.host&&(r=t.host.split(":"),t.port=r[0],t.port=r[1]),t.port||(t.port=443),i=new Ye(e,t),t.agent=i,ae(e,t,n)},ze=null;function $e(e,t,o){void 0===o&&(o=!1);var i=t.url,s=t.headers,a=t.body,c=t.method,u=t.query,p=t.timeout,l=void 0===p?r:p;return new Promise((function(t){var r=/^https/.test(i),p={headers:Ee(Ee({},s),{"Accept-Encoding":"gzip, br"}),method:c};r&&(p.rejectUnauthorized=o);var d=null;ze?((p=Ee(Ee({},p),ze)).body=a,d=r?Xe:Qe):(d=ie,r&&(p.agent=new se(p),d=ae));var f=d(n(i,u),p,(function(e){var n,o,r=e.statusCode,i="";if("gzip"===(null===(n=e.headers)||void 0===n?void 0:n["content-encoding"])){var s=ce.createGunzip();e.pipe(s),s.on("data",(function(e){i+=e})),s.on("end",(function(){t({status:r,data:i})}))}else if("br"===(null===(o=e.headers)||void 0===o?void 0:o["content-encoding"])){var a=ce.createBrotliDecompress();e.pipe(a),a.on("data",(function(e){i+=e})),a.on("end",(function(){t({status:r,data:i})}))}else e.setEncoding("utf8"),e.on("data",(function(e){i+=e})),e.once("end",(function(){t({status:r||0,data:i})}))}));f.once("timeout",(function(){e.warn(Pe.P_HTTP_REQ_E,JSON.stringify({msg:"timeout",url:i,method:c,query:u,timeout:l})),t({status:0})})),f.setTimeout(l),f.once("error",(function(n){e.warn(Pe.P_HTTP_REQ_E,JSON.stringify({msg:n.stack,url:i,method:c,query:u,timeout:l})),t({status:0})})),f.write(a),f.end()}))}function Ze(e,t){return e?(ze=Ee(Ee({},ze),e),t.info(i.A_SET_PROXY_O,JSON.stringify({msg:"set proxy",data:ze})),{code:o.SUCCESS}):(ze=null,t.info(i.A_REMOVE_PROXY_O,JSON.stringify({msg:"remove proxy"})),{code:o.SUCCESS})}function et(){var e=ze||void 0;return{code:o.SUCCESS,data:e}}var tt,nt=[],ot=!1,rt=function(){return Te(void 0,void 0,void 0,(function(){var e,t,n,o,r,i,s,a,u,p,l,d,f;return Re(this,(function(h){return ot||0===nt.length||(ot=!0,e=nt.shift(),t=e.args,n=e.resolve,o=t.addon,r=t.startTime,i=t.endTime,s=t.level,a=t.realtimeReport,u=0,p=0,l=[],d=function(e){u+=e.length;var t=e.split(","),o=t[0],r=t[1],i=t[2],d=t[3],f=t[4],h=t.slice(5);if(u>c&&parseInt(r,10)!==p)n(l);else{p=parseInt(r,10);try{if(!a&&s<0)return;var g={time:parseInt(r,10),level:parseInt(d,10),sessionId:o,type:i,tag:f,content:h.join(",")};l.push(g)}catch(e){console.error(e)}}},f=function(e){n(l),ot=!1,rt()},o.getFullLog(s,r,i,!1,d,f)),[2]}))}))},it=function(e){function t(t,n,o,r,i){var a=this,c="Electron|"+process.versions.electron+"|"+process.arch+"|"+process.platform;return a=e.call(this,n,o,c,{getLogs:function(e,n,o,r){return Te(this,void 0,void 0,(function(){return Re(this,(function(i){switch(i.label){case 0:return[4,(s={startTime:e,endTime:n,level:o,realtimeReport:r,addon:t},Te(void 0,void 0,void 0,(function(){return Re(this,(function(e){return[2,new Promise((function(e){nt.push({resolve:e,args:s}),rt()}))]}))})))];case 1:return[2,{logs:i.sent(),dbReady:!0}]}var s}))}))},getTimestamp4RealtimeLog:function(){var e=t.getStoreValue(s.REALTIME_LOG_TIMESTAMP);return parseInt(e,10)||0},setTimestamp4RealtimeLog:function(e){t.setStoreValue(s.REALTIME_LOG_TIMESTAMP,e.toString())}},r)||this,a.subProcess=i,a}return me(t,e),t.prototype.send=function(e){return $e(this.logger,e)},t.prototype.compressLogs=function(e){return Te(this,void 0,void 0,(function(){var t,n,o;return Re(this,(function(r){switch(r.label){case 0:return[4,this.subProcess.call("compressLogs",e)];case 1:return t=r.sent(),n=t.success,o=t.data,n?[2,{success:n,data:o.data}]:[2,{success:n,data:""}]}}))}))},t}(a),st=[u.RMTP,u.TLS,u.QUIC],at=function(e){return"RongCloud/navis/"+e+"/navi-cache.json"},ct="deviceId",ut=function(e){return"RongCloud/caches/"+e+"/staticConfig.json"},pt=function(e){return"RongCloud/cloudControl/"+e+"/cloudControl.json"},lt=null,dt=function(){var e,t=Date.now(),n=[te(),ne(),process.pid,t,Math.floor(Math.random()*t)].join("__");return e=n,_e("md5").update(e).digest("hex")},ft=function(e){if(lt)return lt;var t=$(e,ct);return he(t)?lt=ge(t).toString():(lt=dt(),ve(t,lt),lt)},ht=function(){function e(e){this._callCppProxy=e,this._setTime=15962112e5}return e.prototype._setToProtocol=function(e,t,n,o,r,i){var s=JSON.stringify(r);"{}"!==s&&e.info(Pe.P_SET_MSG_EXTEN_O,JSON.stringify({messageUId:o,ext:r})),this._callCppProxy("setMessageExtension",t,n,o,s,i)},e.prototype.setLocalFromReceiveMsg=function(e,t){var n=t.channelId,o=t.conversationType,r=t.targetId,i=t.messageUId,s=t.expansion,a=t.sentTime,c={};for(var u in s)c[u]={v:"",ts:0},c[u].v=s[u],c[u].ts=a;this._setToProtocol(e,o,r,i,c,n||"")},e.prototype.setLocalFromExtMsg=function(e,t){var n=t.channelId,o=t.conversationType,r=t.targetId,i=t.content,s=t.sentTime,a=i,c=a.put,u=this._callCppProxy("getMessage",a.mid),p=JSON.parse(u).extMsg,l=JSON.parse(p||"{}");if(c)for(var d in c){var f=l[d];f&&f.ts<s-this._setTime?(f.v=c[d],f.ts=s-this._setTime):(l[d]={v:"",ts:0},l[d].v=c[d],l[d].ts=s-this._setTime)}a.del&&a.del.forEach((function(e){delete l[e]})),this._setToProtocol(e,o,r,a.mid,l,n||"")},e.prototype.parseReceiveExpansion=function(e){var t=JSON.parse(e.extMsg||"{}"),n={};for(var o in t)n[o]=t[o].v;return n},e.prototype.parseConverOrHisExpansion=function(e){var t=JSON.parse(e.extMsg),n=JSON.parse(t||"{}"),o={};for(var r in n)o[r]=n[r].v;return o},e}();!function(e){e[e.ERROR=-1]="ERROR",e[e.RESPONSE=0]="RESPONSE",e[e.EVENT=1]="EVENT",e[e.CALLBACK=2]="CALLBACK"}(tt||(tt={}));var gt=function(){function e(e,t,n,r){var i=this;this.p=e,this.emit=t,this.callback=n,this.errorHandle=r,this.count=0,this.maps={},this.p.on("message",(function(e){var o=e.type,s=e.data;switch(o){case tt.EVENT:var a=s,c=a.eventName,u=a.data;null==t||t.apply(void 0,Ie([c],u,!1));break;case tt.RESPONSE:var p=s,l=p.reqId,d=p.success,f=p.data,h=i.maps[l];if(!h)return;h({success:d,data:f}),delete i.maps[l];break;case tt.CALLBACK:null==n||n(s);break;case tt.ERROR:var g=s.msg;null==r||r(g)}})),this.p.on("error",(function(e){null==r||r("SubProcessProxy error "+e)})),this.p.on("exit",(function(e,t){if(0!==e){for(var n in i.maps){if(Object.prototype.hasOwnProperty.call(i.maps,n))(0,i.maps[n])({success:!0,data:{code:o.SUB_PROCESS_EXIT,msg:"sub process exit"}})}null==r||r("SubProcessProxy exit "+e+" "+t,!0)}})),this.p.on("close",(function(e,t){console.log("SubProcessProxy close",e,t)}))}return e.prototype.call=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return Te(this,void 0,void 0,(function(){var n=this;return Re(this,(function(r){return this.p.killed||this.p.exitCode?[2,Promise.resolve({success:!1,data:{code:o.SUB_PROCESS_EXIT,msg:"sub process exit"}})]:[2,new Promise((function(o){var r=++n.count;n.maps[r]=o;var i={reqId:r,method:e,args:t,hasResponse:!0};n.p.send(i)}))]}))}))},e.prototype.send=function(e){for(var t,n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];return Te(this,void 0,void 0,(function(){var o;return Re(this,(function(r){return(this.p.killed||this.p.exitCode)&&(null===(t=this.errorHandle)||void 0===t||t.call(this,"sub process exit")),o={reqId:-1,method:e,args:n},this.p.send(o),[2]}))}))},e.prototype.destroy=function(){this.send("destroy")},e}();function vt(e){void 0===e&&(e="IPv4");for(var t=oe(),n=[],o=0,r=Object.values(t);o<r.length;o++){var i=r[o];if(i&&-1!==Object.prototype.toString.call(i).indexOf("Array")){var s=i.filter((function(t){return!(t.internal||(n=t.mac,/^(0{1,2}[:-]){5}0{1,2}$/.test(n))||t.family&&t.family!==e);var n})).map((function(e){return e.mac}));n.push.apply(n,s)}}return n.length?Ie([],n,!0).sort()[0]:""}var Ct,_t=function(e,t,n){return Te(void 0,void 0,void 0,(function(){var o,r;return Re(this,(function(i){return o=Se("aes-256-cbc",t,n),r=o.update(e,"base64","utf-8"),[2,r+=o.final("utf8")]}))}))},St=function(e){if(!he(e)){var t=$(e,"..");he(t)||St(t),Ce(e)}},yt=function(e){function t(t,n,o,r,i){var s=e.call(this,t,n,o,i)||this;s.naviPath="",s._caches={},s.naviPath=r+"/"+at(t);var a=Z(s.naviPath);return he(a)||St(a),s}return me(t,e),t.prototype.httpRequest=function(e,t,n,r){return Te(this,void 0,void 0,(function(){var s,a,c,u,p;return Re(this,(function(l){switch(l.label){case 0:return s="token="+encodeURIComponent(n)+"&v="+f+"&p=PC&ev=5.10.2&m="+vt(),a=e+"/navi.json?r="+Date.now()+"&env="+this._environment,this.logger.info(i.L_REQUEST_T,JSON.stringify({url:a,body:s}),r),[4,$e(this.logger,{method:"POST",headers:{appId:t},body:s,url:a,timeout:h})];case 1:if(200!==(c=l.sent()).status)return this.logger.warn(i.L_REQUEST_R,JSON.stringify({url:a,code:c.status}),r),[2,{code:this.transHttpCode(c.status)}];this.logger.info(i.L_REQUEST_R,JSON.stringify({url:a,data:c.data}),r);try{return u=JSON.parse(c.data),p=/^https/.test(a)?"https":"http",u.protocol=p,u.code&&200!==u.code?[2,{code:this.transHttpCode(u.code)}]:[2,{code:o.SUCCESS,data:u}]}catch(e){return this.logger.error(i.L_PARSE_NAVI_E,c.data,r),[2,{code:o.RC_NAVI_REQ_FAILED}]}return[2]}}))}))},t.prototype.httpRequestV2=function(e,t,n,r){return Te(this,void 0,void 0,(function(){var s,a,c,u;return Re(this,(function(p){switch(p.label){case 0:return s=this.getNaviV2RequestOption({appkey:t,token:n,uri:e,platform:"electron",protocol:st.join(","),mac:vt()}),this.logger.info(i.L_REQUEST_T,JSON.stringify({url:s.url,body:s.body,headers:s.headers}),r),[4,$e(this.logger,s)];case 1:if(200!==(a=p.sent()).status)return this.logger.warn(i.L_REQUEST_R,JSON.stringify({url:s.url,code:a.status}),r),[2,{code:this.transHttpCode(a.status)}];this.logger.info(i.L_REQUEST_R,JSON.stringify({url:s.url,data:a.data}),r);try{return c=JSON.parse(a.data),u=/^https/.test(s.url)?"https":"http",c.protocol=u,[2,{code:o.SUCCESS,data:c}]}catch(e){return this.logger.error(i.L_PARSE_NAVI_E,a.data,r),[2,{code:o.RC_NAVI_REQ_FAILED}]}return[2]}}))}))},t.prototype.getNaviCache=function(e){var t=this.getCatchKey(e),n=this._caches[t];if(n)return n;if(!he(this.naviPath))return null;var o=ge(this.naviPath,{encoding:"utf8"});try{return this._caches=JSON.parse(o),this._caches[t]}catch(e){this.logger.error(i.L_PARSE_NAVI_E,o)}return null},t.prototype.setNaviCache=function(e,t){var n=Date.now(),o=this.getCatchKey(e);if(p(this._caches))for(var r in this._caches){(n-this._caches[r].timestamp>l||o===r)&&delete this._caches[r]}this._caches[o]={token:e,naviInfo:t,timestamp:Date.now(),environment:this._environment},ve(this.naviPath,JSON.stringify(this._caches))},t.prototype.setEnvironment=function(e){this._environment=e},t}(d);!function(e){e[e.SUCCESS=0]="SUCCESS",e[e.NOT_INIT=-1]="NOT_INIT",e[e.CANCELED=-2]="CANCELED",e[e.REPEAT=-3]="REPEAT"}(Ct||(Ct={}));var mt,Pt=function(e){function t(t,n,r,i,s,a){var c=e.call(this,t,r,i,s,a)||this;return c.callCppProxy=n,c._connectedTime=0,c._naviInfo=null,c._excludeLogTag=["P-RCGetValueForKey-T","P-RCGetValueForKey-E","P-RCGetValueForKey-R","P-RCSetValueForKey-T","P-RCSetValueForKey-E","P-RCSetValueForKey-R"],c.connectResolve=null,c._startTime=0,c._tcpDuration=0,c.pingResolve=null,c.callCppProxy("setConnectionStatusListener",c._onConnectionStatusChange.bind(c),(function(e){c.logger.info(Pe.P_DB_OPEN_O,e)}),(function(){return c.recvPong(o.SUCCESS)}),c._onConnectionStatusChange.bind(c),c._onTcpConnectResponse.bind(c)),c}return me(t,e),t.prototype.getConnectedTime=function(){return this._connectedTime},t.prototype.connectWithToken=function(e,t,n,r){var i=this;return new Promise((function(s){i._naviInfo=t,i.connectResolve={resolve:s,traceId:r,userId:t.userId};var a={},c=et().data;c&&(a={proxy_passwd:c.socksPassword||"",proxy_name:c.socksUsername||"",proxy_port:c.socksPort||1082,proxy_host:c.socksHost||"localhost",proxy_type:0});var p=JSON.stringify(Ee(Ee({},a),{call_plus:i._openCallPlus})),l=i.getCmpList(t,!0).filter((function(e){return st.includes(e.protocol)})).sort((function(e,t){return e.weight>t.weight?-1:1})),d=[];l.forEach((function(e){var t=d.find((function(t){return t.addr===e.addr}));t?t.protocol!==u.QUIC&&e.protocol!==u.QUIC||(t.race=!0,t.protocol=u.QUIC):(e.race=!1,d.push(e))})),i.logger.info(Pe.P_CONNECT_O,JSON.stringify({use:d,catche:i.cmpWeightCache,proxy:a,FORMATED_VERSION:f,reconnectKickEnable:n}),r),i._startTime=Date.now();try{i.callCppProxy("connectWithToken",e,f,JSON.stringify(Ee(Ee({},t),{serverAddr:d,tagBlacklist:i._excludeLogTag.join(",")})),n,p)}catch(e){i.logger.error(Pe.P_CALL_ADDON_E,null==e?void 0:e.stack,r),i.recvConnectRes(o.RC_SOCKET_NOT_CREATED)}}))},t.prototype.close=function(e,t){void 0===t&&(t=!0),e||this.callCppProxy("disconnect",t)},t.prototype.sendPing=function(e){var t=this;return new Promise((function(n){t.pingResolve=n,t.callCppProxy("sendHeartbeat"),setTimeout((function(){return t.recvPong(o.TIMEOUT)}),e)}))},t.prototype.recvPong=function(e){this.pingResolve&&(this.pingResolve(e),this.pingResolve=null)},t.prototype._onConnectionStatusChange=function(e,t){switch(this.logger.info(Pe.P_CONNECT_S,JSON.stringify({status:e,delay:t})),e){case o.SUCCESS:this.recvConnectRes(o.SUCCESS);break;case o.RC_CONN_REDIRECTED:case 32061:this.recvConnectRes(o.RC_CONN_REDIRECTED,!0);break;case 11:case 10:case 12:break;case o.RC_SOCKET_DISCONNECTED:this.recvConnectRes(e,!1);break;case o.RC_SOCKET_NOT_CREATED:case o.RC_CONN_ACK_TIMEOUT:case o.RC_TCP_RESET:this.recvConnectRes(e);break;case o.RC_UDP_DISCONNECTED:this.recvConnectRes(e,!0,t);break;default:this.recvConnectRes(e,!0)}},t.prototype.recvConnectRes=function(e,t,n){if(this.connectResolve){var r=this.connectResolve,i=r.resolve,s=r.userId,a=Date.now()-(this._startTime+this._tcpDuration),c={bid:g(),cod:e,net:this.getNetwork().type,dur:a,spr:0,cid:this.uuid+"_"+this.retryCount,v:v.CURRENT,count:this.retryCount};return this.statisticLog.record(C.IM_CMP_RMTP,JSON.stringify(c)),e===o.SUCCESS&&(this._connectedTime=Date.now()-this.callCppProxy("getDeltaTime")),i({code:e,data:s}),void(this.connectResolve=null)}if(t)this.onDisconnectByServer(e,n);else{if(e===o.RC_SOCKET_DISCONNECTED)if(this.getConnectionStatus()!==_.CONNECTED)return;this.onDisconenctUnusual(e)}},t.prototype._onTcpConnectResponse=function(e,t,n,o,r,i,s){var a,c=this.cmpWeightCache.findIndex((function(e){return e.addr===t+":"+n})),u={bid:g(),ptc:S.TCP,cod:e,net:this.getNetwork().type,dur:o,spr:0,pr:(null===(a=this._naviInfo)||void 0===a?void 0:a.type)||0,hos:t+":"+n,idx:c,rct:this.retryCount?y.RECONNECT:y.CONNECT,cid:this.uuid+"_"+this.retryCount,v:v.CURRENT,rsn:this.reason,ddu:r,count:this.retryCount,weight:c>=0?this.cmpWeightCache[c].weight:-1};this.statisticLog.record(C.IM_CMP,JSON.stringify(u)),this.logger.info(Pe.P_CONNECT_ENTRY_S,JSON.stringify({code:e,host:t,port:n,duration:o,dnsDuration:r,index:i,isQuic:s})),e===Ct.SUCCESS&&(this.curCmpUrl=t+":"+n,this.updateCmpWeight(t+":"+n,!0,s))},t}(m),Et=function(e){function t(t,n,o){var r=e.call(this,t,n)||this;r.appkey=t,r.logger=n,r.dbpath=o,r._cachePath="",r._cachePath=o+"/"+ut(t);var i=Z(r._cachePath);return he(i)||St(i),r}return me(t,e),t.prototype.getCache=function(){return he(this._cachePath)&&ge(this._cachePath,{encoding:"utf8"})||null},t.prototype.setCache=function(e){ve(this._cachePath,e)},t.prototype.clearCache=function(){ve(this._cachePath,"")},t.prototype.sendRequest=function(e){return Te(this,void 0,void 0,(function(){var t,n,o;return Re(this,(function(r){switch(r.label){case 0:return[4,$e(this.logger,{url:e,body:""})];case 1:return t=r.sent(),n=t.status,o=t.data,[2,{code:n,data:o}]}}))}))},t.prototype.decryptData=function(e){return Te(this,void 0,void 0,(function(){var t,n;return Re(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),[4,_t(e,T,E)];case 1:return t=o.sent(),[2,JSON.parse(t)];case 2:return n=o.sent(),this.logger.error(i.L_GET_STATIC_CONF_E,JSON.stringify({error:null==n?void 0:n.stack})),[3,3];case 3:return[2]}}))}))},t}(P),Tt=function(e){function t(t,n,o,r,i,s,a){var c=e.call(this,n,t,o,s)||this;c.deviceId=r,c.model="",c.catchFilePath="",c.addon=a,c.model="Electron|"+process.platform+"|"+process.arch,c.catchFilePath=i+"/"+pt(t);var u=Z(c.catchFilePath);return he(u)||St(u),c.init(),c}return me(t,e),t.prototype.httpRequest=function(e,t,n,o){return Te(this,void 0,void 0,(function(){var r,s,a,c,u,p,l,d;return Re(this,(function(f){switch(f.label){case 0:return(r=o).deviceId=this.deviceId,r.model=this.model,s={url:e,method:t,headers:n,body:JSON.stringify(r)},this.logger.info(i.L_REQUEST_T,JSON.stringify(s)),[4,$e(this.logger,s)];case 1:a=f.sent(),c=a.status,u=a.data,p=void 0===u?"":u,this.logger.info(i.L_REQUEST_R,JSON.stringify({status:c,data:p}));try{return l=JSON.parse(p),d=l.data,[2,{code:c,data:d}]}catch(e){return this.logger.warn(i.L_CLOUD_CONFIG_DATA_E,JSON.stringify({status:c,data:p,error:e})),[2,{code:c,msg:e}]}return[2]}}))}))},t.prototype.setCloudControllerCache=function(e){ve(this.catchFilePath,JSON.stringify(e)),this.logger.info(i.L_CLOUD_SET_CACHE_O,JSON.stringify(e))},t.prototype.getLocalCloudControllerCache=function(){if(!he(this.catchFilePath))return null;var e=ge(this.catchFilePath,{encoding:"utf8"});return this.logger.info(i.L_CLOUD_GET_CACHE_O,JSON.stringify({appkey:this.appkey,data:e})),e},t.prototype.setMRTRConfig=function(e){var t={mrtrChatroom:e.chatroom,mrtrGroup:e.group,mrtrPrivate:e.private,mrtrUltraGroup:e.ultraGroup};this.logger.info(i.L_CLOUD_SET_MRTR_O,JSON.stringify(t)),this.addon.setCloudConfig(JSON.stringify(t))},t}(R);!function(e){e[e.cuid=1]="cuid",e[e.uid=2]="uid",e[e.all=4]="all"}(mt||(mt={}));var Rt,It=function(){function e(e,t,n,o,r,i){var s=this;this._appkey=e,this._cppProtocol=t,this._dbpath=n,this._dispatchEvent=o,this._enableSyncEmptyTopConversation=r,this._logOutputLevel=i,this._customMessageType={},this.cloudControllerUri="",this.cloudControllerLock=!0,this.cloudControllerMsgs=[],this._buildSubscribeEventData=function(e){var t=[];try{JSON.parse(e).list.forEach((function(e){var n=JSON.parse(e.obj),o=n.userId,r=n.subscribeType,i=n.subscribeTime,a=n.duration,c=n.operationType,u=n.details,p=void 0===u?[]:u,l=n.userProfile,d={userId:o,subscribeType:r,subscribeTime:i,expiry:a,operationType:c};r===I.ONLINE_STATUS&&(d.details=p.map((function(e){var t=JSON.parse(e);return{changeTime:t.changeTime,eventValue:t.changeValue,platform:t.platform}}))),r===I.USER_PROFILE&&(d.userProfile=s._string2userProfileInfo(l)),t.push(d)}))}catch(t){s.logger.error(Pe.P_PARSE_JSON_SUBSCRIBE_DATA_E,JSON.stringify({error:null==t?void 0:t.stack,data:e}))}return t},this._chatroomCache=[],this.rtcHeartbeatResolves={};var a=this._dbpath,c=ft(a);this.logger=new we(this._appkey,"RC-M","IM"),this._cppProtocol.initWithAppkey(e,a,f,this.logger.getSessionId());var u=z($(__dirname,"sub-process.js"));this.subProxy=new gt(u),this.statisticLog=new Ae(this._appkey,"RC-M","IM"),this.logger.setOutputLevel(this._logOutputLevel),be(this._cppProtocol,this.logger),this.reporter=new it(this._cppProtocol,e,c,this.logger,this.subProxy),this.logger.info(Pe.P_INIT_O,JSON.stringify({appkey:e,dbpath:a,proto_commit:this._cppProtocol.getNodeVersion(),deviceId:c,commit:"3cbfa0729fd40ab8df50322aa87f2e7cc2601fcc"})),this._callCppProxy("setDeviceId",c),this._staticConfigManager=new Et(e,this.logger,a),this.navi=new yt(e,this.logger,this.statisticLog,a,this._staticConfigManager),this.tcpMgr=new Pt(e,this._callCppProxy.bind(this),this.navi,this.logger,this.statisticLog,{onConnected:this.onConnected.bind(this),onSuspend:this.onSuspend.bind(this),onDisconnected:this.onDisconnected.bind(this),onConnecting:this.onConnecting.bind(this)}),this._enableCreateEmptyTopConversation(this._enableSyncEmptyTopConversation),this._initCloudController(c,a),this._registerMsgTypes(),this._setOnReceiveMessageListener(),this._setConversationStatusListener(),this._setPushNotificationListener(),this._setRTCHeartbeatListener(),this._setRTCLivingRoomEventListener(),this._setChatroomEventListener(),this._setCallInfoListener(),this._setSubscribeEventListener(),this._setUserProfileListener(),this._msgExpansionHandler=new ht(this._callCppProxy.bind(this))}return e.prototype._initCloudController=function(e,t){var n=N.getCloudControllerUrl();this.cloudControllerUri=n[0],this.cloudController=new Tt(this._appkey,this.logger,this.reporter,e,t,this.statisticLog,this._cppProtocol),O()&&this.cloudControllerUri&&this.cloudController.request(this.cloudControllerUri,M.init)},e.prototype.callProxy=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return Te(this,void 0,void 0,(function(){var n,r,i;return Re(this,(function(s){switch(s.label){case 0:if(!(n=this[e]))return this.logger.warn(Pe.P_CALL_MAIN_E,JSON.stringify({method:e,error:"not found"})),[2,Promise.resolve({code:o.NOT_SUPPORT})];r="",s.label=1;case 1:return s.trys.push([1,3,,4]),[4,n.call.apply(n,Ie([this],t,!1))];case 2:return[2,s.sent()];case 3:return i=s.sent(),r=JSON.stringify({error:null==i?void 0:i.stack,method:e}),this.logger.error(Pe.P_CALL_MAIN_E,r),[3,4];case 4:return[2,{code:o.MAIN_PROCESS_ERROR,msg:r}]}}))}))},e.prototype.sendProxy=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return Te(this,void 0,void 0,(function(){var n;return Re(this,(function(o){if(!(n=this[e]))return this.logger.warn(Pe.P_CALL_MAIN_E,JSON.stringify({method:e,error:"not found"})),[2];try{n.call.apply(n,Ie([this],t,!1))}catch(t){this.logger.error(Pe.P_CALL_MAIN_E,JSON.stringify({error:null==t?void 0:t.stack,method:e}))}return[2]}))}))},e.prototype.registerRenderers=function(e){var t=e.navigators,n=e.areaCode,o=e.logServerUrl,r=e.environment;this._environment=r||"default",this.navi.setEnvironment(r),N.init({areaCode:n,navigators:t,logServerUrl:o})},e.prototype.onConnected=function(){return Te(this,void 0,void 0,(function(){var e,t,n;return Re(this,(function(o){switch(o.label){case 0:return e=this.getNaviInfoFromCache(),this.reporter.checkStart(e),this._try2RejoinChatroom(),t=this._dispatchEvent,n=["onConnected"],[4,this.getMainProcessCache()];case 1:return t.apply(this,n.concat([o.sent()])),[2]}}))}))},e.prototype.onConnecting=function(){this._dispatchEvent("onConnecting",void 0)},e.prototype.onSuspend=function(e){this._dispatchEvent("onSuspend",e)},e.prototype.onDisconnected=function(e){this._dispatchEvent("onDisconnected",e)},e.prototype._callCppProxy=function(e){for(var t,n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];var r=this.logger.createTraceId();try{return this.logger.debug(Pe.P_CALL_ADDON_O,JSON.stringify({method:e,content:n}),r),(t=this._cppProtocol)[e].apply(t,n)}catch(t){throw this.logger.error(Pe.P_CALL_ADDON_E,JSON.stringify({stack:null==t?void 0:t.stack,method:e}),r),t}},e.prototype.refetchNaviInfo=function(){return this.navi.request(this.tcpMgr.getToken(),!0,!0,this.logger.createTraceId())},e.prototype.sendHTTPRequest=function(e){return $e(this.logger,e)},e.prototype.onRendererLogsReceived=function(e){Ue.apply(void 0,e)},e.prototype.onRendererNetworkStatusReceived=function(e,t){if(this.tcpMgr.setNetwork(e,t),e.status&&O()&&this.cloudController){var n=this.tcpMgr.getToken();this.cloudController.request(this.cloudControllerUri,M.newWorkChange,n)}},e.prototype.destroy=function(){this.reporter.stop(),this.subProxy.destroy(),this._cppProtocol,Me(),this._cppProtocol.destroy(),process.exit(0)},e.prototype.callExtra=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=this[e];if(!r)return this.logger.warn(Pe.P_CALL_EXTRA_E,JSON.stringify({method:e,error:"not found"})),Promise.resolve({code:o.NOT_SUPPORT});try{return r.call.apply(r,Ie([this],t,!1))}catch(t){this.logger.error(Pe.P_CALL_EXTRA_E,JSON.stringify({error:null==t?void 0:t.stack,method:e}))}return Promise.resolve({code:o.MAIN_PROCESS_ERROR})},e.prototype.getConversationsByPage=function(e,t,n,r,i){var s,a=this,c=this._callCppProxy("getConversationListByPageWithTopPriority",e,t,n,i||!1,r||"");try{s=JSON.parse(c).list.map((function(e){return a._buildConversation(e.obj)}))}catch(e){return Promise.resolve({code:o.MAIN_PROCESS_ERROR})}return Promise.resolve({code:o.SUCCESS,data:s})},e.prototype.getUnreadConversationList=function(e){var t,n=this,r=this._callCppProxy("getUnreadConversationList",e);try{t=JSON.parse(r).list.map((function(e){return n._buildConversation(e.obj)}))}catch(e){return Promise.resolve({code:o.MAIN_PROCESS_ERROR})}return Promise.resolve({code:o.SUCCESS,data:t})},e.prototype.getConversationListWithAllChannel=function(){var e,t=this,n=[b.PRIVATE,b.GROUP,b.SYSTEM,b.APP_PUBLIC_SERVICE,b.PUBLIC_SERVICE],r=this._callCppProxy("getConversationListWithAllChannel",n);try{e=JSON.parse(r).list.map((function(e){return t._buildConversation(e.obj)}))}catch(e){return Promise.resolve({code:o.MAIN_PROCESS_ERROR})}return Promise.resolve({code:o.SUCCESS,data:e})},e.prototype.getConversationListWithAllChannelByPage=function(e,t){var n,r=this,i=[b.PRIVATE,b.GROUP,b.SYSTEM,b.APP_PUBLIC_SERVICE,b.PUBLIC_SERVICE],s=this._callCppProxy("getConversationListWithAllChannelByPage",i,e,t);try{n=JSON.parse(s).list.map((function(e){return r._buildConversation(e.obj)}))}catch(e){return Promise.resolve({code:o.MAIN_PROCESS_ERROR})}return Promise.resolve({code:o.SUCCESS,data:n})},e.prototype.getHistoryMessagesByObjectNames=function(e,t,n,r,i,s,a){var c=0===s,u=r+1,p=this._callCppProxy("getHistoryMessagesByObjectNames",e,t,n,u,i,c,a||""),l=[];try{var d=JSON.parse(p).list;d.reverse();for(var f=0;f<d.length;f++){var h=this._buildMessage(d[f].obj);l[f]=h}}catch(e){return Promise.resolve({code:o.MAIN_PROCESS_ERROR})}return Promise.resolve({code:o.SUCCESS,data:{list:u===l.length?l.slice(1,u):l,hasMore:r<l.length}})},e.prototype.updateMessageReceiptStatus=function(e,t,n,r){void 0===r&&(r="");var i=this._callCppProxy("updateMessageReceiptStatus",e,t,n,r);return Promise.resolve({code:o.SUCCESS,data:i})},e.prototype.getNaviInfoFromCache=function(){return this.tcpMgr.getConnectionStatus()!==_.CONNECTED?null:this.navi.getNaviInfoFromCache(this.tcpMgr.getToken())},e.prototype.createLogger=function(e,t){return/^RC/.test(e)?null:new we(this._appkey,e,t)},e.prototype.getConnectedTime=function(){return this.tcpMgr.getConnectedTime()},e.prototype.getServerTime=function(){return Date.now()-this._cppProtocol.getDeltaTime()},e.prototype.getCurrentUserId=function(){return this.tcpMgr.getCurrentUserId()},e.prototype.getMainProcessCache=function(){var e=this.tcpMgr.getConnectedTime(),t=this.tcpMgr.getConnectionStatus(),n=this.getNaviInfoFromCache(),o=this.tcpMgr.getCurrentUserId(),r=this.getDeviceId(),i=this._cppProtocol.getDeltaTime();return Promise.resolve({connectedTime:e,deviceId:r,crtUserId:o,naviInfo:n,connectionStatus:t,deltaTime:i})},e.prototype._enableCreateEmptyTopConversation=function(e){this._callCppProxy("enableCreateEmptyTopConversation",e)},e.prototype._registerMsgTypes=function(){for(var e in U["RC:RcCmd"]={isCounted:!1,isPersited:!1},U){var t=U[e],n=t.isCounted,o=t.isPersited,r=t.searchProps,i=0;o&&(i|=1),n&&(i|=2),"RC:TypSts"===e&&(i=16),this._callCppProxy("registerMessageType",e,i,r||[])}},e.prototype._buildIsMentioned=function(e,t){var n,o=!1;if(x(e))n=e;else try{n=e?JSON.parse(e):e}catch(t){n=e,this.logger.error(Pe.P_PARSE_JSON_MSGS_E,JSON.stringify({content:e}))}return x(n)&&(o=!!n.mentionedInfo),{isMentioned:o,msgContent:n}},e.prototype._buildMsgOption=function(e){var t={isCounted:!1,isPersited:!1};return e in U?t=U[e]:e in this._customMessageType&&(t=this._customMessageType[e]),t},e.prototype._buildSupportExt=function(e,t,n){var o=null;return e&&(o=this._msgExpansionHandler.parseReceiveExpansion(n),"conversation"!==t&&"history"!==t||(o=this._msgExpansionHandler.parseConverOrHisExpansion(n))),o},e.prototype._handleReadReceiptRequest=function(e){var t=JSON.parse(e),n=this.getNaviInfoFromCache();if(!(null==n?void 0:n.grpRRVer))return t;var o=t,r=o.hasRespond,i=o.readerInfo,s=void 0===i?{}:i,a=o.readCount,c=o.totalCount,u=o.readerList,p=void 0===u?[]:u,l={readCount:a,totalCount:c};if(1===(null==n?void 0:n.grpRRVer)){var d=[];for(var f in s)d.push({userId:f,readTime:s[f]});l.readerList=d,l.hasRespond=r}return 3===(null==n?void 0:n.grpRRVer)&&(l.readerList=p),l},e.prototype._buildMessage=function(e,t){var n;void 0===t&&(t={});var o=t.isOffLineMessage,r=t.buildFrom,i=JSON.parse(e),s=i.channelId,a=i.conversationType,c=i.targetId,u=i.senderUserId,p=i.content,l=i.objectName,d=i.messageUid,f=i.direction,h=i.status,g=i.messageId,v=i.sentTime,C=i.readReceiptRequest,_=i.supportExt,S=i.pushContent,y=i.pushTitle,m=i.pushId,P=i.pushConfig,E=i.templateId,T=i.disableTitle,R=i.forcePushDetail,I=i.hasMore,N=i.directedUsers,O=i.noNotification,M=this._buildIsMentioned(p,g),b=M.isMentioned,U=M.msgContent,x=this._buildMsgOption(l),D=this._buildSupportExt(_,r,i),J=L(o)?v<this.tcpMgr.getConnectedTime():o,B={};P&&(B=w(this.logger,P,m));var j=Ee(Ee({},B),{pushTitle:y,pushContent:S,pushData:S,disablePushTitle:T,forceShowDetailContent:R,templateId:E}),F={channelId:s,conversationType:a,targetId:c,senderUserId:u,content:U||{},messageType:l,messageUId:d||"",messageDirection:f,isOffLineMessage:J,sentTime:v,receivedTime:0,isPersited:x.isPersited,isCounted:x.isCounted,isMentioned:b,disableNotification:O,isStatusMessage:(null===(n=this._customMessageType[l])||void 0===n?void 0:n.isStatusMessage)||!1,canIncludeExpansion:_,expansion:_?D:null,receivedStatus:h,receivedStatusInfo:A(h),messageId:g,pushConfig:j,hasMore:I,directedUserIds:N||[]};if(f===k.RECEIVE?F.receivedStatus=this._compatibleReceivedStatus(F.receivedStatusInfo):f===k.SEND&&(F.sentStatus=h),C){var H=this._handleReadReceiptRequest(C);F.readReceiptInfo=H}return F},e.prototype._compatibleReceivedStatus=function(e){var t=D.UNREAD;return e.isRead?t=D.READ:e.isListened?t=D.LISTENED:e.isDownload?t=D.DOWNLOADED:e.isRetrieved&&(t=D.RETRIEVED),t},e.prototype._updateReadReceiptInfo=function(e,t){var n=this._callCppProxy("getMessage",e),o=JSON.parse(n),r=o.readReceiptRequest?JSON.parse(o.readReceiptRequest):{},i=Ee(Ee({},r),t);this._callCppProxy("updateReadReceiptRequestInfo",e,JSON.stringify(i))},e.prototype._processRRRspMsg=function(e,t,n){if(t!==this.getCurrentUserId())for(var o=0,r=e[this.getCurrentUserId()]||[];o<r.length;o++){h=r[o];var i=this._callCppProxy("getMessage",h),s=JSON.parse(i),a=s.readReceiptRequest?JSON.parse(s.readReceiptRequest):{},c=a.isReceiptRequestMessage,u=a.readerList,p=void 0===u?[]:u;c&&!p.includes(t)&&(p.push(t),this._callCppProxy("updateReadReceiptRequestInfo",h,JSON.stringify({isReceiptRequestMessage:c,readerList:p})))}else for(var l in e)for(var d=0,f=e[l];d<f.length;d++){var h=f[d];this._callCppProxy("updateReadReceiptRequestInfo",h,JSON.stringify({isReceiptRequestMessage:!0,hasRespond:!0}))}},e.prototype._processRSMsg=function(e){var t=e.conversationType,n=e.targetId,o=e.content,r=e.channelId,i=o.msgId,s=o.rrn,a=o.tmn,c=o.endMsgTime;t===b.PRIVATE?this.updateMessageReceiptStatus(t,n,c,r||""):this._updateReadReceiptInfo(i,{readCount:s,totalCount:a});var u={conversationType:t,targetId:n,channelId:r};this._sendMessageReadReceipt(t===b.PRIVATE?{privateReadReceipt:Ee(Ee({},u),{endMsgTime:o.endMsgTime})}:{groupReadReceipt:Ee(Ee({},u),{totalCount:o.tmn,readedCount:o.rrn,messageUId:o.msgId})})},e.prototype._processSRSMsg=function(e){var t=this.getNaviInfoFromCache(),n=e.conversationType,o=e.targetId,r=e.content,i=e.channelId,s=e.senderUserId,a=e.sentTime;return s===this.tcpMgr.getCurrentUserId()&&(this._callCppProxy("clearUnreadCountByTimestamp",n,o,r.lastMessageSendTime,i||""),1!==(null==t?void 0:t.sesDriven)||(a>this.tcpMgr.getConnectedTime()||this._sendsyncReadStatus({conversationType:n,targetId:o,channelId:i,timestamp:r.lastMessageSendTime}),!1))},e.prototype._buildConversation=function(e){var t=JSON.parse(e),n=t.channelId,o=t.conversationType,r=t.targetId,i=t.unreadCount,s=t.lastestMsg,a=t.isTop,c=t.blockStatus,u=t.matchCount,p=t.hasUnreadMention,l=t.conversationTime,d=t.draft,f=c>0?J.OPEN:J.CLOSE;return{channelId:n,conversationType:o,targetId:r,unreadMessageCount:i,latestMessage:-1===JSON.parse(s).messageId?null:this._buildMessage(s),hasMentioned:p,mentionedInfo:null,notificationStatus:f,isTop:a,lastUnreadTime:0,matchCount:u,operationTime:l,notificationLevel:c,draft:d}},e.prototype._convertResultList=function(e,t){var n=JSON.parse(e).list;return n=n.map((function(e){var n=JSON.parse(e.obj);return t?t(n):n}))},e.prototype._handleNotNotificationMessage=function(e){var t,n=e.messageType,o=e.senderUserId,r=e.content;if(n===B.LOG_COMMAND&&e.senderUserId===j){var i=e.content,s=i.startTime,a=i.endTime,c=i.platform,u=i.logId,p=i.uri;return this.reporter.report(parseInt(s,10),parseInt(a,10),c,p,u,e.messageUId),!0}if(n===B.CLOUD_CONTROL&&o===j)return this.cloudControllerMsgs.push(e),this._ccMsgHandler(),!0;if(n===B.READ_STATE)return this._processRSMsg(e),!0;if("RC:MsgExMsg"===n)return this._msgExpansionHandler.setLocalFromExtMsg(this.logger,e),this._sendMessageExpansion(e),!0;if(n===B.SYNC_READ_STATUS&&!this._processSRSMsg(e))return!0;if(n===B.DELIVERED)return this._callCppProxy("setMessageDeliverTime",JSON.stringify(r)),this._sendMessageDelivered(e.content.map((function(e){return{deliverTime:e.time,messageUId:e.messageUId,objectName:e.objectName,targetId:e.targetId}}))),!0;if(n===B.DELIVERED_MSG){var l={totalCount:e.content.tmn,list:null===(t=e.content.dl)||void 0===t?void 0:t.map((function(e){return{MessageUId:e.msgId,deliveryCount:e.drn}}))};return this._sendGroupMessageDeliveredStatus(l),!0}return!1},e.prototype._setOnReceiveMessageListener=function(){var e=this;this._cppProtocol.setOnReceiveMessageListener((function(t,n,o,r){try{var i=e._buildMessage(t,{isOffLineMessage:o}),s=i.messageType,a=i.channelId,c=void 0===a?"":a,u=i.senderUserId,p=i.content,l=i.sentTime,d=i.conversationType,f=i.targetId;if(e._handleNotNotificationMessage(i))return;if(s===B.READ_RECEIPT_REQUEST&&p.messageUId&&e._updateReadReceiptInfo(p.messageUId,{isReceiptRequestMessage:!0,hasRespond:!1}),s===B.READ_RECEIPT_RESPONSE&&p.receiptMessageDic&&e._processRRRspMsg(p.receiptMessageDic,u,l),s===B.GROUP_READ_RECEIPT_REQUEST){var h=p.msgId,g=p.rrn,v=p.tmn;e._updateReadReceiptInfo(h,{readCount:g,totalCount:v})}i.canIncludeExpansion&&e._msgExpansionHandler.setLocalFromReceiveMsg(e.logger,i),s===B.READ_RECEIPT&&u===e.tcpMgr.getCurrentUserId()&&e._callCppProxy("clearUnreadCountByTimestamp",d,f,p.lastMessageSendTime,c);var C=!0;if(0!==n||r||(C=!1),s===B.RECALL){if(!e.handleRecalledMessage(i))return;var _=e._fixRecallContentInfo(i);d=_.conversationType,f=_.targetId}e._sendMessageNotification(Object.assign(i,{hasMoreMsg:C,conversationType:d,targetId:f}))}catch(n){e.logger.error(Pe.P_RECEIVE_MESSAGE_E,JSON.stringify({error:null==n?void 0:n.stack,message:t}))}}),(function(){e._sendPullOfflineFinished()}))},e.prototype._ccMsgHandler=function(){var e;return Te(this,void 0,void 0,(function(){var t,n;return Re(this,(function(o){switch(o.label){case 0:return this.cloudControllerLock?(this.cloudControllerLock=!1,this.cloudControllerMsgs.shift()?(t=this.tcpMgr.getToken(),[4,null===(e=this.cloudController)||void 0===e?void 0:e.request(this.cloudControllerUri,M.other,t)]):[3,2]):[2];case 1:n=o.sent()||0,this.cloudControllerMsgs=this.cloudControllerMsgs.filter((function(e){return e.sentTime>n})),this.cloudControllerLock=!0,this._ccMsgHandler(),o.label=2;case 2:return[2]}}))}))},e.prototype._fixRecallContentInfo=function(e){var t=e.conversationType,n=e.targetId;return e.senderUserId===this.tcpMgr.getCurrentUserId()&&(t=e.content.conversationType||t,n=e.content.targetId||n),{conversationType:t,targetId:n}},e.prototype.handleRecalledMessage=function(e){var t=e.content,n=t.messageUId,o=t.sentTime;if(!n)return!0;var r=this._callCppProxy("getMessage",n),i=this._buildMessage(r,{isOffLineMessage:!1});if(e.content.isDelete)return-1===i.messageId||this._callCppProxy("deleteMessages",[i.messageId]),!0;if(i.messageType===B.RECALL_NOTIFICATION_MESSAGE)return!1;var s={recallTime:Date.now(),admin:!!e.content.isAdmin,originalObjectName:i.messageType,originalMessageContent:i.content,recallActionTime:e.sentTime,operatorId:e.senderUserId};if(e.content.user&&(s.user=e.content.user),e.content.extra&&(s.extra=e.content.extra),i.messageType===B.TextMessage&&(s.recallContent=i.content.content),-1===i.messageId){var a=e.conversationType,c=e.targetId,u=e.senderUserId,p=e.channelId,l=e.messageDirection;return this._callCppProxy("insertMessage",a,c,u,B.RECALL_NOTIFICATION_MESSAGE,JSON.stringify(s),(function(){}),(function(){}),l,1,30,o,"",0,n,!1,!0,JSON.stringify({}),p||""),!0}return i.receivedStatus||this.setMessageReceivedStatus(i.messageId,1),this._callCppProxy("setMessageContent",i.messageId,JSON.stringify(s),B.RECALL_NOTIFICATION_MESSAGE),!0},e.prototype._sendMessageExpansion=function(e){var t=e.channelId,n=void 0===t?"":t,o=e.content,r=e.conversationType,i=e.targetId,s=o,a=s.put,c=s.del,u=s.mid,p={};a&&(p.updatedExpansion={channelId:n,messageUId:u,expansion:a,conversationType:r,targetId:i}),c&&(p.deletedExpansion={channelId:n,messageUId:u,deletedKeys:c,conversationType:r,targetId:i}),this._dispatchEvent("expansion",p)},e.prototype._sendMessageNotification=function(e){this._dispatchEvent("batchMessage",e)},e.prototype._sendPullOfflineFinished=function(){this._dispatchEvent("pullFinished",null)},e.prototype._sendMessageDelivered=function(e){this._dispatchEvent("messageDelivered",e)},e.prototype._sendGroupMessageDeliveredStatus=function(e){this._dispatchEvent("groupMessageDeliveredStatus",e)},e.prototype._sendChatroomStatus=function(e){this._dispatchEvent("chatroom",e)},e.prototype._sendMessageReadReceipt=function(e){this._dispatchEvent("messageReadReceipt",e)},e.prototype._sendsyncReadStatus=function(e){this._dispatchEvent("syncReadStatus",e)},e.prototype._setConversationStatusListener=function(){var e=this;this._cppProtocol.setConversationStatusListener((function(t){var n=JSON.parse(t).list,o=[];n.forEach((function(e){var t=JSON.parse(e.obj),n=t.conversationType,r=t.targetId,i=t.status,s=t.channelId,a={notificationStatus:2,isTop:!1};i.forEach((function(e){var t=JSON.parse(e.item);1===t.type?a.notificationStatus=1===Number(t.value)?J.OPEN:J.CLOSE:a.isTop=1===Number(t.value)})),o.push({channelId:s,conversationType:n,targetId:r,updatedItems:{notificationStatus:{val:a.notificationStatus,time:0},isTop:{val:a.isTop,time:0}}})})),e._dispatchEvent("conversation",o)}),(function(t){e._dispatchEvent("conversationTag",t)}),(function(t,n,o,r){e._callCppProxy("clearUnreadCountByTimestamp",t,n,r,o||""),e._sendsyncReadStatus({conversationType:t,targetId:n,channelId:o,timestamp:r})}))},e.prototype._setPushNotificationListener=function(){var e=this;this._cppProtocol.setPushNotificationListener((function(){}),(function(t){e._dispatchEvent("tag",t),e._getRTCProfile()}))},e.prototype._getRTCProfile=function(){var e=this._callCppProxy("getRTCProfile");if(e){var t=this.tcpMgr.getToken();this.navi.updateVoipCallInfo(t,e);var n=this.navi.getNaviInfoFromCache(t);this._dispatchEvent("onNaviDataChange",n)}},e.prototype._setRTCLivingRoomEventListener=function(){var e=this;this._cppProtocol.setRTCRoomEventListener((function(t){e._dispatchEvent("onRTCDataChange",Array.prototype.slice.call(t))}))},e.prototype._setChatroomEventListener=function(){var e=this;this._cppProtocol.setChatroomEventListener((function(t,n){e._sendChatroomStatus({chatroomDestroyed:t})}))},e.prototype._setCallInfoListener=function(){var e=this;this._cppProtocol.setCallInfoListener((function(t){e._dispatchEvent("callInfo",t)}))},e.prototype._setSubscribeEventListener=function(){var e=this;this._cppProtocol.setSubscribeEventListener((function(){}),(function(){e._dispatchEvent("syncSubscribedUserStatusFinished",I.ONLINE_STATUS)}),(function(t){var n=e._buildSubscribeEventData(t).map((function(e){return{userId:e.userId,subscribeType:e.subscribeType,subscribeTime:e.subscribeTime,expiry:e.expiry,operationType:e.operationType}}));e._dispatchEvent("subscribedRelationChange",n)}),(function(t){var n=e._buildSubscribeEventData(t).map((function(e){var t=e.userId,n=e.subscribeType,o=e.subscribeTime,r=e.expiry,i=e.details,s=e.userProfile,a={userId:t,subscribeType:n,subscribeTime:o,expiry:r};return n===I.ONLINE_STATUS?a.details=i:n===I.USER_PROFILE&&(a.userProfile=s),a}));e._dispatchEvent("subscribedUserStatusChange",n)}))},e.prototype._setUserProfileListener=function(){var e=this;this._cppProtocol.setUserProfileListener((function(){e._dispatchEvent("syncSubscribedUserStatusFinished",I.USER_PROFILE)}),(function(t){e._dispatchEvent("ownUserProfileChanged",e._string2userProfileInfo(t))}))},e.prototype.registerMessageType=function(e,t,n,o,r){var i=0;t&&(i|=1),n&&(i|=2),r&&(i=16),this._customMessageType[e]={isCounted:n,isPersited:t,isStatusMessage:r},this.logger.info(Pe.P_REGTYP_O,JSON.stringify({type:e,opt:i,search:o})),this._callCppProxy("registerMessageType",e,i,o||[])},e.prototype.connect=function(e,t,n,o){return this.tcpMgr.connect(e,t,n,o)},e.prototype.reportSDKInfo=function(e){var t=JSON.stringify(Ee(Ee({},e),{"electron-main":"5.10.2"}));this.logger.info(Pe.P_REPORT_VER_O,t),this._callCppProxy("uploadSDKVersion",t,"")},e.prototype.disconnect=function(e){e=e||!0,this._chatroomCache.length=0,this.reporter.stop(),Ze(null,this.logger),this.tcpMgr.disconnect(e)},e.prototype.logout=function(){this.disconnect()},e.prototype.setUserStatusListener=function(e,t){this._cppProtocol.setOnReceiveStatusListener((function(e,n){t({userId:e,status:n})}));var n=e.userIds||[];n.length&&this.subscribeUserStatus(n)},e.prototype.subscribeUserStatus=function(e){var t=this;return new Promise((function(n){t._callCppProxy("subscribeUserStatus",e,(function(){setTimeout((function(){n(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){n(e)}),0)}))}))},e.prototype.setUserStatus=function(e){var t=this;return new Promise((function(n){t._callCppProxy("setUserStatus",e,(function(){setTimeout((function(){n(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){n(e)}),0)}))}))},e.prototype.getUserStatus=function(e){var t=this;return new Promise((function(n){t._callCppProxy("getUserStatus",e,(function(e){setTimeout((function(){n({code:o.SUCCESS,data:{status:e}})}),0)}),(function(e){setTimeout((function(){n({code:e})}),0)}))}))},e.prototype._handleDirectionalUserIdList=function(e){var t=e.messageType,n=e.content,o=e.directionalUserIdList,r=void 0===o?[]:o;if(t===B.READ_RECEIPT_RESPONSE&&n.receiptMessageDic)for(var i in n.receiptMessageDic)r.push(i);return t===B.SYNC_READ_STATUS&&(r=[this.getCurrentUserId()]),r},e.prototype._handleMessage2Callback=function(e,t){var n=this;if("RC:MsgExMsg"===e.messageType&&this._msgExpansionHandler.setLocalFromExtMsg(this.logger,e),e.messageType===B.READ_RECEIPT_REQUEST)this._updateReadReceiptInfo(t.content.messageUId,{isReceiptRequestMessage:!0,readerList:[]});else if(e.messageType===B.READ_RECEIPT_RESPONSE){var o=t.content.receiptMessageDic;if(!o)return;for(var r in o)o[r].forEach((function(e){n._updateReadReceiptInfo(e,{isReceiptRequestMessage:!0,hasRespond:!0})}))}},e.prototype.sendMessage=function(e,t,n,r,i){var s=this;void 0===i&&(i=this.logger.createTraceId());var a=n.messageType,c=n.content,u=n.expansion,p=n.pushConfig,l=n.pushContent,d=void 0===l?"":l,f=n.pushData,h=void 0===f?"":f,g=n.directionalUserIdList,v=void 0===g?[]:g,C=n.disableNotification,_=void 0!==C&&C,S=n.canIncludeExpansion,y=void 0!==S&&S,m=n.isVoipPush,P=void 0!==m&&m,E=n.channelId,T=void 0===E?"":E,R=n.messageId,I=void 0===R?0:R,N=p||{},O=N.iOSConfig,M=N.androidConfig,U=N.templateId,x=void 0===U?"":U,L=N.pushTitle,w=void 0===L?"":L,A=N.pushContent,k=void 0===A?d:A,D=N.pushData,J=void 0===D?h:D,j=N.disablePushTitle,H=void 0!==j&&j,V=N.forceShowDetailContent,G=void 0!==V&&V,q=F(O,M);return new Promise((function(p){d=k,h=J;var l=(null==M?void 0:M.notificationId)||"";e===b.GROUP&&(v=s._handleDirectionalUserIdList(n));var f={};for(var g in u)f[g]={v:""},f[g].v=u[g];var C=x;s.logger.info(Pe.P_SEND_MSG_T,JSON.stringify({messageType:a,conversationType:e,targetId:t,channelId:T}),i);var S=s._callCppProxy("sendMessage",(function(e,t){var r=s._buildMessage(e,{isOffLineMessage:!1});if(s.logger.info(Pe.P_SEND_MSG_R,JSON.stringify({code:t,messageUId:r.messageUId}),i),t===o.SENSITIVE_REPLACE)return setTimeout((function(){p({code:t})}),0);[B.READ_RECEIPT_REQUEST,B.READ_RECEIPT_RESPONSE,B.EXPANSION_NOTIFY].findIndex((function(e){return e===r.messageType}))>-1&&s._handleMessage2Callback(r,n),r.canIncludeExpansion&&s._msgExpansionHandler.setLocalFromReceiveMsg(s.logger,r),setTimeout((function(){p({code:o.SUCCESS,data:r})}),0)}),(function(e,t){var n=s._buildMessage(e,{isOffLineMessage:!1});s.logger.warn(Pe.P_SEND_MSG_R,JSON.stringify({code:t,messageId:n.messageId}),i),n.sentTime=Date.now()-s._cppProtocol.getDeltaTime(),setTimeout((function(){p({code:t,data:n})}),0)}),e,t,a,JSON.stringify(c),v,_,H,G,d,h,l,w,q,C,y,JSON.stringify(f),P,T,I),m=JSON.parse(S);null==r||r(m.messageId)}))},e.prototype.recallMsg=function(e,t,n,r,i){var s=this;return new Promise((function(a){var c,u=i.user,p=i.pushContent,l=i.channelId,d=i.extra,f=i.pushConfig,h=i.disableNotification,g=i.isDelete,v=i.directionalUserIdList,C={conversationType:e,targetId:t,messageUId:n,sentTime:r,user:u,extra:d,channelId:l,isDelete:g||!1};u&&(C.user=u),d&&(C.extra=d);var _={conversationType:e,targetId:t,senderUserId:s.tcpMgr.getCurrentUserId(),content:C,objectName:B.RECALL,messageUid:n,direction:k.SEND,status:D.UNREAD,sentTime:r,channelId:l},S=s._buildMessage(JSON.stringify(_),{isOffLineMessage:!1});s._callCppProxy("recallMessage",(function(){s.handleRecalledMessage(S),setTimeout((function(){a({code:o.SUCCESS,data:S})}),0)}),(function(e){setTimeout((function(){a({code:e})}),0)}),B.RECALL,JSON.stringify(C),h||!1,(null==f?void 0:f.disablePushTitle)||!1,(null==f?void 0:f.forceShowDetailContent)||!1,p||"",(null==f?void 0:f.pushData)||"",(null===(c=null==f?void 0:f.androidConfig)||void 0===c?void 0:c.notificationId)||"",(null==f?void 0:f.pushTitle)||"",F(null==f?void 0:f.iOSConfig,null==f?void 0:f.androidConfig),(null==f?void 0:f.templateId)||"",l,v||[])}))},e.prototype.getHistoryMessage=function(e,t,n,r,i,s,a){var c=this;return new Promise((function(u){n=n||0;var p=0===i,l=r+1,d=c._callCppProxy("getHistoryMessages",e,t,n,l,a,p,s),f=JSON.parse(d).list,h=[];f.reverse();for(var g=0;g<f.length;g++){var v=c._buildMessage(f[g].obj);h[g]=v}u({code:o.SUCCESS,data:{list:l===h.length?h.slice(1,l):h,hasMore:r<h.length}})}))},e.prototype.getMessages=function(e,t,n,r,i,s){var a=this;return new Promise((function(c){var u=0===i,p=n,l=0!==n,d=r+1;l&&(p+=u?1:-1,d++);for(var f=a._callCppProxy("getMessages",e,t,p,d,u,s),h=JSON.parse(f).list,g=[],v=0;v<h.length;v++){var C=a._buildMessage(h[v].obj);g[v]=C}var _=a._computeRepairInfo(g,u,n,p,d),S=_.isNeedRepair,y=void 0!==S&&S,m=_.repairTime,P=void 0===m?0:m;if(!y)return l&&(g.shift(),d--),g.reverse(),void c({code:o.SUCCESS,data:{list:d===g.length?g.slice(1,d):g,hasMore:r<g.length}});a._processRepairHisMsg(e,t,n,r,i,s,P,c)}))},e.prototype._computeRepairInfo=function(e,t,n,o,r){var i=!1,s=0,a=this.getNaviInfoFromCache()||{},c=a.repairHisMsg,u=void 0===c?0:c,p=a.historyMsg;if(1!==u||!p)return{isNeedRepair:i,repairTime:s};var l=e.findIndex((function(e){return e.hasMore||0===Object.keys(e.content).length}));return t&&l>=0?(i=!0,s=e[l].hasMore?e[l].sentTime:e[l].sentTime+1):!t&&l>=1?(i=!0,s=e[l-1].sentTime):e.length<r||0===n?(i=!0,s=n):e.length>0&&e[0].sentTime!==n&&(i=!0,s=o),{isNeedRepair:i,repairTime:s}},e.prototype._processRepairHisMsg=function(e,t,n,o,r,i,s,a){var c=this,u=function(s){for(var u=0===r,p=o+1,l=c._callCppProxy("getMessages",e,t,n,p,u,i),d=JSON.parse(l).list,f=[],h=0;h<d.length;h++){var g=c._buildMessage(d[h].obj);f[h]=g}f.reverse(),a({code:s,data:{list:p<=f.length?f.slice(1,p):f,hasMore:o<f.length}})},p=o+10>100?100:o+10;this._callCppProxy("getRemoteHistoryMessages",e,t,s,p,(function(){return u(0)}),(function(e){u(e)}),r,!0,i,!1)},e.prototype.getContinuousMessages=function(e,t,n,r,i,s){var a=this;return new Promise((function(c){n=n||0;var u=0===i;a._callCppProxy("getContinuousMessages",e,t,n,r,(function(e,t,n){var r=JSON.parse(e).list,i=[];r.reverse();for(var s=0;s<r.length;s++){var u=a._buildMessage(r[s].obj);i[s]=u}setTimeout((function(){c({code:o.SUCCESS,data:{list:i,timestamp:t,hasMore:n}})}))}),(function(e){setTimeout((function(){c({code:e})}),0)}),u,s)}))},e.prototype.getRemoteHistoryMessages=function(e,t,n,r,i,s){var a=this;return new Promise((function(c){n=n||0;a._callCppProxy("getRemoteHistoryMessages",e,t,n,r,(function(e,t){var n=JSON.parse(e).list,r=[];n.reverse();for(var i=0;i<n.length;i++){var s=a._buildMessage(n[i].obj);r[i]=s}setTimeout((function(){c({code:o.SUCCESS,data:{list:r,hasMore:!!t}})}),0)}),(function(e){setTimeout((function(){c({code:e})}),0)}),i,!0,s,!0)}))},e.prototype.deleteRemoteMessage=function(e,t,n,r){var i=this;return new Promise((function(s){var a=JSON.stringify(n);i._callCppProxy("deleteRemoteHistoryMessages",e,t,a,!1,r,(function(){setTimeout((function(){s(o.SUCCESS)}),0)}),s)}))},e.prototype.deleteRemoteMessageByTimestamp=function(e,t,n,r){var i=this;return new Promise((function(s){i._callCppProxy("clearRemoteHistoryMessages",e,t,n,(function(){setTimeout((function(){s(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){s(e)}),0)}),r)}))},e.prototype.clearMessages=function(e,t,n){var r=this;return new Promise((function(i){r._callCppProxy("clearMessages",e,t,n),i(o.SUCCESS)}))},e.prototype.getConversationList=function(e,t,n,r,i){var s=this;return void 0===i&&(i=""),new Promise((function(e){for(var t=s._callCppProxy("getConversationList",[1,3,6,7],i),n=JSON.parse(t).list,r=[],a=0;a<n.length;a++)r.push(s._buildConversation(n[a].obj));e({code:o.SUCCESS,data:r})}))},e.prototype.getConversation=function(e,t,n){var r=this;return new Promise((function(i){var s=r._callCppProxy("getConversation",e,t,n);if(s)i({code:o.SUCCESS,data:r._buildConversation(s)});else{var a=r._callCppProxy("getHistoryMessages",e,t,0,1,"",!0,n),c=void 0;try{c=JSON.parse(a).list}catch(e){r.logger.error(Pe.P_PARSE_JSON_MSGS_E,null==e?void 0:e.stack),c=[]}var u=null;c.length>0&&(u=r._buildMessage(c[0].obj));var p=r._callCppProxy("getConversationNotificationStatus",e,t,n),l=r._callCppProxy("getConversationTopStatus",e,t,n);i({code:o.SUCCESS,data:{conversationType:e,targetId:t,channelId:n,unreadMessageCount:0,latestMessage:u,notificationStatus:p?J.OPEN:J.CLOSE,isTop:Boolean(l),lastUnreadTime:0}})}}))},e.prototype.removeConversation=function(e,t,n){var r=this._callCppProxy("removeConversation",e,t,n);return Promise.resolve(r?o.SUCCESS:o.CONVER_REMOVE_ERROR)},e.prototype.batchRemoveConversation=function(e){var t=e.map((function(e){return{conversation_type:e.conversationType,target_id:e.targetId,channel_id:e.channelId}})),n=this._callCppProxy("removeConversationInBatches",JSON.stringify(t));return Promise.resolve(n?o.SUCCESS:o.CONVER_REMOVE_ERROR)},e.prototype.clearConversations=function(e,t){var n=this;return new Promise((function(r){var i=[];i=H(e)?e:[b.PRIVATE,b.GROUP,b.SYSTEM,b.PUBLIC_SERVICE],n._callCppProxy("clearConversations",i,t||""),r(o.SUCCESS)}))},e.prototype.getAllConversationUnreadCount=function(e,t,n){var r=this._callCppProxy("getTotalUnreadCount",t,n,e);return Promise.resolve({code:o.SUCCESS,data:r})},e.prototype.getConversationUnreadCount=function(e,t,n){var r=this;return void 0===n&&(n=""),new Promise((function(i){var s=r._callCppProxy("getUnreadCount",e,t,n);i({code:o.SUCCESS,data:s})}))},e.prototype.clearConversationUnreadCount=function(e,t,n){var r=this;return void 0===n&&(n=""),new Promise((function(i){r._callCppProxy("clearUnreadCount",e,t,n),i(o.SUCCESS)}))},e.prototype.clearUnreadCountByTimestamp=function(e,t,n,r){var i=this;return new Promise((function(s){i._callCppProxy("clearUnreadCountByTimestamp",e,t,n,r),s(o.SUCCESS)}))},e.prototype.getFirstUnreadMessage=function(e,t,n){var r=this;return new Promise((function(i){var s=r._callCppProxy("getTheFirstUnreadMessage",e,t,n),a=r._buildMessage(s);i({code:o.SUCCESS,data:-1!==a.messageId?a:null})}))},e.prototype.getFirstUnreadMessageInfo=function(e,t,n){var r=this;return new Promise((function(i,s){var a=r._callCppProxy("getTheFirstUnreadMessage",e,t,n),c=r._buildMessage(a);i({code:o.SUCCESS,data:-1!==c.messageId?{messageUId:c.messageUId,sentTime:c.sentTime}:null})}))},e.prototype.batchSetConversationToTop=function(e,t,n){var r=this;return new Promise((function(i,s){var a=e.map((function(e){return{conversation_type:e.conversationType,target_id:e.targetId,channel_id:e.channelId,is_top:t}}));r._callCppProxy("setIsTopInBatches",JSON.stringify(a),n||!1),i(o.SUCCESS)}))},e.prototype.setConversationStatus=function(e,t,n,r,i,s){var a=this;return new Promise((function(s){a._callCppProxy("setConversationStatus",e,t,n,r,(function(){setTimeout((function(){s(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){s(e)}),0)}),i,!0)}))},e.prototype.getConversationNotificationStatus=function(e,t,n){var r=this;return new Promise((function(i){var s=r._callCppProxy("getConversationNotificationStatus",e,t,n);i({code:o.SUCCESS,data:s?J.OPEN:J.CLOSE})}))},e.prototype.setConversationTypeNotificationLevel=function(e,t){var n=this;return new Promise((function(r,i){n._callCppProxy("setBlockPushLevelForType",e,t,(function(){r({code:o.SUCCESS})}),(function(e){r({code:e})}))}))},e.prototype.getConversationTypeNotificationLevel=function(e){var t=this;return new Promise((function(n,r){var i=t._callCppProxy("getBlockPushLevelForType",e);n({code:o.SUCCESS,data:i})}))},e.prototype.searchConversationByContent=function(e,t,n,r){var i=this;return new Promise((function(s){r=r||[1,3,6,7];for(var a=i._callCppProxy("searchConversationByContent",r,e,t,n),c=JSON.parse(a).list,u=[],p=0;p<c.length;p++)u[p]=i._buildConversation(c[p].obj);s({code:o.SUCCESS,data:u})}))},e.prototype.searchConversationByContentWithAllChannel=function(e,t,n){var r=this;return new Promise((function(i){n=n||[1,3,6,7];for(var s=r._callCppProxy("searchConversationByContentWithAllChannel",n,e,t),a=JSON.parse(s).list,c=[],u=0;u<a.length;u++)c[u]=r._buildConversation(a[u].obj);i({code:o.SUCCESS,data:c})}))},e.prototype.searchMessageByContent=function(e,t,n,r,i,s,a){var c=this;return new Promise((function(s){c._callCppProxy("searchMessageByContent",e,t,n,r,i,1,(function(e,t){for(var n=e?JSON.parse(e).list:[],r=[],i=0;i<n.length;i++)r[i]=c._buildMessage(n[i].obj);setTimeout((function(){s({code:o.SUCCESS,data:{messages:r,count:t}})}),0)}),a)}))},e.prototype.searchMessageByContentAndMessageType=function(e,t,n,r,i,s,a){var c=this;return new Promise((function(u){c._callCppProxy("searchMessageByContentAndObjectName",t,e,a||"",void 0===a,n,s,i,r,1,(function(e,t){for(var n=e?JSON.parse(e).list:[],r=[],i=0;i<n.length;i++)r[i]=c._buildMessage(n[i].obj);setTimeout((function(){u({code:o.SUCCESS,data:{messages:r,count:t}})}),0)}))}))},e.prototype.searchMessagesByUser=function(e,t,n,r,i,s){var a=this;return new Promise((function(c){a._callCppProxy("getMessageBySender",e,t,n,r,i,s,(function(e){for(var t=e?JSON.parse(e).list:[],n=[],r=0;r<t.length;r++)n[r]=a._buildMessage(t[r].obj);setTimeout((function(){c({code:o.SUCCESS,data:{messages:n}})}),0)}))}))},e.prototype.searchMessageByContentWithAllChannel=function(e,t,n,r,i){var s=this;return new Promise((function(a){s._callCppProxy("searchMessageByContentWithAllChannel",e,t,n,r,i,1,(function(e,t){for(var n=e?JSON.parse(e).list:[],r=[],i=0;i<n.length;i++)r[i]=s._buildMessage(n[i].obj);setTimeout((function(){a({code:o.SUCCESS,data:{messages:r,count:t}})}),0)}))}))},e.prototype.searchMessageByContentInTimeRangeWithAllChannel=function(e,t,n,r,i,s,a){var c=this;return new Promise((function(u){c._callCppProxy("searchMessageByTimestampWithAllChannel",e,t,n,r,i,s,a,(function(e){for(var t=e?JSON.parse(e).list:[],n=[],r=0;r<t.length;r++)n[r]=c._buildMessage(t[r].obj);setTimeout((function(){u({code:o.SUCCESS,data:{messages:n}})}),0)}))}))},e.prototype.getUnreadMentionedMessages=function(e,t,n){for(var o=JSON.parse(this._callCppProxy("getUnreadMentionedMessages",e,t,n)).list,r=0;r<o.length;r++)o[r]=this._buildMessage(o[r].obj);return o},e.prototype.addToBlacklist=function(e){var t=this;return new Promise((function(n){t._callCppProxy("addToBlacklist",e,(function(){setTimeout((function(){n(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){n(e)}),0)}))}))},e.prototype.removeFromBlacklist=function(e){var t=this;return new Promise((function(n){t._callCppProxy("removeFromBlacklist",e,(function(){setTimeout((function(){n(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){n(e)}),0)}))}))},e.prototype.getBlacklist=function(){var e=this;return new Promise((function(t){e._callCppProxy("getBlacklist",(function(e){setTimeout((function(){t({code:o.SUCCESS,data:e})}),0)}),(function(e){setTimeout((function(){t({code:e})}),0)}))}))},e.prototype.getBlacklistStatus=function(e){var t=this;return new Promise((function(n){t._callCppProxy("getBlacklistStatus",e,(function(e){setTimeout((function(){n({code:o.SUCCESS,data:e})}),0)}),(function(e){setTimeout((function(){n({code:e})}),0)}))}))},e.prototype.insertMessage=function(e,t,n){var r=this,i=n.content,s=n.senderUserId,a=n.messageType,c=n.messageDirection,u=n.readStatus,p=n.sentStatus,l=n.sentTime,d=n.searchContent,f=n.isUnread,h=n.messageUId,g=n.disableNotification,v=n.canIncludeExpansion,C=n.expansionMsg,_=n.channelId,S=n.directedUserIds;i=JSON.stringify(i);var y={};if(l=l||0,C){var m=JSON.parse(C);for(var P in m)y[P]={v:"",ts:0},y[P].v=m[P],y[P].ts=l}return new Promise((function(n){var C=f?0:1,m=r._callCppProxy("insertMessage",e,t,s,a,i,(function(){}),(function(e){setTimeout((function(){n({code:e})}),0)}),c,u||0,p||10,l,d||"",C,h||"",!!g,!!v,JSON.stringify(y),_||"",S||[]),P=r._buildMessage(m,{isOffLineMessage:!1});P.messageUId=h,P.sentTime=l,n({code:-1===P.messageId?o.MSG_INSERT_ERROR:o.SUCCESS,data:P})}))},e.prototype.batchInsertMessage=function(e,t){var n=this;return void 0===t&&(t=!1),new Promise((function(r){var i=e.map((function(e){var t=e.content,n=e.senderUserId,o=e.messageType,r=e.messageDirection,i=e.receivedStatus,s=void 0===i?0:i,a=e.sentStatus,c=e.sentTime,u=e.searchContent,p=e.isUnread,l=e.messageUId,d=e.disableNotification,f=e.canIncludeExpansion,h=e.expansion,g=e.channelId,v=e.conversationType,C=e.targetId,_=e.source,S=e.isMentioned,y=e.receivedStatusInfo,m=e.directedUserIds,P=s;y&&(P=V(y));var E={};if(c=c||0,h)for(var T in h)E[T]={v:"",ts:0},E[T].v=h[T],E[T].ts=c;return{conversationType:v,targetId:C,channelId:g||"",direction:r,senderUserId:n,status:a||10,sentTime:c,objectName:o,content:JSON.stringify(t),messageUid:l||"",noNotification:!!d,supportExt:!!f,extMsg:JSON.stringify(E),readStatus:P,searchContent:u||"",isUnread:!!p,source:_||"",isMention:S,directedUsers:m}})),s=n._callCppProxy("insertMessages",JSON.stringify(i),t);r({code:s?o.SUCCESS:o.MSG_INSERT_ERROR,data:s||!1})}))},e.prototype.getMessageCount=function(e,t,n){var r=this;return new Promise((function(i){var s=r._callCppProxy("getMessageCount",e,t,n);i({code:o.SUCCESS,data:s})}))},e.prototype.deleteMessages=function(e){var t=this;return new Promise((function(n){t._callCppProxy("deleteMessages",e),n(o.SUCCESS)}))},e.prototype.deleteMessagesByTimestamp=function(e,t,n,r,i){var s=this;return new Promise((function(a){s._callCppProxy("deleteMessagesByTimestamp",e,t,n,r,i),a(o.SUCCESS)}))},e.prototype.batchClearMessagesByTimestamp=function(e){var t=this;return new Promise((function(n,r){var i=e.map((function(e){return{conversation_type:e.conversationType,target_id:e.targetId,channel_id:e.channelId||"",send_time:e.timestamp}}));t._callCppProxy("deleteMessageBySendTimeInBatches",JSON.stringify(i)),n(o.SUCCESS)}))},e.prototype.batchClearRemoteHistoryMessages=function(e,t){var n=this;return new Promise((function(r,i){var s=e.map((function(e){return{conversation_type:e.conversationType,target_id:e.targetId,channel_id:e.channelId||"",send_time:e.timestamp}}));n._callCppProxy("deleteRemoteMessageBySendTimeInBatches",JSON.stringify(s),t||!1,(function(){setTimeout((function(){r(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){r(e)}),0)}))}))},e.prototype.getMessage=function(e){var t=this;return new Promise((function(n){var r=t._callCppProxy("getMessage",e),i=t._buildMessage(r,{isOffLineMessage:!1});n({code:o.SUCCESS,data:i})}))},e.prototype.setMessageContent=function(e,t,n){var r=this;return new Promise((function(i){t=JSON.stringify(t),r._callCppProxy("setMessageContent",e,t,n),i(o.SUCCESS)}))},e.prototype.setMessageSearchField=function(e,t,n){var r=this;return new Promise((function(i){r._callCppProxy("setMessageSearchField",e,t,n),i(o.SUCCESS)}))},e.prototype.setMessageSentStatus=function(e,t){var n=this;return new Promise((function(r){n._callCppProxy("setMessageSentStatus",e,t),r(o.SUCCESS)}))},e.prototype.setMessageReceivedStatus=function(e,t){var n=this;return new Promise((function(r){n._callCppProxy("setMessageReceivedStatus",e,t),r(o.SUCCESS)}))},e.prototype.saveConversationMessageDraft=function(e,t,n,r){var i=this;return new Promise((function(s){i._callCppProxy("saveTextMessageDraft",e,t,n,r||"")&&s(o.SUCCESS),s(o.DRAFT_SAVE_ERROR)}))},e.prototype.getConversationMessageDraft=function(e,t,n){var r=this;return new Promise((function(i){var s=r._callCppProxy("getTextMessageDraft",e,t,n||"");i({code:o.SUCCESS,data:s})}))},e.prototype.clearConversationMessageDraft=function(e,t,n){var r=this;return new Promise((function(i){r._callCppProxy("clearTextMessageDraft",e,t,n||"")&&i(o.SUCCESS),i(o.DRAFT_REMOVE_ERROR)}))},e.prototype.pullConversationStatus=function(e){throw new Error("Method not implemented.")},e.prototype.batchSetConversationStatus=function(e){var t=e[0],n=t.conversationType,o=t.targetId,r=t.isTop,i=t.notificationStatus,s=t.channelId,a=t.isUpdateTime,c=void 0===a||a,u=this._callCppProxy("getConversationNotificationStatus",n,o,s||""),p=this._callCppProxy("getConversationTopStatus",n,o,s||""),l=L(i)?Boolean(u):i===J.OPEN,d=L(r)?Boolean(p):r;return this.setConversationStatus(n,o,l,d,s,c)},e.prototype.getConversationNotificationLevel=function(e,t,n){return Te(this,void 0,void 0,(function(){var r;return Re(this,(function(i){return r=this._callCppProxy("getBlockPushLevelForConversation",t,n,e),[2,Promise.resolve({code:o.SUCCESS,data:r})]}))}))},e.prototype.setConversationNotificationLevel=function(e,t,n,r){var i=this;return void 0===r&&(r=""),new Promise((function(s){i._callCppProxy("setBlockPushLevelForConversation",t,r,e,n,(function(){setTimeout((function(){s(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){s(e)}),0)}))}))},e.prototype.batchSetConversationNotificationLevel=function(e,t){var n=this;return new Promise((function(r,i){var s=e.map((function(e){return{conversation_type:e.conversationType,target_id:e.targetId,channel_id:e.channelId,level:t}}));n._callCppProxy("setBlockPushLevelInBatches",JSON.stringify(s),(function(){setTimeout((function(){r(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){r(e)}),0)}))}))},e.prototype.getTotalUnreadCountByLevels=function(e,t,n){if(n){var r=this._callCppProxy("getUnreadMentionedCountByLevel",e,t);return Promise.resolve({code:o.SUCCESS,data:r})}var i=this._callCppProxy("getUnreadCountByLevel",e,t);return Promise.resolve({code:o.SUCCESS,data:i})},e.prototype.pullUserSettings=function(e){throw new Error("Method not implemented.")},e.prototype.sendReadReceiptMessage=function(e,t,n){var r=this;return new Promise((function(i){r._callCppProxy("sendReadReceipt",e,n||"",t,(function(){t.forEach((function(e){r._updateReadReceiptInfo(e,{hasRespond:!0});try{var t=JSON.parse(r._callCppProxy("getMessage",e)).messageId;r.setMessageReceivedStatus(t,1)}catch(t){r.logger.error(Pe.P_PARSE_JSON_MSGS_E,JSON.stringify({messageUId:e,error:null==t?void 0:t.stack}))}})),setTimeout((function(){i({code:o.SUCCESS})}),0)}),(function(e){setTimeout((function(){i({code:e})}),0)}))}))},e.prototype.getMessageReader=function(e,t,n){var r=this;return new Promise((function(i){r._callCppProxy("getMessageReader",e,n,t,(function(e,n){var s=[],a={};(e=JSON.parse(e)).list.forEach((function(e){var t=JSON.parse(e.obj),n=t.id,o=t.time;s.push({userId:n,readTime:o}),a[n]=o}));var c={readerInfo:a,readCount:s.length,totalCount:n};r._updateReadReceiptInfo(t,c),setTimeout((function(){i({code:o.SUCCESS,data:{list:s,totalMemberCount:n}})}),0)}),(function(e){setTimeout((function(){i({code:e})}),0)}))}))},e.prototype.sendReadReceiptMessageV4=function(e,t,n){var r=this;return new Promise((function(i){var s=e.conversationType,a=e.targetId,c=e.channelId;r._callCppProxy("sendMessageReadReceipt",s,a,c||"",t,n,(function(){setTimeout((function(){i({code:o.SUCCESS})}),0)}),(function(e){setTimeout((function(){i({code:e})}),0)}))}))},e.prototype.getMessageReadReceiptV4=function(e,t){var n=this;return new Promise((function(r){var i=e.targetId,s=e.channelId;n._callCppProxy("getMessageReadReceipt",i,s||"",t,(function(e,i,s){var a=[],c=n._callCppProxy("getMessage",t),u=JSON.parse(c);try{JSON.parse(s).list.forEach((function(e){var t=JSON.parse(e.obj),n=t.id,o=t.time;a.push({userId:n,readTime:o})}))}catch(e){n.logger.error(Pe.P_PARSE_JSON_E,"method: getMessageReadReceipt, info: "+s+", error: "+e)}var p=JSON.parse(u.readReceiptRequest||"{}"),l=p.readerList,d=void 0===l?[]:l,f=p.readCount,h=void 0===f?0:f,g=!1;d.length<a.length&&(d=a,g=!0),h<i&&(h=i,g=!0),g&&n._callCppProxy("updateReadReceiptRequestInfo",t,JSON.stringify({readerList:d,readCount:h,totalCount:e})),setTimeout((function(){r({code:o.SUCCESS,data:{list:a,totalCount:e,readCount:h}})}),0)}),(function(e){setTimeout((function(){r({code:e})}),0)}))}))},e.prototype.updateConversationReadTime=function(e,t){var n=this;return new Promise((function(r){var i=e.conversationType,s=e.targetId,a=e.channelId;n._callCppProxy("updateConversationReadTime",i,s,a||"",t,(function(){setTimeout((function(){r({code:o.SUCCESS})}),0)}),(function(e){setTimeout((function(){r({code:e})}),0)}))}))},e.prototype._addChatroomCache=function(e,t,n){this._rmChatroomCache(e),this._chatroomCache.push({chatroomId:e,joinExist:n,count:t})},e.prototype._rmChatroomCache=function(e){this._chatroomCache=this._chatroomCache.filter((function(t){return t.chatroomId!==e}))},e.prototype._try2RejoinChatroom=function(){var e=this;if(0!==this._chatroomCache.length){var t=this.logger.createTraceId();this._chatroomCache.forEach((function(n){return Te(e,void 0,void 0,(function(){var e,r,s,a,c,u;return Re(this,(function(p){switch(p.label){case 0:return e=n.chatroomId,r=n.joinExist,s=n.count,this.logger.info(i.L_REJOIN_CHATROOM_T,e,t),[4,this._joinChrm(e,s,r,!1)];case 1:return a=p.sent(),c=a.code,u=a.data,c===o.SUCCESS?(this.logger.info(i.L_REJOIN_CHATROOM_R,e,t),this._sendChatroomStatus({rejoinedRoom:Ee({chatroomId:e,count:s},u)}),[2]):(c===o.RC_CHATROOM_USER_KICKED&&this._rmChatroomCache(e),this._sendChatroomStatus({rejoinedRoom:{chatroomId:e,errorCode:c}}),this.logger.warn(i.L_REJOIN_CHATROOM_R,"chrmId: "+e+", code: "+c,t),[2])}}))}))}))}},e.prototype._joinChrm=function(e,t,n,r){var i=this,s=n?"joinExistChatRoom":"joinChatRoom";return new Promise((function(a){r&&i._callCppProxy("clearMessages",b.CHATROOM,e,""),i._callCppProxy(s,e,t,(function(r,s,c,u,p,l){i._addChatroomCache(e,t,n),setTimeout((function(){a({code:o.SUCCESS,data:{createTime:Number(r),memberCount:s,isAllChatroomBanned:c,isCurrentUserBanned:u,isCurrentChatroomBanned:p,isCurrentChatroomInWhitelist:l}})}),0)}),(function(e){setTimeout((function(){a({code:e})}),0)}))}))},e.prototype.joinChatroom=function(e,t){return Te(this,void 0,void 0,(function(){return Re(this,(function(n){switch(n.label){case 0:return[4,this._joinChrm(e,t,!1,!0)];case 1:return[2,n.sent().code]}}))}))},e.prototype.joinExistChatroom=function(e,t){return this._joinChrm(e,t,!0,!0)},e.prototype.quitChatroom=function(e){var t=this;return this._rmChatroomCache(e),new Promise((function(n){t._callCppProxy("quitChatRoom",e,(function(){setTimeout((function(){n(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){n(e)}),0)}))}))},e.prototype.getChatroomInfo=function(e,t,n){var r=this;return new Promise((function(i){r._callCppProxy("getChatroomInfo",e,t,n,(function(e,t){var n=e?JSON.parse(e).list:[],r=[];if(n.length>0)for(var s=0;s<n.length;s++)r.push(JSON.parse(n[s].obj));setTimeout((function(){i({code:o.SUCCESS,data:{userInfos:r,userCount:t}})}),0)}),(function(e){setTimeout((function(){i({code:e})}),0)}))}))},e.prototype.getChatroomHistoryMessages=function(e,t,n,r){var i=this;return new Promise((function(s){i._callCppProxy("getChatroomHistoryMessage",e,t,n,r,(function(e){var t;try{t=JSON.parse(e)}catch(e){t={list:[],hasMore:!1}}var n=t.list;if(n&&n.length)try{t.list=n.map((function(e){return i._buildMessage(e.obj)}))}catch(e){t.list=[]}setTimeout((function(){s({code:o.SUCCESS,data:t})}),0)}),(function(e){setTimeout((function(){s({code:e})}),0)}),"")}))},e.prototype.setChatroomEntry=function(e,t){var n=this;return new Promise((function(r){var i='[{"key":"'+t.key+'", "value":"'+t.value+'"}]';n._callCppProxy("setChatroomKV",e,i,!!t.isAutoDelete,!!t.isOverwrite,(function(){setTimeout((function(){r(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){r(e)}),0)}))}))},e.prototype.setChatroomEntries=function(e,t){var n=this;return new Promise((function(r){n._callCppProxy("setChatroomKV",e,JSON.stringify(t.entries),!!t.isAutoDelete,!!t.isOverwrite,(function(){r({code:o.SUCCESS})}),(function(e){r({code:e})}))}))},e.prototype.forceSetChatroomEntry=function(e,t){return t.isOverwrite=!0,t.userId=t.userId||this.tcpMgr.getCurrentUserId(),this.setChatroomEntry(e,t)},e.prototype.removeChatroomEntry=function(e,t){var n=this,r=[t.key];return new Promise((function(i){n._callCppProxy("deleteChatroomKV",e,r,!!t.isOverwrite,(function(){i(o.SUCCESS)}),(function(e){i(e)}))}))},e.prototype.forceRemoveChatroomEntry=function(e,t){return t.isOverwrite=!0,t.userId=t.userId||this.tcpMgr.getCurrentUserId(),this.removeChatroomEntry(e,t)},e.prototype.removeChatroomEntries=function(e,t){var n=this;return new Promise((function(r){var i=t.entries.map((function(e){return e.key}));n._callCppProxy("deleteChatroomKV",e,i,!!t.isOverwrite,(function(){r({code:o.SUCCESS})}),(function(e){r({code:e})}))}))},e.prototype.getChatroomEntry=function(e,t){return Te(this,void 0,void 0,(function(){var n;return Re(this,(function(r){switch(r.label){case 0:return[4,this.getAllChatroomEntry(e)];case 1:return(n=r.sent()).code===o.SUCCESS?[2,{code:o.SUCCESS,data:n.data?n.data[t]:null}]:[2,{code:n.code}]}}))}))},e.prototype.getAllChatroomEntry=function(e){var t=this;return new Promise((function(n){t._callCppProxy("getChatroomKV",e,(function(e){var t={};try{(e?JSON.parse(e):{list:[]}).list.map((function(e){return JSON.parse(e.obj)})).forEach((function(e){t[e.key]=e.value?e.value:""}))}catch(e){}setTimeout((function(){n({code:o.SUCCESS,data:t})}),0)}),(function(e){setTimeout((function(){n({code:e})}),0)}))}))},e.prototype.getFileToken=function(e,t,n,r,i){var s=this;return n=n||"",r=r||"",i=i||"",new Promise((function(a){var c;c=r&&"uploads"!==r?t||"":G(e,t);var u=s.getNaviInfoFromCache(),p={uploadDomain:q(u,s.logger),env:s._environment};s._callCppProxy("getUploadToken",e,c,n,r,i,JSON.stringify(p),(function(e,t,n,r,i,s,u,p,l,d,f,h,g,v,C,_,S,y,m,P,E,T,R){setTimeout((function(){a({code:o.SUCCESS,data:{token:e,deadline:0,bosToken:t,bosDate:n,path:r,osskeyId:i,ossPolicy:s,ossSign:u,ossBucketName:p,fileName:c,s3Credential:l,s3Algorithm:d,s3Date:f,s3Policy:h,s3Signature:g,s3BucketName:v,stcAuthorization:C,stcContentSha256:_,stcDate:S,stcBucketName:y,minioAuthorization:m,minioContentSha256:P,minioDate:E,minioBucketName:T,downloadAuthInfo:R?JSON.parse(R):null}})}),0)}),(function(e){setTimeout((function(){a({code:e})}),0)}))}))},e.prototype.getFileUrl=function(e,t,n,r){var i=this;return new Promise((function(s){var a=i.getNaviInfoFromCache(),c={url:q(a,i.logger)};i._callCppProxy("getDownloadUrl",e,n,r,t-1,JSON.stringify(c),(function(e){setTimeout((function(){s({code:o.SUCCESS,data:{downloadUrl:e}})}),0)}),(function(e){setTimeout((function(){s({code:e})}),0)}))}))},e.prototype.clearData=function(){var e=this;return new Promise((function(t){var n=e._callCppProxy("clearData");t({code:o.SUCCESS,data:n})}))},e.prototype.getDeviceId=function(){var e=this._dbpath;return ft(e)},e.prototype.getVoIPKey=function(e,t){var n=this;return new Promise((function(r){n._callCppProxy("getVoIPKey",e,t,"",(function(e){setTimeout((function(){r({code:o.SUCCESS,data:e})}),0)}),(function(e){setTimeout((function(){r({code:e})}),0)}))}))},e.prototype.bindRTCRoomForChatroom=function(e){var t=this;return new Promise((function(n){var r=e.chatRoomId,i=e.rtcRoomId;t._callCppProxy("bindRTCRoomForChatroom",r,i,(function(){setTimeout((function(){n(o.SUCCESS)}),0)}),(function(e){setTimeout((function(){n(e)}),0)}))}))},e.prototype.getGroupMessageDeliverList=function(e,t,n){var r=this;return new Promise((function(i){r._callCppProxy("getGroupMessageDeliverList",e,n,t,(function(e,t){var n=JSON.parse(e).list.map((function(e){return{time:JSON.parse(e.obj).time,userId:JSON.parse(e.obj).id}}));setTimeout((function(){i({code:o.SUCCESS,data:{totalCount:t,list:n}})}),0)}),(function(e){setTimeout((function(){i({code:e})}),0)}))}))},e.prototype.getPrivateMessageDeliverTime=function(e,t){var n=this;return new Promise((function(r){var i=n._callCppProxy("getMessageDeliverTime",e);if(i)r({code:o.SUCCESS,data:i});else{n._callCppProxy("getPrivateMessageDeliverList",t,e,(function(e){var t=0,n=JSON.parse(e).list;if(n.length>0){var i=JSON.parse(n[0].obj).time;t=i}setTimeout((function(){r({code:o.SUCCESS,data:t})}),0)}),(function(e){setTimeout((function(){r({code:e})}),0)}))}}))},e.prototype.rtcSignaling=function(e,t,n,r){var i=this;return new Promise((function(s){i._callCppProxy("rtcSignaling",e,t,n,r,(function(e){var t=Array.prototype.slice.call(e);s({code:o.SUCCESS,buffer:t})}),(function(e){s({code:e})}),30)}))},e.prototype._setRTCHeartbeatListener=function(){var e=this;this._cppProtocol.setRTCHeartbeatListener((function(t,n){var o=e.rtcHeartbeatResolves[t];if(o){var r=o.find((function(e){return""===e.seqId}));r&&(r.seqId=n)}}),(function(t,n,o,r){var i=e.rtcHeartbeatResolves[t];if(i){var s=i.findIndex((function(e){return e.seqId===o}));-1!==s&&i.splice(s,1)[0].resolve({code:n,data:{version:Number(r)}})}}))},e.prototype.rtcPing=function(e,t,n){var o=this;return new Promise((function(t){var n={resolve:t,seqId:""},r=o.rtcHeartbeatResolves[e];r?r.push(n):o.rtcHeartbeatResolves[e]=[n],o._callCppProxy("sendRTCHeartbeat",[e],30)}))},e.prototype.createTag=function(e){var t=this;return new Promise((function(n){t._callCppProxy("addTag",e.tagId,e.tagName,(function(){setTimeout((function(){n({code:o.SUCCESS})}),0)}),(function(e){setTimeout((function(){n({code:e})}),0)}))}))},e.prototype.removeTag=function(e){var t=this;return new Promise((function(n){t._callCppProxy("deleteTag",e,(function(){setTimeout((function(){n({code:o.SUCCESS})}),0)}),(function(e){setTimeout((function(){n({code:e})}),0)}))}))},e.prototype.updateTag=function(e){var t=this;return new Promise((function(n){t._callCppProxy("renameTag",e.tagId,e.tagName,(function(){setTimeout((function(){n({code:o.SUCCESS})}),0)}),(function(e){setTimeout((function(){n({code:e})}),0)}))}))},e.prototype.getTagList=function(){var e=this;return new Promise((function(t){var n=e._callCppProxy("getTags"),r=e._convertResultList(n,(function(e){return{tagId:e.tagId,tagName:e.tagName,conversationCount:e.conversationCount,createdTime:e.tagTime}}));t({code:o.SUCCESS,data:r})}))},e.prototype.addTagForConversations=function(e,t){var n=this;return new Promise((function(r){t.forEach((function(e){e.conversationType&&(e.type=e.conversationType)}));n._callCppProxy("addConversationsForTag",e,JSON.stringify(t),(function(){setTimeout((function(){r({code:o.SUCCESS})}),0)}),(function(e){setTimeout((function(){r({code:e})}),0)}))}))},e.prototype.removeTagForConversations=function(e,t){var n=this;return new Promise((function(r){t.forEach((function(e){e.conversationType&&(e.type=e.conversationType)})),n._callCppProxy("removeConversationsForTag",e,JSON.stringify(t),(function(){setTimeout((function(){r({code:o.SUCCESS})}),0)}),(function(e){setTimeout((function(){r({code:e})}),0)}))}))},e.prototype.removeTagsForConversation=function(e,t){var n=this;return new Promise((function(r){n._callCppProxy("removeTagsForConversation",e.conversationType,e.targetId,e.channelId||"",t,(function(){setTimeout((function(){r({code:o.SUCCESS})}),0)}),(function(e){setTimeout((function(){r({code:e})}),0)}))}))},e.prototype.getConversationListByTag=function(e,t,n,r){var i=this;return new Promise((function(s){var a=i._callCppProxy("getConversationsForTagByPage",e,t,n||20,r||""),c=i._convertResultList(a,(function(e){return Ee(Ee({},i._buildConversation(JSON.stringify(e))),{isTopInTag:e.topForTag})}));s({code:o.SUCCESS,data:c})}))},e.prototype.getUnreadCountByTag=function(e,t){var n=this;return new Promise((function(r){var i=n._callCppProxy("getConversationUnreadCountForTag",e,t);r({code:o.SUCCESS,data:i})}))},e.prototype.setConversationStatusInTag=function(e,t,n){var r=this;return new Promise((function(i){r._callCppProxy("setConversationToTopForTag",e,t.conversationType,t.targetId,t.channelId||"",n.isTop||!1,(function(){setTimeout((function(){i({code:o.SUCCESS})}),0)}),(function(e){setTimeout((function(){i({code:e})}),0)}))}))},e.prototype.getTagsForConversation=function(e){var t=this;return new Promise((function(n){var r=t._callCppProxy("getTagsForConversation",e.conversationType,e.targetId,e.channelId||""),i=t._convertResultList(r,(function(e){return{tagId:e.tagId,tagName:e.tagName,isTop:e.isTop,createdTime:e.tagTime}}));n({code:o.SUCCESS,data:i})}))},e.prototype.getBlockConversationList=function(){throw new Error("Method not implemented.")},e.prototype.getTopConversationList=function(e,t){var n=this;return new Promise((function(r){var i=L(t)?n._callCppProxy("getTopConversations",e):n._callCppProxy("getTopConversations",e,t),s=JSON.parse(i).list.map((function(e){return n._buildConversation(e.obj)}));r({code:o.SUCCESS,data:s})}))},e.prototype.getUnreadMentionedCount=function(e){throw new Error("Method not implemented.")},e.prototype.getAllUnreadMentionedCount=function(){var e=this;return new Promise((function(t){var n=e._callCppProxy("getUnreadAndMentionCount",[b.GROUP],"");t({code:o.SUCCESS,data:n})}))},e.prototype.getOSInfo=function(){return Te(this,void 0,void 0,(function(){var e;return Re(this,(function(t){return e={arch:ee.arch(),platform:ee.platform(),type:ee.type(),version:ee.version(),release:ee.release(),uptime:ee.uptime(),cpus:ee.cpus(),freemem:ee.freemem(),totalmem:ee.totalmem(),networkInterfaces:ee.networkInterfaces()},[2,{code:o.SUCCESS,data:e}]}))}))},e.prototype.getMainProcessInfo=function(){return Te(this,void 0,void 0,(function(){return Re(this,(function(e){return[2,{code:o.SUCCESS,data:{title:process.title,pid:process.pid,ppid:process.ppid,platform:process.platform,arch:process.arch,uptime:process.uptime(),cpuUsage:process.cpuUsage(),memoryUsage:process.memoryUsage(),resourceUsage:process.resourceUsage()}}]}))}))},e.prototype.setCallInfo=function(e,t,n){var r=this;return new Promise((function(i){r._callCppProxy("callInfoSignaling",e,t,n,(function(e,t){setTimeout((function(){i({code:o.SUCCESS,data:{key:e,value:t}})}),0)}),(function(e){setTimeout((function(){i({code:e})}),0)}))}))},e.prototype.setProxy=function(e){return this.tcpMgr.getConnectionStatus()!==_.DISCONNECTED?Promise.resolve({code:o.RC_CONN_PROXY_UNAVAILABLE}):Promise.resolve(Ze(e,this.logger))},e.prototype.getProxy=function(){return Promise.resolve(et())},e.prototype.testProxy=function(e,t){return function(e,t,n){return new Promise((function(o){var r=/^https/.test(t)?Xe:Qe;n.info(i.A_TEST_PROXY_O,JSON.stringify({msg:"test proxy",proxy:e,testHost:t}));var s=r(t,e,(function(e){var t=200===e.statusCode?0:e.statusCode;e.setEncoding("utf8");var n="";e.on("data",(function(e){n+=e})),e.once("end",(function(){o({status:t||0,data:n})}))}));s.once("timeout",(function(){return o({status:0})})),s.once("error",(function(e){return o({status:0,data:e.stack})})),s.end()}))}(e,t,this.logger)},e.prototype.checkDuplicateMessage=function(e){var t=this;return new Promise((function(n){var r=t._callCppProxy("checkDuplicateMessage",e);n({code:o.SUCCESS,data:r})}))},e.prototype.subscribeUser=function(e,t,n){var r=this;return new Promise((function(i){r._callCppProxy("updateSubscribeStatus",t,K.SUBSCRIBE,e,(function(){i({code:o.SUCCESS})}),(function(e,t){i({code:e,data:t})}),n)}))},e.prototype.unSubscribeUser=function(e,t){var n=this;return new Promise((function(r){n._callCppProxy("updateSubscribeStatus",t,K.UNSUBSCRIBE,e,(function(){r({code:o.SUCCESS})}),(function(e){r({code:e})}),0)}))},e.prototype.getSubscribeUserList=function(e,t,n){var r=this._callCppProxy("getSubscribeUserList",e,t,n),i=this._buildSubscribeEventData(r).map((function(e){var t=e.userId,n=e.subscribeType,o=e.subscribeTime,r=e.expiry,i=e.details,s={userId:t,subscribeType:n,subscribeTime:o,expiry:r};return n===I.ONLINE_STATUS&&(s.details=Q(i)),s}));return Promise.resolve({code:o.SUCCESS,data:i})},e.prototype.setDuplicateMessageConfig=function(e){var t=this._callCppProxy("setDuplicateMessageConfig",[b.CHATROOM],mt.cuid,e);return Promise.resolve({code:t})},e.prototype.getSubscribeUserStatus=function(e,t){var n=this._callCppProxy("getSubscribeStatusByUserIds",e,t),r=this._buildSubscribeEventData(n).map((function(e){var t=e.userId,n=e.subscribeType,o=e.subscribeTime,r=e.expiry,i=e.details,s={userId:t,subscribeType:n,subscribeTime:o,expiry:r};return n===I.ONLINE_STATUS&&(s.details=Q(i)),s}));return Promise.resolve({code:o.SUCCESS,data:r})},e.prototype.updateMyUserProfile=function(e){var t=this;return new Promise((function(n){var o=[],r=[];Object.keys(e).forEach((function(t){var n;if("extraProfile"===t&&e.extraProfile){if(e.extraProfile){var i=e.extraProfile;Object.keys(i).forEach((function(e){r.push(JSON.stringify({key:e,value:i[e]||""}))}))}}else o.push(JSON.stringify({key:t,value:(null===(n=e[t])||void 0===n?void 0:n.toString())||""}))})),t._callCppProxy("updateUserProfile",o,r,(function(e,t){n({code:e,data:{errorKey:t}})}))}))},e.prototype.getUserProfiles=function(e){var t=this;return new Promise((function(n){t._callCppProxy("getUserProfiles",e,(function(e,o){n({code:e,data:t._string2UserProfileInfoList(o)})}))}))},e.prototype.getMyUserProfile=function(){var e=this;return new Promise((function(t){e._callCppProxy("getOwnUserProfile",(function(n,o){t({code:n,data:e._string2userProfileInfo(o)})}))}))},e.prototype._string2userProfileInfo=function(e){var t;try{var n=JSON.parse(e),o=n.userProfile.reduce((function(e,t){var n=JSON.parse(t);return["gender","role","level"].includes(n.key)?e[n.key]=Number(n.value):e[n.key]=n.value,e}),{});return o.userId=n.userId,o.extraProfile=(null===(t=n.userExtProfile)||void 0===t?void 0:t.reduce((function(e,t){var n=JSON.parse(t);return e[n.key]=n.value,e}),{}))||{},o}catch(t){this.logger.error(Pe.P_PARSE_JSON_USER_PROFILE_E,JSON.stringify({error:null==t?void 0:t.stack,str:e}))}return{}},e.prototype._string2UserProfileInfoList=function(e){var t=this;try{return JSON.parse(e).list.map((function(e){return t._string2userProfileInfo(e.obj)}))}catch(t){this.logger.error(Pe.P_PARSE_JSON_USER_PROFILE_E,JSON.stringify({error:null==t?void 0:t.stack,str:e}))}return[]},e.prototype.updateMyUserProfileVisibility=function(e){var t=this;return new Promise((function(n){t._callCppProxy("updateUserProfilePermission",e,(function(){n({code:o.SUCCESS})}),(function(e){n({code:e})}))}))},e.prototype.getMyUserProfileVisibility=function(){var e=this;return new Promise((function(t){e._callCppProxy("getUserProfilePermission",(function(e,n){t({code:e,data:n})}))}))},e.prototype.searchUserProfileByUniqueId=function(e){var t=this;return new Promise((function(n){t._callCppProxy("getUserProfileByUniqueId",e,(function(e,o){n({code:e,data:t._string2userProfileInfo(o)})}))}))},e.prototype.getMatchedMessage=function(e,t,n,r){var i,s=this._callCppProxy("getMatchedMessage",e.conversationType,e.targetId,t,n,r,e.channelId||""),a=[];try{i=JSON.parse(s).list;for(var c=0;c<i.length;c++){var u=this._buildMessage(i[c].obj);a.push(u)}}catch(e){return this.logger.error(Pe.P_PARSE_JSON_MSGS_E,s),Promise.resolve({code:o.MAIN_PROCESS_ERROR})}return Promise.resolve({code:o.SUCCESS,data:a})},e.prototype.getConversations=function(e){var t,n=this,r=e.map((function(e){var t=e.conversationType,n=e.targetId,o=e.channelId;return{targetId:n,channelId:void 0===o?"":o,type:t}})),i=this._callCppProxy("getConversations",JSON.stringify(r));try{t=JSON.parse(i).list.map((function(e){return n._buildConversation(e.obj)}))}catch(e){return this.logger.error(Pe.P_PARSE_JSON_MSGS_E,i),Promise.resolve({code:o.MAIN_PROCESS_ERROR})}return Promise.resolve({code:o.SUCCESS,data:t})},e}(),Nt=$(__dirname,"binding","electron-"+ne()+"-"+te()+".node"),Ot={addon:null},Mt=(Rt=process,{sendError:function(e){Rt.send({type:tt.ERROR,data:{msg:e}})},sendEvent:function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];Rt.send({type:tt.EVENT,data:{eventName:e,data:t}})},sendResponse:function(e){Rt.send({type:tt.RESPONSE,data:e})},sendCallback:function(e){Rt.send({type:tt.CALLBACK,data:e})}}).sendError;try{Ot.addon=require(Nt)}catch(e){console.error("error ->",Nt,"\n",e),Mt(e.toString())}Ot.addon||console.error("error -> cannot find module: ",Nt);var bt,Ut=Ot.addon,xt=function(){function e(e,t,n,o,r,i){this.sendCallback=i,this._cppService=new It(e,Ut,t,r,o,n)}return e.prototype.call=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return Te(this,void 0,void 0,(function(){var n,o=this;return Re(this,(function(r){switch(r.label){case 0:return"sendMessage"===e&&(t[3]=function(e){var n=t[3];o.sendCallback({reqId:n,data:e})}),[4,(n=this._cppService).callProxy.apply(n,Ie([e],t,!1))];case 1:return[2,{success:!0,data:r.sent()}]}}))}))},e.prototype.send=function(e){for(var t,n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];(t=this._cppService).sendProxy.apply(t,Ie([e],n,!1))},e.prototype.destroy=function(){this._cppService.destroy()},e}(),Lt=function(){function e(e,t,n,o,r){var i=this;this._appkey=e,this._dbpath=t,this._logOutputLevel=n,this._runInMainProcess=o,this._enableSyncEmptyTopConversation=r,this._catch={crtUserId:"",connectedTime:0,naviInfo:null,connectionStatus:2,deviceId:"",deltaTime:0},this._connectionStatus=_.DISCONNECTED,this._connectInfo={token:"",reconnectKickEnable:!1,openCallPlus:!1,traceId:""},this._registerMessageTypeList=[],this._isProcessQuit=!1,this._senders={},this._callbackCache={},this._createServiceProxy(),Y.on("__RC_CHANNEL_CALL_MAIN_SYNC__",(function(e,t){for(var n=[],o=2;o<arguments.length;o++)n[o-2]=arguments[o];return Te(i,void 0,void 0,(function(){var o,r;return Re(this,(function(i){switch(i.label){case 0:return[4,(r=this._cppServiceProcessProxy).call.apply(r,Ie([t],n,!1))];case 1:return o=i.sent(),e.returnValue=o.data,[2]}}))}))})),Y.on("__RC_CHANNEL_CALL_MAIN__",(function(e,t,n){for(var o=[],r=3;r<arguments.length;r++)o[r-3]=arguments[r];return Te(i,void 0,void 0,(function(){var r,i,s;return Re(this,(function(a){switch(a.label){case 0:return"sendMessage"===n&&(r=o[3],this._callbackCache[r]=e.sender),"connect"===n&&(this._connectInfo={token:o[0],reconnectKickEnable:o[1],openCallPlus:o[2],traceId:o[3]}),"registerMessageType"===n&&this._registerMessageTypeList.push({objectName:o[0],isPersited:o[1],isCounted:o[2],searchProps:o[3]}),[4,(s=this._cppServiceProcessProxy).call.apply(s,Ie([n],o,!1))];case 1:if(!(i=a.sent()).success)throw new Error(i.data.msg);return this._send2Renderer(e.sender,"__RC_CHANNEL_RESULT_FROM_MAIN__",t,i.data),[2]}}))}))})),Y.on("__RC_CHANNEL_SEND_2_MAIN__",(function(e,t){for(var n,o=[],r=2;r<arguments.length;r++)o[r-2]=arguments[r];(n=i._cppServiceProcessProxy).send.apply(n,Ie([t],o,!1))})),Y.on("__RC_INNER_COMMAND_INIT__",this._registerRenderers.bind(this)),X.on("before-quit",(function(){i._isProcessQuit=!0,i.destroy()})),X.on("window-all-closed",(function(){i._isProcessQuit=!0,i.destroy()}))}return e.prototype._send2Renderer=function(e,t){for(var n=[],o=2;o<arguments.length;o++)n[o-2]=arguments[o];e.isDestroyed()?delete this._senders[e.id]:e.send.apply(e,Ie([t],n,!1))},e.prototype._send2AllRenderer=function(e,t,n){var o=this;void 0===n&&(n=[]),Object.keys(this._senders).forEach((function(r){var i=o._senders[r];n.includes(i)||o._send2Renderer(i,"__RC_CHANNEL_NOTIFICATION_FROM_MAIN__",e,t)}))},e.prototype._registerRenderers=function(e,t){var n=this,o=e.sender,r=o.id;this._cppServiceProcessProxy.send("registerRenderers",t),this._senders[r]||(this._senders[r]=o,o.once("destroyed",(function(){delete n._senders[r]})))},e.prototype.getMainCache=function(){return this._catch},e.prototype._restartSubProcessProxy=function(){var e=this;if(this._createServiceProxy(),this._connectionStatus!==_.DISCONNECTED){this._send2AllRenderer("onSuspend",o.SUB_PROCESS_EXIT),this._registerMessageTypeList.forEach((function(t){e._cppServiceProcessProxy.send("registerMessageType",t.objectName,t.isPersited,t.isCounted,t.searchProps)}));var t=this._connectInfo,n=t.token,r=t.reconnectKickEnable,i=t.openCallPlus,s=t.traceId;this._cppServiceProcessProxy.send("connect",n,r,i,s)}},e.prototype._eventNotifyHandler=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var o=t[0],r=t[1];switch(e){case"onConnected":this._catch=o,this._connectionStatus=_.CONNECTED;break;case"onSuspend":this._connectionStatus=_.SUSPENDED;break;case"onDisconnected":this._connectionStatus=_.DISCONNECTED;break;case"onConnecting":this._connectionStatus=_.CONNECTING}this._send2AllRenderer(e,o,r)},e.prototype._callbackHandler=function(e){var t=e.reqId,n=e.data;this._callbackCache[t]&&this._send2Renderer(this._callbackCache[t],"__RC_CHANNEL_RESULT_FROM_MAIN__",t,n)},e.prototype._createServiceProxy=function(){var e=this,t=this._dbpath||$(X.getPath("userData"));if(this._runInMainProcess)this._cppServiceProcessProxy=new xt(this._appkey,t,this._logOutputLevel,this._enableSyncEmptyTopConversation,this._eventNotifyHandler.bind(this),this._callbackHandler.bind(this));else{var n=z($(__dirname,"cppServiceProcess.js"),[this._appkey,t,this._enableSyncEmptyTopConversation.toString(),this._logOutputLevel.toString()]);this._cppServiceProcessProxy=new gt(n,this._eventNotifyHandler.bind(this),this._callbackHandler.bind(this),(function(t,n){void 0===n&&(n=!1);var o="sub process exit, msg: "+t+", isRestart: "+n+", _isProcessQuit: "+e._isProcessQuit;if(console.error(o),n&&!e._isProcessQuit)return e._restartSubProcessProxy()}))}},e.prototype.destroy=function(){this._cppServiceProcessProxy.destroy()},e}(),wt=function(){function e(e,t,n,o,r){this._rcMain=new Lt(e,t,n,o,r)}return e.prototype.getCppProto=function(){var e=this;return{destroy:function(){console.warn("`.getCppProto().destroy()` has being deprecated, use `.destroy()` instead."),e.destroy()}}},e.prototype.destroy=function(){this._rcMain.destroy()},e.prototype.getDeviceId=function(){return this._rcMain.getMainCache().deviceId},e.prototype.getServerTime=function(){return this._rcMain.getMainCache().connectedTime},e}(),At=function(e){return function(e,t){if(bt)return bt;if(!e)throw new Error("Initializ failed, `appkey` is required!");return bt=new wt(e,(null==t?void 0:t.dbpath)||"",(null==t?void 0:t.logOutputLevel)||W.WARN,(null==t?void 0:t.runInMainProcess)||!1,!!(null==t?void 0:t.enableSyncEmptyTopConversation))}(e.appkey,e)};export{At as default};