@onyx-p/imlib-web 2.7.6 → 2.7.8

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
@@ -21542,6 +21542,9 @@ class ConversationManager {
21542
21542
  isPersited,
21543
21543
  targetId
21544
21544
  } = message;
21545
+ if (!isPersited) {
21546
+ return;
21547
+ }
21545
21548
  const conOpt = {
21546
21549
  conversationType,
21547
21550
  targetId
@@ -22494,6 +22497,7 @@ class MessageCache {
22494
22497
  return decryptedMessage;
22495
22498
  }
22496
22499
  async addMessages(messages, toConversation, isEnd = undefined) {
22500
+ messages = messages?.filter(message => message.isPersited);
22497
22501
  if (!messages || messages.length === 0 || !this.db) {
22498
22502
  if (isDef(isEnd)) {
22499
22503
  const dialogId = getFullDialogId(toConversation);
@@ -23306,7 +23310,7 @@ const GroupCloseBurnAfterReadingMessage = registerMessageType$1(NotiMessageTypes
23306
23310
 
23307
23311
  const RecallCommandMessage = registerMessageType$1(MessageTypes.RECALL, true, false, false);
23308
23312
 
23309
- const DEFAULT_SOCKET_URI = 'wss://imweb.mp.net:6443';
23313
+ const DEFAULT_SOCKET_URI = 'wss://test.mp.net';
23310
23314
  class LibLoader {
23311
23315
  options;
23312
23316
  connectionStatus = ConnectionStatus.DISCONNECTED;
@@ -31201,6 +31205,30 @@ class IMClient extends EventEmitter {
31201
31205
  return this.libLoader.getConnectionStatus();
31202
31206
  }
31203
31207
  getServerTime = getServerTime$1;
31208
+ async insertMessage(conversation, content, options) {
31209
+ if (!content.messageId || content.messageId > getCurrentMessageId()) {
31210
+ content.messageId = generateNewMessageId();
31211
+ }
31212
+ ConversationManager$1.get().setConversationCacheByMessage(content);
31213
+ try {
31214
+ const cache = MessageCache$1.get();
31215
+ if (content.isPersited && cache) {
31216
+ await cache.upsertMessage(content);
31217
+ const cachedLatestMessage = await cache.getLatestMessage(content);
31218
+ let latestMessage = content;
31219
+ if (cachedLatestMessage && Long.fromString(cachedLatestMessage.sentTime).greaterThan(Long.fromString(content.sentTime))) {
31220
+ latestMessage = cachedLatestMessage;
31221
+ }
31222
+ ConversationManager$1.get().updateLatestMessage(content, latestMessage);
31223
+ }
31224
+ } catch (error) {
31225
+ logger$1.error('insertMessage -> ', error);
31226
+ }
31227
+ return {
31228
+ code: ErrorCode.SUCCESS,
31229
+ data: content
31230
+ };
31231
+ }
31204
31232
  sendMessage = sendMessage$1;
31205
31233
  sendImageMessage = sendImageMessage$1;
31206
31234
  sendGIFMessage = sendGIFMessage$1;
@@ -32599,6 +32627,9 @@ const registerMessageType = (messageType, isPersited, isCounted, isStatusMessage
32599
32627
  registerMessage(messageType, messageConstructor);
32600
32628
  return messageConstructor;
32601
32629
  };
32630
+ const insertMessage = async (conversation, content, options) => {
32631
+ return imClient.insertMessage(conversation, content, options);
32632
+ };
32602
32633
  const sendMessage = async (conversation, message, options) => {
32603
32634
  if (message instanceof BaseMessage === false) {
32604
32635
  logger$1.warn('send message fail -> message parameter is not an instance of BaseMessage');
@@ -32804,4 +32835,4 @@ const getMessageByUId = async messageUId => {
32804
32835
  };
32805
32836
  };
32806
32837
 
32807
- export { ChatRecordMessage, ConnectionStatus, ContactMessage, ConversationType, ErrorCode, ErrorDesc, Events, FileMessage, GIFMessage, GroupCloseBurnAfterReadingMessage, GroupOpenBurnAfterReadingMessage, VoiceMessage as HQVoiceMessage, ImageMessage, InvitationMessage, LinkMessage, LocationMessage, LogLevel, MentionedType, MessageDirection, MessageTypes, NotiMessageTypes, NotificationLevel, NotificationStatus, PrivateCloseBurnAfterReadingMessage, PrivateOpenBurnAfterReadingMessage, RecallCommandMessage, ReceivedStatus, RedEnvelopeMessage, SentStatus, TextMessage, TransferMessage, VideoMessage, addEventListener, clearAllMessagesUnreadStatus, clearBurnAfterReadingExpiredMessages, clearHistoryMessages, clearMessagesUnreadStatus, clearTextMessageDraft, connect, deleteMessages, disconnect, encodeReceivedMessage2ChatRecordMsgDetail, getAllConversationState, getAllUnreadMentionedCount, getBlockedConversationList, getConnectionStatus, getConversation, getConversationList, getConversationNotificationLevel, getConversationNotificationStatus, getConversationState, getMessageById, getMessageByUId, getRemoteHistoryMessages, getServerTime, getTextMessageDraft, getTopConversationList, getTotalUnreadCount, getUnreadCount, getUnreadMentionedCount, init, logOut, mockLogin, onceEventListener, parseChatRecordMsgDetails, recallMessage, registerMessageType, removeConversation, removeEventListener, request, saveTextMessageDraft, sendFileMessage, sendGIFMessage, sendHQVoiceMessage, sendImageMessage, sendMessage, sendQuoteReplyMessage, sendReadReceipts, sendSightMessage, sendTextMessage, setConversationNotificationStatus, setConversationToTop, setUserLogged };
32838
+ export { ChatRecordMessage, ConnectionStatus, ContactMessage, ConversationType, ErrorCode, ErrorDesc, Events, FileMessage, GIFMessage, GroupCloseBurnAfterReadingMessage, GroupOpenBurnAfterReadingMessage, VoiceMessage as HQVoiceMessage, ImageMessage, InvitationMessage, LinkMessage, LocationMessage, LogLevel, MentionedType, MessageDirection, MessageTypes, NotiMessageTypes, NotificationLevel, NotificationStatus, PrivateCloseBurnAfterReadingMessage, PrivateOpenBurnAfterReadingMessage, RecallCommandMessage, ReceivedStatus, RedEnvelopeMessage, SentStatus, TextMessage, TransferMessage, VideoMessage, addEventListener, clearAllMessagesUnreadStatus, clearBurnAfterReadingExpiredMessages, clearHistoryMessages, clearMessagesUnreadStatus, clearTextMessageDraft, connect, deleteMessages, disconnect, encodeReceivedMessage2ChatRecordMsgDetail, getAllConversationState, getAllUnreadMentionedCount, getBlockedConversationList, getConnectionStatus, getConversation, getConversationList, getConversationNotificationLevel, getConversationNotificationStatus, getConversationState, getMessageById, getMessageByUId, getRemoteHistoryMessages, getServerTime, getTextMessageDraft, getTopConversationList, getTotalUnreadCount, getUnreadCount, getUnreadMentionedCount, init, insertMessage, logOut, mockLogin, onceEventListener, parseChatRecordMsgDetails, recallMessage, registerMessageType, removeConversation, removeEventListener, request, saveTextMessageDraft, sendFileMessage, sendGIFMessage, sendHQVoiceMessage, sendImageMessage, sendMessage, sendQuoteReplyMessage, sendReadReceipts, sendSightMessage, sendTextMessage, setConversationNotificationStatus, setConversationToTop, setUserLogged };
package/index.umd.js CHANGED
@@ -21548,6 +21548,9 @@
21548
21548
  isPersited,
21549
21549
  targetId
21550
21550
  } = message;
21551
+ if (!isPersited) {
21552
+ return;
21553
+ }
21551
21554
  const conOpt = {
21552
21555
  conversationType,
21553
21556
  targetId
@@ -22500,6 +22503,7 @@
22500
22503
  return decryptedMessage;
22501
22504
  }
22502
22505
  async addMessages(messages, toConversation, isEnd = undefined) {
22506
+ messages = messages?.filter(message => message.isPersited);
22503
22507
  if (!messages || messages.length === 0 || !this.db) {
22504
22508
  if (isDef(isEnd)) {
22505
22509
  const dialogId = getFullDialogId(toConversation);
@@ -23312,7 +23316,7 @@
23312
23316
 
23313
23317
  const RecallCommandMessage = registerMessageType$1(MessageTypes.RECALL, true, false, false);
23314
23318
 
23315
- const DEFAULT_SOCKET_URI = 'wss://imweb.mp.net:6443';
23319
+ const DEFAULT_SOCKET_URI = 'wss://test.mp.net';
23316
23320
  class LibLoader {
23317
23321
  options;
23318
23322
  connectionStatus = exports.ConnectionStatus.DISCONNECTED;
@@ -31207,6 +31211,30 @@
31207
31211
  return this.libLoader.getConnectionStatus();
31208
31212
  }
31209
31213
  getServerTime = getServerTime$1;
31214
+ async insertMessage(conversation, content, options) {
31215
+ if (!content.messageId || content.messageId > getCurrentMessageId()) {
31216
+ content.messageId = generateNewMessageId();
31217
+ }
31218
+ ConversationManager$1.get().setConversationCacheByMessage(content);
31219
+ try {
31220
+ const cache = MessageCache$1.get();
31221
+ if (content.isPersited && cache) {
31222
+ await cache.upsertMessage(content);
31223
+ const cachedLatestMessage = await cache.getLatestMessage(content);
31224
+ let latestMessage = content;
31225
+ if (cachedLatestMessage && Long.fromString(cachedLatestMessage.sentTime).greaterThan(Long.fromString(content.sentTime))) {
31226
+ latestMessage = cachedLatestMessage;
31227
+ }
31228
+ ConversationManager$1.get().updateLatestMessage(content, latestMessage);
31229
+ }
31230
+ } catch (error) {
31231
+ logger$1.error('insertMessage -> ', error);
31232
+ }
31233
+ return {
31234
+ code: exports.ErrorCode.SUCCESS,
31235
+ data: content
31236
+ };
31237
+ }
31210
31238
  sendMessage = sendMessage$1;
31211
31239
  sendImageMessage = sendImageMessage$1;
31212
31240
  sendGIFMessage = sendGIFMessage$1;
@@ -32605,6 +32633,9 @@
32605
32633
  registerMessage(messageType, messageConstructor);
32606
32634
  return messageConstructor;
32607
32635
  };
32636
+ const insertMessage = async (conversation, content, options) => {
32637
+ return imClient.insertMessage(conversation, content, options);
32638
+ };
32608
32639
  const sendMessage = async (conversation, message, options) => {
32609
32640
  if (message instanceof BaseMessage === false) {
32610
32641
  logger$1.warn('send message fail -> message parameter is not an instance of BaseMessage');
@@ -32860,6 +32891,7 @@
32860
32891
  exports.getUnreadCount = getUnreadCount;
32861
32892
  exports.getUnreadMentionedCount = getUnreadMentionedCount;
32862
32893
  exports.init = init;
32894
+ exports.insertMessage = insertMessage;
32863
32895
  exports.logOut = logOut;
32864
32896
  exports.mockLogin = mockLogin;
32865
32897
  exports.onceEventListener = onceEventListener;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onyx-p/imlib-web",
3
- "version": "2.7.6",
3
+ "version": "2.7.8",
4
4
  "main": "index.umd.js",
5
5
  "module": "index.esm.js",
6
6
  "types": "types/index.d.ts",
package/types/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ConnectionStatus, ConversationType, NotificationLevel, NotificationStatus } from './model/statusTypes';
2
- import { EventListeners, Events, GetHistoryMessageOption, GetHistoryMessageResult, IBaseConversationInfo, IConversationOption, IConversationState, IDeleteMessageOptions, IGetConversationListOptions, IImageMessageOption, IInitOption, IPromiseResult, IRecallMessageOptions, ISendBody, ISenderEnrichedMessage, ISendMessageOptions, IUploadHooks, IUploadMessageOption, ProfileInfo } from './types';
2
+ import { EventListeners, Events, GetHistoryMessageOption, GetHistoryMessageResult, IAsyncRes, IBaseConversationInfo, IConversationOption, IConversationState, IDeleteMessageOptions, IGetConversationListOptions, IImageMessageOption, IInitOption, IPromiseResult, IRecallMessageOptions, ISendBody, ISenderEnrichedMessage, ISendMessageOptions, IUploadHooks, IUploadMessageOption, ProfileInfo, IInsertOptions } from './types';
3
3
  import { BaseMessage, IBaseMessageBody } from './model/baseMessage';
4
4
  import { ITextMessageBody } from './model/messages/textMessage';
5
5
  import IReceivedMessage from './model/iReceivedMessage';
@@ -175,6 +175,7 @@ export declare const getTopConversationList: () => IPromiseResult<IBaseConversat
175
175
  * @param isStatusMessage 是否是状态消息
176
176
  */
177
177
  export declare const registerMessageType: <T extends IBaseMessageBody>(messageType: number, isPersited: boolean, isCounted: boolean, isStatusMessage?: boolean) => new (content: T) => BaseMessage<T>;
178
+ export declare const insertMessage: (conversation: IConversationOption, content: IReceivedMessage, options?: IInsertOptions) => Promise<IAsyncRes<IReceivedMessage>>;
178
179
  /**
179
180
  * 发送消息
180
181
  * @param options
package/types/types.d.ts CHANGED
@@ -202,6 +202,12 @@ export interface IUploadMessageOption extends ISendMessageOptions {
202
202
  export interface IImageMessageOption extends IUploadMessageOption {
203
203
  thumbnailConfig?: IThumbnailConfig;
204
204
  }
205
+ export interface IInsertOptions {
206
+ /**
207
+ * 插入消息是否计入未读数: true 计数 false 不计数, 默认不计数
208
+ */
209
+ isUnread?: boolean;
210
+ }
205
211
  /**
206
212
  * 缩略图配置
207
213
  */