@onyx-p/imlib-web 2.7.6 → 2.7.7

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
@@ -23306,7 +23306,7 @@ const GroupCloseBurnAfterReadingMessage = registerMessageType$1(NotiMessageTypes
23306
23306
 
23307
23307
  const RecallCommandMessage = registerMessageType$1(MessageTypes.RECALL, true, false, false);
23308
23308
 
23309
- const DEFAULT_SOCKET_URI = 'wss://imweb.mp.net:6443';
23309
+ const DEFAULT_SOCKET_URI = 'wss://test.mp.net';
23310
23310
  class LibLoader {
23311
23311
  options;
23312
23312
  connectionStatus = ConnectionStatus.DISCONNECTED;
@@ -31201,6 +31201,30 @@ class IMClient extends EventEmitter {
31201
31201
  return this.libLoader.getConnectionStatus();
31202
31202
  }
31203
31203
  getServerTime = getServerTime$1;
31204
+ async insertMessage(conversation, content, options) {
31205
+ if (!content.messageId || content.messageId > getCurrentMessageId()) {
31206
+ content.messageId = generateNewMessageId();
31207
+ }
31208
+ ConversationManager$1.get().setConversationCacheByMessage(content);
31209
+ try {
31210
+ const cache = MessageCache$1.get();
31211
+ if (content.isPersited && cache) {
31212
+ await cache.upsertMessage(content);
31213
+ const cachedLatestMessage = await cache.getLatestMessage(content);
31214
+ let latestMessage = content;
31215
+ if (cachedLatestMessage && Long.fromString(cachedLatestMessage.sentTime).greaterThan(Long.fromString(content.sentTime))) {
31216
+ latestMessage = cachedLatestMessage;
31217
+ }
31218
+ ConversationManager$1.get().updateLatestMessage(content, latestMessage);
31219
+ }
31220
+ } catch (error) {
31221
+ logger$1.error('insertMessage -> ', error);
31222
+ }
31223
+ return {
31224
+ code: ErrorCode.SUCCESS,
31225
+ data: content
31226
+ };
31227
+ }
31204
31228
  sendMessage = sendMessage$1;
31205
31229
  sendImageMessage = sendImageMessage$1;
31206
31230
  sendGIFMessage = sendGIFMessage$1;
@@ -32599,6 +32623,9 @@ const registerMessageType = (messageType, isPersited, isCounted, isStatusMessage
32599
32623
  registerMessage(messageType, messageConstructor);
32600
32624
  return messageConstructor;
32601
32625
  };
32626
+ const insertMessage = async (conversation, content, options) => {
32627
+ return imClient.insertMessage(conversation, content, options);
32628
+ };
32602
32629
  const sendMessage = async (conversation, message, options) => {
32603
32630
  if (message instanceof BaseMessage === false) {
32604
32631
  logger$1.warn('send message fail -> message parameter is not an instance of BaseMessage');
@@ -32804,4 +32831,4 @@ const getMessageByUId = async messageUId => {
32804
32831
  };
32805
32832
  };
32806
32833
 
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 };
32834
+ 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
@@ -23312,7 +23312,7 @@
23312
23312
 
23313
23313
  const RecallCommandMessage = registerMessageType$1(MessageTypes.RECALL, true, false, false);
23314
23314
 
23315
- const DEFAULT_SOCKET_URI = 'wss://imweb.mp.net:6443';
23315
+ const DEFAULT_SOCKET_URI = 'wss://test.mp.net';
23316
23316
  class LibLoader {
23317
23317
  options;
23318
23318
  connectionStatus = exports.ConnectionStatus.DISCONNECTED;
@@ -31207,6 +31207,30 @@
31207
31207
  return this.libLoader.getConnectionStatus();
31208
31208
  }
31209
31209
  getServerTime = getServerTime$1;
31210
+ async insertMessage(conversation, content, options) {
31211
+ if (!content.messageId || content.messageId > getCurrentMessageId()) {
31212
+ content.messageId = generateNewMessageId();
31213
+ }
31214
+ ConversationManager$1.get().setConversationCacheByMessage(content);
31215
+ try {
31216
+ const cache = MessageCache$1.get();
31217
+ if (content.isPersited && cache) {
31218
+ await cache.upsertMessage(content);
31219
+ const cachedLatestMessage = await cache.getLatestMessage(content);
31220
+ let latestMessage = content;
31221
+ if (cachedLatestMessage && Long.fromString(cachedLatestMessage.sentTime).greaterThan(Long.fromString(content.sentTime))) {
31222
+ latestMessage = cachedLatestMessage;
31223
+ }
31224
+ ConversationManager$1.get().updateLatestMessage(content, latestMessage);
31225
+ }
31226
+ } catch (error) {
31227
+ logger$1.error('insertMessage -> ', error);
31228
+ }
31229
+ return {
31230
+ code: exports.ErrorCode.SUCCESS,
31231
+ data: content
31232
+ };
31233
+ }
31210
31234
  sendMessage = sendMessage$1;
31211
31235
  sendImageMessage = sendImageMessage$1;
31212
31236
  sendGIFMessage = sendGIFMessage$1;
@@ -32605,6 +32629,9 @@
32605
32629
  registerMessage(messageType, messageConstructor);
32606
32630
  return messageConstructor;
32607
32631
  };
32632
+ const insertMessage = async (conversation, content, options) => {
32633
+ return imClient.insertMessage(conversation, content, options);
32634
+ };
32608
32635
  const sendMessage = async (conversation, message, options) => {
32609
32636
  if (message instanceof BaseMessage === false) {
32610
32637
  logger$1.warn('send message fail -> message parameter is not an instance of BaseMessage');
@@ -32860,6 +32887,7 @@
32860
32887
  exports.getUnreadCount = getUnreadCount;
32861
32888
  exports.getUnreadMentionedCount = getUnreadMentionedCount;
32862
32889
  exports.init = init;
32890
+ exports.insertMessage = insertMessage;
32863
32891
  exports.logOut = logOut;
32864
32892
  exports.mockLogin = mockLogin;
32865
32893
  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.7",
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
  */