@onyx-p/imlib-web 2.6.1 → 2.6.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 +70 -42
- package/index.umd.js +71 -41
- package/package.json +1 -1
- package/types/index.d.ts +17 -0
package/index.esm.js
CHANGED
@@ -22273,6 +22273,28 @@ class MessageCache {
|
|
22273
22273
|
return null;
|
22274
22274
|
}
|
22275
22275
|
}
|
22276
|
+
decryptMessage(message) {
|
22277
|
+
const decryptedMessage = {
|
22278
|
+
...message
|
22279
|
+
};
|
22280
|
+
if (typeof decryptedMessage.content === 'string' && decryptedMessage.content) {
|
22281
|
+
try {
|
22282
|
+
decryptedMessage.content = this.decryptContent(decryptedMessage.content);
|
22283
|
+
} catch (error) {
|
22284
|
+
logger.error('解密消息内容失败', error);
|
22285
|
+
decryptedMessage.content = null;
|
22286
|
+
}
|
22287
|
+
}
|
22288
|
+
if (decryptedMessage.quotedReply && typeof decryptedMessage.quotedReply.content === 'string' && decryptedMessage.quotedReply.content) {
|
22289
|
+
try {
|
22290
|
+
decryptedMessage.quotedReply.content = this.decryptContent(decryptedMessage.quotedReply.content);
|
22291
|
+
} catch (error) {
|
22292
|
+
logger.error('解密引用消息内容失败', error);
|
22293
|
+
decryptedMessage.quotedReply.content = null;
|
22294
|
+
}
|
22295
|
+
}
|
22296
|
+
return decryptedMessage;
|
22297
|
+
}
|
22276
22298
|
async addMessages(messages, toConversation, isEnd = undefined) {
|
22277
22299
|
const dialogId = getFullDialogId(toConversation);
|
22278
22300
|
if (isDef(isEnd)) {
|
@@ -22339,25 +22361,7 @@ class MessageCache {
|
|
22339
22361
|
const cursor = event.target.result;
|
22340
22362
|
if (cursor) {
|
22341
22363
|
if (processedCount < count) {
|
22342
|
-
const message =
|
22343
|
-
...cursor.value
|
22344
|
-
};
|
22345
|
-
if (typeof message.content === 'string' && message.content) {
|
22346
|
-
try {
|
22347
|
-
message.content = this.decryptContent(message.content);
|
22348
|
-
} catch (error) {
|
22349
|
-
logger.error('Failed to decrypt message content', error);
|
22350
|
-
message.content = null;
|
22351
|
-
}
|
22352
|
-
}
|
22353
|
-
if (message.quotedReply && typeof message.quotedReply.content === 'string' && message.quotedReply.content) {
|
22354
|
-
try {
|
22355
|
-
message.quotedReply.content = this.decryptContent(message.quotedReply.content);
|
22356
|
-
} catch (error) {
|
22357
|
-
logger.error('Failed to decrypt reference message content', error);
|
22358
|
-
message.quotedReply.content = null;
|
22359
|
-
}
|
22360
|
-
}
|
22364
|
+
const message = this.decryptMessage(cursor.value);
|
22361
22365
|
messages.push(message);
|
22362
22366
|
processedCount++;
|
22363
22367
|
cursor.continue();
|
@@ -22566,17 +22570,7 @@ class MessageCache {
|
|
22566
22570
|
cursorRequest.onsuccess = event => {
|
22567
22571
|
const cursor = event.target.result;
|
22568
22572
|
if (cursor) {
|
22569
|
-
const message =
|
22570
|
-
...cursor.value
|
22571
|
-
};
|
22572
|
-
if (typeof message.content === 'string' && message.content) {
|
22573
|
-
try {
|
22574
|
-
message.content = this.decryptContent(message.content);
|
22575
|
-
} catch (error) {
|
22576
|
-
logger.error('Failed to decrypt message content', error);
|
22577
|
-
message.content = null;
|
22578
|
-
}
|
22579
|
-
}
|
22573
|
+
const message = this.decryptMessage(cursor.value);
|
22580
22574
|
resolve(message);
|
22581
22575
|
} else {
|
22582
22576
|
resolve(null);
|
@@ -22602,17 +22596,7 @@ class MessageCache {
|
|
22602
22596
|
request.onsuccess = () => {
|
22603
22597
|
const message = request.result;
|
22604
22598
|
if (message) {
|
22605
|
-
const decryptedMessage =
|
22606
|
-
...message
|
22607
|
-
};
|
22608
|
-
if (typeof decryptedMessage.content === 'string' && decryptedMessage.content) {
|
22609
|
-
try {
|
22610
|
-
decryptedMessage.content = this.decryptContent(decryptedMessage.content);
|
22611
|
-
} catch (error) {
|
22612
|
-
logger.error('解密消息内容失败', error);
|
22613
|
-
decryptedMessage.content = null;
|
22614
|
-
}
|
22615
|
-
}
|
22599
|
+
const decryptedMessage = this.decryptMessage(message);
|
22616
22600
|
resolve(decryptedMessage);
|
22617
22601
|
} else {
|
22618
22602
|
resolve(null);
|
@@ -22719,6 +22703,30 @@ class MessageCache {
|
|
22719
22703
|
};
|
22720
22704
|
});
|
22721
22705
|
}
|
22706
|
+
async getMessageByUId(messageUId) {
|
22707
|
+
if (!this.db) {
|
22708
|
+
return null;
|
22709
|
+
}
|
22710
|
+
return new Promise((resolve, reject) => {
|
22711
|
+
const transaction = this.db.transaction(this.STORE_NAME, 'readonly');
|
22712
|
+
const store = transaction.objectStore(this.STORE_NAME);
|
22713
|
+
const index = store.index('messageUId');
|
22714
|
+
const request = index.get(messageUId);
|
22715
|
+
request.onsuccess = () => {
|
22716
|
+
const message = request.result;
|
22717
|
+
if (message) {
|
22718
|
+
const decryptedMessage = this.decryptMessage(message);
|
22719
|
+
resolve(decryptedMessage);
|
22720
|
+
} else {
|
22721
|
+
resolve(null);
|
22722
|
+
}
|
22723
|
+
};
|
22724
|
+
request.onerror = event => {
|
22725
|
+
logger.error('查询消息失败', event);
|
22726
|
+
resolve(null);
|
22727
|
+
};
|
22728
|
+
});
|
22729
|
+
}
|
22722
22730
|
}
|
22723
22731
|
let cache = null;
|
22724
22732
|
var MessageCache$1 = {
|
@@ -31027,6 +31035,12 @@ class IMClient extends EventEmitter {
|
|
31027
31035
|
}
|
31028
31036
|
return removedMsgUids;
|
31029
31037
|
}
|
31038
|
+
async getMessageById(messageId) {
|
31039
|
+
return MessageCache$1.get()?.getMessageById(messageId);
|
31040
|
+
}
|
31041
|
+
async getMessageByUId(messageUId) {
|
31042
|
+
return MessageCache$1.get()?.getMessageByUId(messageUId);
|
31043
|
+
}
|
31030
31044
|
}
|
31031
31045
|
|
31032
31046
|
/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/
|
@@ -32301,5 +32315,19 @@ const clearBurnAfterReadingExpiredMessages = async conversation => {
|
|
32301
32315
|
const sendQuoteReplyMessage = async (message, quoteReply, options) => {
|
32302
32316
|
return await imClient.sendQuoteReplyMessage(message, quoteReply, options);
|
32303
32317
|
};
|
32318
|
+
const getMessageById = async messageId => {
|
32319
|
+
const message = await imClient.getMessageById(messageId);
|
32320
|
+
return {
|
32321
|
+
code: ErrorCode.SUCCESS,
|
32322
|
+
data: message
|
32323
|
+
};
|
32324
|
+
};
|
32325
|
+
const getMessageByUId = async messageUId => {
|
32326
|
+
const message = await imClient.getMessageByUId(messageUId);
|
32327
|
+
return {
|
32328
|
+
code: ErrorCode.SUCCESS,
|
32329
|
+
data: message
|
32330
|
+
};
|
32331
|
+
};
|
32304
32332
|
|
32305
|
-
export { ChatRecordMessage, ConnectionStatus, ContactMessage, ConversationType, ErrorCode, ErrorDesc, Events, FileMessage, GIFMessage, GroupCloseBurnAfterReadingMessage, GroupOpenBurnAfterReadingMessage, VoiceMessage as HQVoiceMessage, ImageMessage, InvitationMessage, 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, getAllConversationState, getAllUnreadMentionedCount, getBlockedConversationList, getConnectionStatus, getConversation, getConversationList, getConversationNotificationLevel, getConversationNotificationStatus, getConversationState, 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 };
|
32333
|
+
export { ChatRecordMessage, ConnectionStatus, ContactMessage, ConversationType, ErrorCode, ErrorDesc, Events, FileMessage, GIFMessage, GroupCloseBurnAfterReadingMessage, GroupOpenBurnAfterReadingMessage, VoiceMessage as HQVoiceMessage, ImageMessage, InvitationMessage, 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, 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 };
|
package/index.umd.js
CHANGED
@@ -22279,6 +22279,28 @@
|
|
22279
22279
|
return null;
|
22280
22280
|
}
|
22281
22281
|
}
|
22282
|
+
decryptMessage(message) {
|
22283
|
+
const decryptedMessage = {
|
22284
|
+
...message
|
22285
|
+
};
|
22286
|
+
if (typeof decryptedMessage.content === 'string' && decryptedMessage.content) {
|
22287
|
+
try {
|
22288
|
+
decryptedMessage.content = this.decryptContent(decryptedMessage.content);
|
22289
|
+
} catch (error) {
|
22290
|
+
logger.error('解密消息内容失败', error);
|
22291
|
+
decryptedMessage.content = null;
|
22292
|
+
}
|
22293
|
+
}
|
22294
|
+
if (decryptedMessage.quotedReply && typeof decryptedMessage.quotedReply.content === 'string' && decryptedMessage.quotedReply.content) {
|
22295
|
+
try {
|
22296
|
+
decryptedMessage.quotedReply.content = this.decryptContent(decryptedMessage.quotedReply.content);
|
22297
|
+
} catch (error) {
|
22298
|
+
logger.error('解密引用消息内容失败', error);
|
22299
|
+
decryptedMessage.quotedReply.content = null;
|
22300
|
+
}
|
22301
|
+
}
|
22302
|
+
return decryptedMessage;
|
22303
|
+
}
|
22282
22304
|
async addMessages(messages, toConversation, isEnd = undefined) {
|
22283
22305
|
const dialogId = getFullDialogId(toConversation);
|
22284
22306
|
if (isDef(isEnd)) {
|
@@ -22345,25 +22367,7 @@
|
|
22345
22367
|
const cursor = event.target.result;
|
22346
22368
|
if (cursor) {
|
22347
22369
|
if (processedCount < count) {
|
22348
|
-
const message =
|
22349
|
-
...cursor.value
|
22350
|
-
};
|
22351
|
-
if (typeof message.content === 'string' && message.content) {
|
22352
|
-
try {
|
22353
|
-
message.content = this.decryptContent(message.content);
|
22354
|
-
} catch (error) {
|
22355
|
-
logger.error('Failed to decrypt message content', error);
|
22356
|
-
message.content = null;
|
22357
|
-
}
|
22358
|
-
}
|
22359
|
-
if (message.quotedReply && typeof message.quotedReply.content === 'string' && message.quotedReply.content) {
|
22360
|
-
try {
|
22361
|
-
message.quotedReply.content = this.decryptContent(message.quotedReply.content);
|
22362
|
-
} catch (error) {
|
22363
|
-
logger.error('Failed to decrypt reference message content', error);
|
22364
|
-
message.quotedReply.content = null;
|
22365
|
-
}
|
22366
|
-
}
|
22370
|
+
const message = this.decryptMessage(cursor.value);
|
22367
22371
|
messages.push(message);
|
22368
22372
|
processedCount++;
|
22369
22373
|
cursor.continue();
|
@@ -22572,17 +22576,7 @@
|
|
22572
22576
|
cursorRequest.onsuccess = event => {
|
22573
22577
|
const cursor = event.target.result;
|
22574
22578
|
if (cursor) {
|
22575
|
-
const message =
|
22576
|
-
...cursor.value
|
22577
|
-
};
|
22578
|
-
if (typeof message.content === 'string' && message.content) {
|
22579
|
-
try {
|
22580
|
-
message.content = this.decryptContent(message.content);
|
22581
|
-
} catch (error) {
|
22582
|
-
logger.error('Failed to decrypt message content', error);
|
22583
|
-
message.content = null;
|
22584
|
-
}
|
22585
|
-
}
|
22579
|
+
const message = this.decryptMessage(cursor.value);
|
22586
22580
|
resolve(message);
|
22587
22581
|
} else {
|
22588
22582
|
resolve(null);
|
@@ -22608,17 +22602,7 @@
|
|
22608
22602
|
request.onsuccess = () => {
|
22609
22603
|
const message = request.result;
|
22610
22604
|
if (message) {
|
22611
|
-
const decryptedMessage =
|
22612
|
-
...message
|
22613
|
-
};
|
22614
|
-
if (typeof decryptedMessage.content === 'string' && decryptedMessage.content) {
|
22615
|
-
try {
|
22616
|
-
decryptedMessage.content = this.decryptContent(decryptedMessage.content);
|
22617
|
-
} catch (error) {
|
22618
|
-
logger.error('解密消息内容失败', error);
|
22619
|
-
decryptedMessage.content = null;
|
22620
|
-
}
|
22621
|
-
}
|
22605
|
+
const decryptedMessage = this.decryptMessage(message);
|
22622
22606
|
resolve(decryptedMessage);
|
22623
22607
|
} else {
|
22624
22608
|
resolve(null);
|
@@ -22725,6 +22709,30 @@
|
|
22725
22709
|
};
|
22726
22710
|
});
|
22727
22711
|
}
|
22712
|
+
async getMessageByUId(messageUId) {
|
22713
|
+
if (!this.db) {
|
22714
|
+
return null;
|
22715
|
+
}
|
22716
|
+
return new Promise((resolve, reject) => {
|
22717
|
+
const transaction = this.db.transaction(this.STORE_NAME, 'readonly');
|
22718
|
+
const store = transaction.objectStore(this.STORE_NAME);
|
22719
|
+
const index = store.index('messageUId');
|
22720
|
+
const request = index.get(messageUId);
|
22721
|
+
request.onsuccess = () => {
|
22722
|
+
const message = request.result;
|
22723
|
+
if (message) {
|
22724
|
+
const decryptedMessage = this.decryptMessage(message);
|
22725
|
+
resolve(decryptedMessage);
|
22726
|
+
} else {
|
22727
|
+
resolve(null);
|
22728
|
+
}
|
22729
|
+
};
|
22730
|
+
request.onerror = event => {
|
22731
|
+
logger.error('查询消息失败', event);
|
22732
|
+
resolve(null);
|
22733
|
+
};
|
22734
|
+
});
|
22735
|
+
}
|
22728
22736
|
}
|
22729
22737
|
let cache = null;
|
22730
22738
|
var MessageCache$1 = {
|
@@ -31033,6 +31041,12 @@
|
|
31033
31041
|
}
|
31034
31042
|
return removedMsgUids;
|
31035
31043
|
}
|
31044
|
+
async getMessageById(messageId) {
|
31045
|
+
return MessageCache$1.get()?.getMessageById(messageId);
|
31046
|
+
}
|
31047
|
+
async getMessageByUId(messageUId) {
|
31048
|
+
return MessageCache$1.get()?.getMessageByUId(messageUId);
|
31049
|
+
}
|
31036
31050
|
}
|
31037
31051
|
|
31038
31052
|
/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/
|
@@ -32307,6 +32321,20 @@
|
|
32307
32321
|
const sendQuoteReplyMessage = async (message, quoteReply, options) => {
|
32308
32322
|
return await imClient.sendQuoteReplyMessage(message, quoteReply, options);
|
32309
32323
|
};
|
32324
|
+
const getMessageById = async messageId => {
|
32325
|
+
const message = await imClient.getMessageById(messageId);
|
32326
|
+
return {
|
32327
|
+
code: exports.ErrorCode.SUCCESS,
|
32328
|
+
data: message
|
32329
|
+
};
|
32330
|
+
};
|
32331
|
+
const getMessageByUId = async messageUId => {
|
32332
|
+
const message = await imClient.getMessageByUId(messageUId);
|
32333
|
+
return {
|
32334
|
+
code: exports.ErrorCode.SUCCESS,
|
32335
|
+
data: message
|
32336
|
+
};
|
32337
|
+
};
|
32310
32338
|
|
32311
32339
|
exports.ChatRecordMessage = ChatRecordMessage;
|
32312
32340
|
exports.ContactMessage = ContactMessage;
|
@@ -32346,6 +32374,8 @@
|
|
32346
32374
|
exports.getConversationNotificationLevel = getConversationNotificationLevel;
|
32347
32375
|
exports.getConversationNotificationStatus = getConversationNotificationStatus;
|
32348
32376
|
exports.getConversationState = getConversationState;
|
32377
|
+
exports.getMessageById = getMessageById;
|
32378
|
+
exports.getMessageByUId = getMessageByUId;
|
32349
32379
|
exports.getRemoteHistoryMessages = getRemoteHistoryMessages;
|
32350
32380
|
exports.getServerTime = getServerTime;
|
32351
32381
|
exports.getTextMessageDraft = getTextMessageDraft;
|
package/package.json
CHANGED
package/types/index.d.ts
CHANGED
@@ -241,4 +241,21 @@ export declare const mockLogin: (config: {
|
|
241
241
|
* @returns 被清除的消息ID列表
|
242
242
|
*/
|
243
243
|
export declare const clearBurnAfterReadingExpiredMessages: (conversation: IConversationOption) => IPromiseResult<string[]>;
|
244
|
+
/**
|
245
|
+
* 发送引用回复消息
|
246
|
+
* @param message 消息
|
247
|
+
* @param quoteReply 引用回复消息
|
248
|
+
* @param options 发送选项
|
249
|
+
* @returns 发送结果
|
250
|
+
*/
|
244
251
|
export declare const sendQuoteReplyMessage: (message: BaseMessage, quoteReply: IReceivedMessage, options?: ISendMessageOptions) => IPromiseResult<IReceivedMessage>;
|
252
|
+
/**
|
253
|
+
* 获取消息
|
254
|
+
* @param messageId 消息ID
|
255
|
+
* @returns 消息
|
256
|
+
*/
|
257
|
+
export declare const getMessageById: (messageId: number) => IPromiseResult<IReceivedMessage | null | undefined>;
|
258
|
+
/**
|
259
|
+
* 获取消息
|
260
|
+
*/
|
261
|
+
export declare const getMessageByUId: (messageUId: string) => IPromiseResult<IReceivedMessage | null | undefined>;
|