jugglechat-websdk 1.5.1 → 1.5.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.js +2 -2
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* JuggleChat.js v1.5.
|
|
2
|
+
* JuggleChat.js v1.5.2
|
|
3
3
|
* (c) 2022-2024 JuggleChat
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/const noop=()=>{},isObject=e=>"[object Object]"===Object.prototype.toString.call(e),isArray=e=>"[object Array]"===Object.prototype.toString.call(e),isFunction=e=>"[object Function]"===Object.prototype.toString.call(e),isString=e=>"[object String]"===Object.prototype.toString.call(e),isBoolean=e=>"[object Boolean]"===Object.prototype.toString.call(e),isUndefined=e=>"[object Undefined]"===Object.prototype.toString.call(e),isNull=e=>"[object Null]"===Object.prototype.toString.call(e),isNumber=e=>"[object Number]"===Object.prototype.toString.call(e),stringify=e=>JSON.stringify(e),parse=t=>{let n={};try{n=JSON.parse(t)}catch(s){n=t}return n},forEach=(e,t)=>{t=t||noop;isObject(e)&&(()=>{for(var n in e)t(e[n],n,e)})(),isArray(e)&&(()=>{for(var n=0,s=e.length;n<s;n++)t(e[n],n,e)})()},isEmpty=e=>{let t=!0;return isObject(e)&&forEach(e,()=>{t=!1}),(isString(e)||isArray(e))&&(t=0===e.length),isNumber(e)&&(t=-1===e),t},rename=(e,t)=>{var n=isObject(e);n&&(e=[e]),e=parse(stringify(e));var s=function(e,n,s){delete s[n],n=t[n],s[n]=e};return forEach(e,e=>{forEach(e,(e,n,o)=>{var i=(n in t);(i?s:noop)(e,n,o)})}),isObject?e[0]:e},extend=(e,t)=>(t=isArray(t)?t:[t],forEach(t,t=>{for(let n in t){let s=t[n];isUndefined(s)||(e[n]=s)}}),e),Defer=Promise,deferred=e=>new Defer(e),templateFormat=(e,t,n)=>{isArray(t)||(t=[t]);let s=[],o=t=>e.replace(n||/\\?\{([^}]+)\}/g,(e,n)=>"\\"===e.charAt(0)?e.slice(1):void 0===t[n]?"{"+n+"}":t[n]);for(let r=0,i=t.length;r<i;r++)s.push(o(t[r]));return s.join("")},isContain=(e,t)=>-1<e.indexOf(t),isEqual=(e,t)=>e===t,Cache$1=e=>{isObject(e)||(e={});let t=(t,n)=>{e[t]=n},n=t=>e[t],s=t=>{delete e[t]},o=()=>{let t=[];for(let n in e)t.push(n);return t},i=()=>{e={}};return{set:t,get:n,remove:s,getKeys:o,clear:i}},request=(e,t)=>deferred((n,s)=>{requestNormal(e,t,{success:n,fail:s})}),requestNormal=(e,t,n)=>{t=t||{},n=n||{success:noop,fail:noop,progress:noop};let s=new XMLHttpRequest,o=t.method||"GET";s.open(o,e,!0);let i=t.headers||{};forEach(i,(e,t)=>{s.setRequestHeader(t,e)});let r=t.body||{},d=()=>/^(200|202)$/.test(s.status),a=t.timeout;return a&&(s.timeout=a),s.onreadystatechange=function(){if(isEqual(s.readyState,4)){let{responseText:e}=s;e=e||"{}";let t=parse(e);if(d())n.success(t,s);else{let{status:e}=s,o={status:e,result:t};n.fail(o)}}},s.upload.onprogress=function(e){e.lengthComputable&&n.progress(e)},s.onerror=e=>{n.fail(e)},s.send(r),s},map=(e,t)=>e.map(t),filter=(e,t)=>e.filter(t),uniq=(e,t)=>{let n=[],s={};return e.forEach(e=>{let n=t(e);s[n.key]=n.value}),forEach(s,e=>{n.push(e)}),n},some=(e,t)=>e.some(t),toJSON=e=>JSON.stringify(e),toArray=e=>{let t=[];return forEach(e,(e,n)=>{t.push([n,e])}),t},isInclude=(e,t)=>-1<e.indexOf(t),clone$1=e=>JSON.parse(JSON.stringify(e));// 暂时支持 String
|
|
@@ -176,7 +176,7 @@ let{token:r=""}=t;r=r.trim(),t=utils.extend(t,{token:r}),e.connect(t,({error:t,u
|
|
|
176
176
|
return utils.isUndefined(n.conversationType)&&t.add(r),{isFinished:i,conversations:utils.clone(r)}}),o.getConversation=t=>e.getConversation(t).then(e=>{let{conversation:t,groups:n,users:s}=e,o={};return t.isNew||(o=tools.formatConversation({conversation:t,users:s,groups:n})),{conversation:o}}),o}function Message(e,{webAgent:t}){let n=["sendMessage","updateMessageAttr","removeMessages","sendMassMessage","getMessagesByIds","clearMessage","recallMessage","readMessage","getMessageReadDetails","updateMessage","insertMessage","getMentionMessages","getFileToken","sendFileMessage","sendImageMessage","sendVoiceMessage","sendVideoMessage","sendMergeMessage","getMergeMessages"],s=common.formatProvider(n,e);return s.getMessages=n=>utils.deferred((s,o)=>{let{order:i=MESSAGE_ORDER.BACKWARD}=n,r={time:n.time||0,order:i,count:n.count||20,names:n.names||[],conversationType:n.conversationType,conversationId:n.conversationId};return e.getMessages(r).then(({messages:p=[],isFinished:i,groups:d,senders:a})=>{let c=utils.filter(p,e=>utils.isEqual(e.sentState,MESSAGE_SENT_STATE.SUCCESS)),l=()=>{// if(utils.isEqual(order, MESSAGE_ORDER.BACKWARD)){
|
|
177
177
|
// messages.reverse();
|
|
178
178
|
// }
|
|
179
|
-
let e=tools.formatMsgs({messages:p,senders:a,groups:d});s({isFinished:i,messages:e})},m=utils.isContinuous(c,"messageIndex"),u=p.length,E=i&&r.count>u;return E||!m?utils.isEmpty(r.names)?t.getMessages(n).then(t=>{let n=[],o=[];utils.forEach(t.messages,e=>{let t=utils.find(p,t=>utils.isEqual(t.messageId,e.messageId));if(utils.isEqual(t,-1))n.push(e);else{let e=p[t];o.push(e)}}),e.insertBatchMsgs({msgs:n});let i=tools.formatMsgs({messages:o,senders:a,groups:d}),r=n.concat(i);r=utils.quickSort(r,(e,t)=>e.sentTime<t.sentTime),s({isFinished:t.isFinished,messages:r})},o):l():void l()})}),s.searchMessages=t=>e.searchMessages(t).then(e=>{let{total:t,list:n,groups:s,senders:o,isFinished:i}=e;return n=utils.map(n,e=>{let{matchedList:t,matchedCount:n,conversationType:i,conversationId:r}=e,d=tools.formatMsgs({messages:t,senders:o,groups:s});return{matchedList:d,matchedCount:n,conversationType:i,conversationId:r}}),{total:t,list:n,isFinished:i}}),s}function Socket(e){let t=["connect","disconnect","getDevice","isConnected","getCurrentUser"],n=common.formatProvider(t,e);return n}function Chatroom(e){let t=t=>e.joinChatroom(t),n=t=>e.quitChatroom(t);return{joinChatroom:t,quitChatroom:n}}let init$1=({appkey:e,io:t,emitter:n,web:s,client:o,logger:i})=>{let{SIGNAL_NAME:r}=ENUM;// 移除 Web 监听
|
|
179
|
+
let e=tools.formatMsgs({messages:p,senders:a,groups:d});s({isFinished:i,messages:e})},m=utils.isContinuous(c,"messageIndex"),u=p.length,E=i&&r.count>u;return E||!m?utils.isEmpty(r.names)?t.getMessages(n).then(t=>{let n=[],o=[];utils.forEach(t.messages,e=>{let t=utils.find(p,t=>utils.isEqual(t.messageId,e.messageId));if(utils.isEqual(t,-1))n.push(e);else{let e=p[t];o.push(e)}}),e.insertBatchMsgs({msgs:n});let i=tools.formatMsgs({messages:o,senders:a,groups:d}),r=n.concat(i);r=utils.quickSort(r,(e,t)=>e.sentTime<t.sentTime),s({isFinished:t.isFinished,messages:r})},o):l():void l()})}),s.searchMessages=t=>e.searchMessages(t).then(e=>{let{total:t,list:n,groups:s,senders:o,isFinished:i}=e;return n=utils.map(n,e=>{let{matchedList:t,matchedCount:n,conversationType:i,conversationId:r}=e,d=tools.formatMsgs({messages:t,senders:o,groups:s}),a={conversation:{id:r,type:i},users:o,groups:s},p=tools.formatConversation(a),{conversationTitle:c,conversationPortrait:l,conversationExts:m}=p;return{matchedList:d,matchedCount:n,conversationType:i,conversationId:r,conversationTitle:c,conversationPortrait:l,conversationExts:m}}),{total:t,list:n,isFinished:i}}),s}function Socket(e){let t=["connect","disconnect","getDevice","isConnected","getCurrentUser"],n=common.formatProvider(t,e);return n}function Chatroom(e){let t=t=>e.joinChatroom(t),n=t=>e.quitChatroom(t);return{joinChatroom:t,quitChatroom:n}}let init$1=({appkey:e,io:t,emitter:n,web:s,client:o,logger:i})=>{let{SIGNAL_NAME:r}=ENUM;// 移除 Web 监听
|
|
180
180
|
t.off(r.CMD_CONVERSATION_CHANGED),t.off(r.CONN_CHANGED),t.off(r.CMD_RECEIVED);let d=common.ConversationUtils(),a=JGChatPCClient.init(e,{...s,emitter:n,io:t,ENUM,utils,common,MessageCacher,conversationUtils:d,tools,Storage}),p=Socket(a.socket),c=Conversation(a.conversation,{webAgent:s.conversation,conversationUtils:d}),l=Message(a.message,{webAgent:s.message}),m=Chatroom(s.chatroom);// 告知 IO 模块当前是 PC 端,做特殊处理,例如:同步会话列表
|
|
181
181
|
return t.setConfig({isPC:!0,$conversation:a.conversation,$socket:a.socket,$message:a.message,logger:i}),{socket:p,conversation:c,message:l,chatroom:m}};var Desktop={init:init$1};/*
|
|
182
182
|
let option = {
|