@onyx-p/imlib-web 1.5.2 → 1.5.4
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 +108 -14
- package/index.umd.js +109 -13
- package/package.json +1 -1
- package/types/index.d.ts +6 -0
- package/types/model/messages/otherMediaMessages.d.ts +12 -0
package/index.esm.js
CHANGED
@@ -18934,26 +18934,61 @@ const decodeMessageContent = (dialogMessage, aesKey) => {
|
|
18934
18934
|
if (dialogMessage.mediaConstructor === 0x60010012 || dialogMessage.mediaConstructor === 0x60020021) {
|
18935
18935
|
mediaAttribute = transMsgIdNum64ToString(mediaAttribute);
|
18936
18936
|
}
|
18937
|
-
|
18938
|
-
if (mediaAttribute?.length) {
|
18939
|
-
mediaAttributeJson = JSON.parse(mediaAttribute);
|
18940
|
-
}
|
18941
|
-
if (dialogMessage.mediaConstructor == MessageTypes.TEXT && msgPostContent) {
|
18942
|
-
mediaAttributeJson.content = msgPostContent;
|
18943
|
-
}
|
18944
|
-
return mediaAttributeJson;
|
18937
|
+
return parseMediaAttributeJson(dialogMessage.mediaConstructor, mediaAttribute, msgPostContent);
|
18945
18938
|
} catch (error) {
|
18946
18939
|
logger.error('decode message content fail -> uid:', dialogMessage.msgId.toString());
|
18947
18940
|
return null;
|
18948
18941
|
}
|
18949
18942
|
};
|
18943
|
+
const parseMediaAttributeJson = (mediaConstructor, mediaAttribute, msgPostContent) => {
|
18944
|
+
let mediaAttributeJson = {};
|
18945
|
+
if (mediaAttribute?.length) {
|
18946
|
+
mediaAttributeJson = JSON.parse(mediaAttribute);
|
18947
|
+
}
|
18948
|
+
if (mediaConstructor == MessageTypes.TEXT && msgPostContent) {
|
18949
|
+
mediaAttributeJson.content = msgPostContent;
|
18950
|
+
}
|
18951
|
+
return mediaAttributeJson;
|
18952
|
+
};
|
18953
|
+
const parseChatRecordMsgDetails$1 = (conversationOpt, msgDetails) => {
|
18954
|
+
let contentList = [];
|
18955
|
+
msgDetails.forEach(item => {
|
18956
|
+
const mediaAttributeJson = parseMediaAttributeJson(item.mediaConstructor, item.mediaAttribute, item.msgPostContent);
|
18957
|
+
if (!mediaAttributeJson) return;
|
18958
|
+
const messageInstance = decodeMessage(item.mediaConstructor, mediaAttributeJson);
|
18959
|
+
if (isDef(messageInstance)) {
|
18960
|
+
const receivedMessage = {
|
18961
|
+
...conversationOpt,
|
18962
|
+
senderUserId: item.srcId.toString(),
|
18963
|
+
messageDirection: item.srcId == accountStore.uid ? MessageDirection.SEND : MessageDirection.RECEIVE,
|
18964
|
+
isCounted: messageInstance.isCounted,
|
18965
|
+
isMentioned: false,
|
18966
|
+
content: messageInstance.content,
|
18967
|
+
messageType: messageInstance.messageType,
|
18968
|
+
isOffLineMessage: false,
|
18969
|
+
isPersited: messageInstance.isPersited,
|
18970
|
+
messageId: item.msgId + '',
|
18971
|
+
messageUId: item.msgId + '',
|
18972
|
+
sentTime: item.msgSendTime + '',
|
18973
|
+
sentStatus: SentStatus.SENT,
|
18974
|
+
receivedTime: item.msgSendTime + '',
|
18975
|
+
isStatusMessage: messageInstance.isStatusMessage,
|
18976
|
+
receivedStatus: ReceivedStatus.READ,
|
18977
|
+
disableNotification: false
|
18978
|
+
};
|
18979
|
+
contentList.push(receivedMessage);
|
18980
|
+
}
|
18981
|
+
});
|
18982
|
+
return contentList;
|
18983
|
+
};
|
18950
18984
|
const transMsgIdNum64ToString = jsonString => {
|
18951
18985
|
const reg = /("msgId")\s*:\s*(\d+)/g;
|
18952
18986
|
return jsonString.replace(reg, (r1, r2, r3) => `${r2}:"${r3}"`);
|
18953
18987
|
};
|
18954
|
-
var
|
18988
|
+
var serverMessageParser = {
|
18955
18989
|
parse,
|
18956
|
-
parseSingleDialogMessages
|
18990
|
+
parseSingleDialogMessages,
|
18991
|
+
parseChatRecordMsgDetails: parseChatRecordMsgDetails$1
|
18957
18992
|
};
|
18958
18993
|
|
18959
18994
|
function deepClone(obj) {
|
@@ -19564,6 +19599,31 @@ class ConversationManager {
|
|
19564
19599
|
});
|
19565
19600
|
return totalUnreadCount;
|
19566
19601
|
}
|
19602
|
+
getConversationState(conOpt) {
|
19603
|
+
let val = this.get(conOpt);
|
19604
|
+
if (val) {
|
19605
|
+
let {
|
19606
|
+
unreadMessageCount,
|
19607
|
+
unreadMentionedCount,
|
19608
|
+
notificationLevel,
|
19609
|
+
notificationStatus,
|
19610
|
+
isTop,
|
19611
|
+
dialogTitle,
|
19612
|
+
smallAvatarUrl
|
19613
|
+
} = val;
|
19614
|
+
return {
|
19615
|
+
...conOpt,
|
19616
|
+
unreadCount: unreadMessageCount,
|
19617
|
+
unreadMentionedCount: unreadMentionedCount ?? 0,
|
19618
|
+
notificationLevel,
|
19619
|
+
notificationStatus,
|
19620
|
+
isTop,
|
19621
|
+
dialogTitle,
|
19622
|
+
smallAvatarUrl
|
19623
|
+
};
|
19624
|
+
}
|
19625
|
+
return null;
|
19626
|
+
}
|
19567
19627
|
getAllConversationState() {
|
19568
19628
|
const localConversations = this.store.getAll();
|
19569
19629
|
return localConversations.map(({
|
@@ -19629,6 +19689,9 @@ const nullConversationManager = {
|
|
19629
19689
|
getAllUnreadMentionedCount: function () {
|
19630
19690
|
return 0;
|
19631
19691
|
},
|
19692
|
+
getConversationState(conOpt) {
|
19693
|
+
return null;
|
19694
|
+
},
|
19632
19695
|
getAllConversationState: function () {
|
19633
19696
|
return [];
|
19634
19697
|
},
|
@@ -19741,7 +19804,7 @@ class MessageLoader {
|
|
19741
19804
|
};
|
19742
19805
|
});
|
19743
19806
|
await ConversationManager$1.get().loadConvsationsIfNotExist(cons);
|
19744
|
-
|
19807
|
+
serverMessageParser.parse(msg, (done, outputMsgs) => {
|
19745
19808
|
const messages = [];
|
19746
19809
|
const conversations = [];
|
19747
19810
|
const isOffLineMessage = !this.pullOfflineFinished;
|
@@ -19886,6 +19949,18 @@ class LibLoader {
|
|
19886
19949
|
registerMessage(MessageTypes.AUDIO, VoiceMessage);
|
19887
19950
|
registerMessage(MessageTypes.FILE, FileMessage);
|
19888
19951
|
registerMessage(MessageTypes.VIDEO, VideoMessage);
|
19952
|
+
let LocationMessage = registerMessageType$1(MessageTypes.LOCATION, true, true, false);
|
19953
|
+
let ChatRecordMessage = registerMessageType$1(MessageTypes.CHAT_RECORD, true, true, false);
|
19954
|
+
let ContactMessage = registerMessageType$1(MessageTypes.CONTACT, true, true, false);
|
19955
|
+
let InvitationMessage = registerMessageType$1(MessageTypes.GROUP_INVITATION, true, true, false);
|
19956
|
+
let RedEnvelopeMessage = registerMessageType$1(MessageTypes.REDPACKET, true, true, false);
|
19957
|
+
let TransferMessage = registerMessageType$1(MessageTypes.TRANSFER, true, true, false);
|
19958
|
+
registerMessage(MessageTypes.LOCATION, LocationMessage);
|
19959
|
+
registerMessage(MessageTypes.CHAT_RECORD, ChatRecordMessage);
|
19960
|
+
registerMessage(MessageTypes.CONTACT, ContactMessage);
|
19961
|
+
registerMessage(MessageTypes.GROUP_INVITATION, InvitationMessage);
|
19962
|
+
registerMessage(MessageTypes.REDPACKET, RedEnvelopeMessage);
|
19963
|
+
registerMessage(MessageTypes.TRANSFER, TransferMessage);
|
19889
19964
|
}
|
19890
19965
|
async connect() {
|
19891
19966
|
if (this.connectionStatus === ConnectionStatus.CONNECTED) {
|
@@ -27367,7 +27442,7 @@ class IMClient extends EventEmitter {
|
|
27367
27442
|
});
|
27368
27443
|
return;
|
27369
27444
|
}
|
27370
|
-
|
27445
|
+
serverMessageParser.parse({
|
27371
27446
|
[dialogId]: data.msg ?? {}
|
27372
27447
|
}, (_, outputMsgs) => {
|
27373
27448
|
const messageList = outputMsgs.get(dialogId) ?? [];
|
@@ -27481,6 +27556,9 @@ class IMClient extends EventEmitter {
|
|
27481
27556
|
const totalUnreadCount = ConversationManager$1.get().getAllUnreadMentionedCount();
|
27482
27557
|
return totalUnreadCount;
|
27483
27558
|
}
|
27559
|
+
getConversationState(conOpt) {
|
27560
|
+
return ConversationManager$1.get().getConversationState(conOpt);
|
27561
|
+
}
|
27484
27562
|
getAllConversationState() {
|
27485
27563
|
return ConversationManager$1.get().getAllConversationState();
|
27486
27564
|
}
|
@@ -27552,7 +27630,7 @@ class IMClient extends EventEmitter {
|
|
27552
27630
|
return;
|
27553
27631
|
}
|
27554
27632
|
if (isDef(msg)) {
|
27555
|
-
const latestMessage =
|
27633
|
+
const latestMessage = serverMessageParser.parseSingleDialogMessages(dialogId.toString(), [msg], aesKey)[0];
|
27556
27634
|
conversationObj.latestMessage = latestMessage;
|
27557
27635
|
}
|
27558
27636
|
return conversationObj;
|
@@ -28535,6 +28613,19 @@ const getAllUnreadMentionedCount = () => {
|
|
28535
28613
|
data: count
|
28536
28614
|
});
|
28537
28615
|
};
|
28616
|
+
const getConversationState = options => {
|
28617
|
+
logger.debug('getConversationState');
|
28618
|
+
const state = imClient.getConversationState(options);
|
28619
|
+
if (state) {
|
28620
|
+
return Promise.resolve({
|
28621
|
+
code: ErrorCode.SUCCESS,
|
28622
|
+
data: state
|
28623
|
+
});
|
28624
|
+
}
|
28625
|
+
return Promise.resolve({
|
28626
|
+
code: ErrorCode.UNKNOWN
|
28627
|
+
});
|
28628
|
+
};
|
28538
28629
|
const getAllConversationState = () => {
|
28539
28630
|
logger.debug('getAllConversationState');
|
28540
28631
|
const states = imClient.getAllConversationState();
|
@@ -28804,6 +28895,9 @@ const clearHistoryMessages = async (conversation, timestamp) => {
|
|
28804
28895
|
code: ErrorCode.SUCCESS
|
28805
28896
|
};
|
28806
28897
|
};
|
28898
|
+
const parseChatRecordMsgDetails = (conversation, detailItems) => {
|
28899
|
+
return serverMessageParser.parseChatRecordMsgDetails(conversation, detailItems);
|
28900
|
+
};
|
28807
28901
|
const mockLogin = config => {
|
28808
28902
|
return login(config);
|
28809
28903
|
};
|
@@ -28818,4 +28912,4 @@ const _logSendError = (conversation, errorCode) => {
|
|
28818
28912
|
}
|
28819
28913
|
};
|
28820
28914
|
|
28821
|
-
export { ConnectionStatus, ConversationType, ErrorCode, ErrorDesc, Events, FileMessage, GIFMessage, VoiceMessage as HQVoiceMessage, ImageMessage, LogLevel, MentionedType, MessageDirection, MessageTypes, NotificationLevel, NotificationStatus, ReceivedStatus, SentStatus, TextMessage, VideoMessage, addEventListener, clearAllMessagesUnreadStatus, clearHistoryMessages, clearMessagesUnreadStatus, clearTextMessageDraft, connect, deleteMessages, disconnect, getAllConversationState, getAllUnreadMentionedCount, getBlockedConversationList, getConnectionStatus, getConversation, getConversationList, getConversationNotificationLevel, getConversationNotificationStatus, getHistoryMessages, getRemoteHistoryMessages, getServerTime, getTextMessageDraft, getTopConversationList, getTotalUnreadCount, getUnreadCount, getUnreadMentionedCount, init, logOut, mockLogin, onceEventListener, recallMessage, registerMessageType, removeConversation, removeEventListener, request, saveTextMessageDraft, sendFileMessage, sendGIFMessage, sendHQVoiceMessage, sendImageMessage, sendMessage, sendSightMessage, sendTextMessage, setConversationNotificationStatus, setConversationToTop, setUserLogged };
|
28915
|
+
export { ConnectionStatus, ConversationType, ErrorCode, ErrorDesc, Events, FileMessage, GIFMessage, VoiceMessage as HQVoiceMessage, ImageMessage, LogLevel, MentionedType, MessageDirection, MessageTypes, NotificationLevel, NotificationStatus, ReceivedStatus, SentStatus, TextMessage, VideoMessage, addEventListener, clearAllMessagesUnreadStatus, clearHistoryMessages, clearMessagesUnreadStatus, clearTextMessageDraft, connect, deleteMessages, disconnect, getAllConversationState, getAllUnreadMentionedCount, getBlockedConversationList, getConnectionStatus, getConversation, getConversationList, getConversationNotificationLevel, getConversationNotificationStatus, getConversationState, getHistoryMessages, getRemoteHistoryMessages, getServerTime, getTextMessageDraft, getTopConversationList, getTotalUnreadCount, getUnreadCount, getUnreadMentionedCount, init, logOut, mockLogin, onceEventListener, parseChatRecordMsgDetails, recallMessage, registerMessageType, removeConversation, removeEventListener, request, saveTextMessageDraft, sendFileMessage, sendGIFMessage, sendHQVoiceMessage, sendImageMessage, sendMessage, sendSightMessage, sendTextMessage, setConversationNotificationStatus, setConversationToTop, setUserLogged };
|
package/index.umd.js
CHANGED
@@ -18940,26 +18940,61 @@
|
|
18940
18940
|
if (dialogMessage.mediaConstructor === 0x60010012 || dialogMessage.mediaConstructor === 0x60020021) {
|
18941
18941
|
mediaAttribute = transMsgIdNum64ToString(mediaAttribute);
|
18942
18942
|
}
|
18943
|
-
|
18944
|
-
if (mediaAttribute?.length) {
|
18945
|
-
mediaAttributeJson = JSON.parse(mediaAttribute);
|
18946
|
-
}
|
18947
|
-
if (dialogMessage.mediaConstructor == MessageTypes.TEXT && msgPostContent) {
|
18948
|
-
mediaAttributeJson.content = msgPostContent;
|
18949
|
-
}
|
18950
|
-
return mediaAttributeJson;
|
18943
|
+
return parseMediaAttributeJson(dialogMessage.mediaConstructor, mediaAttribute, msgPostContent);
|
18951
18944
|
} catch (error) {
|
18952
18945
|
logger.error('decode message content fail -> uid:', dialogMessage.msgId.toString());
|
18953
18946
|
return null;
|
18954
18947
|
}
|
18955
18948
|
};
|
18949
|
+
const parseMediaAttributeJson = (mediaConstructor, mediaAttribute, msgPostContent) => {
|
18950
|
+
let mediaAttributeJson = {};
|
18951
|
+
if (mediaAttribute?.length) {
|
18952
|
+
mediaAttributeJson = JSON.parse(mediaAttribute);
|
18953
|
+
}
|
18954
|
+
if (mediaConstructor == MessageTypes.TEXT && msgPostContent) {
|
18955
|
+
mediaAttributeJson.content = msgPostContent;
|
18956
|
+
}
|
18957
|
+
return mediaAttributeJson;
|
18958
|
+
};
|
18959
|
+
const parseChatRecordMsgDetails$1 = (conversationOpt, msgDetails) => {
|
18960
|
+
let contentList = [];
|
18961
|
+
msgDetails.forEach(item => {
|
18962
|
+
const mediaAttributeJson = parseMediaAttributeJson(item.mediaConstructor, item.mediaAttribute, item.msgPostContent);
|
18963
|
+
if (!mediaAttributeJson) return;
|
18964
|
+
const messageInstance = decodeMessage(item.mediaConstructor, mediaAttributeJson);
|
18965
|
+
if (isDef(messageInstance)) {
|
18966
|
+
const receivedMessage = {
|
18967
|
+
...conversationOpt,
|
18968
|
+
senderUserId: item.srcId.toString(),
|
18969
|
+
messageDirection: item.srcId == accountStore.uid ? exports.MessageDirection.SEND : exports.MessageDirection.RECEIVE,
|
18970
|
+
isCounted: messageInstance.isCounted,
|
18971
|
+
isMentioned: false,
|
18972
|
+
content: messageInstance.content,
|
18973
|
+
messageType: messageInstance.messageType,
|
18974
|
+
isOffLineMessage: false,
|
18975
|
+
isPersited: messageInstance.isPersited,
|
18976
|
+
messageId: item.msgId + '',
|
18977
|
+
messageUId: item.msgId + '',
|
18978
|
+
sentTime: item.msgSendTime + '',
|
18979
|
+
sentStatus: exports.SentStatus.SENT,
|
18980
|
+
receivedTime: item.msgSendTime + '',
|
18981
|
+
isStatusMessage: messageInstance.isStatusMessage,
|
18982
|
+
receivedStatus: exports.ReceivedStatus.READ,
|
18983
|
+
disableNotification: false
|
18984
|
+
};
|
18985
|
+
contentList.push(receivedMessage);
|
18986
|
+
}
|
18987
|
+
});
|
18988
|
+
return contentList;
|
18989
|
+
};
|
18956
18990
|
const transMsgIdNum64ToString = jsonString => {
|
18957
18991
|
const reg = /("msgId")\s*:\s*(\d+)/g;
|
18958
18992
|
return jsonString.replace(reg, (r1, r2, r3) => `${r2}:"${r3}"`);
|
18959
18993
|
};
|
18960
|
-
var
|
18994
|
+
var serverMessageParser = {
|
18961
18995
|
parse,
|
18962
|
-
parseSingleDialogMessages
|
18996
|
+
parseSingleDialogMessages,
|
18997
|
+
parseChatRecordMsgDetails: parseChatRecordMsgDetails$1
|
18963
18998
|
};
|
18964
18999
|
|
18965
19000
|
function deepClone(obj) {
|
@@ -19570,6 +19605,31 @@
|
|
19570
19605
|
});
|
19571
19606
|
return totalUnreadCount;
|
19572
19607
|
}
|
19608
|
+
getConversationState(conOpt) {
|
19609
|
+
let val = this.get(conOpt);
|
19610
|
+
if (val) {
|
19611
|
+
let {
|
19612
|
+
unreadMessageCount,
|
19613
|
+
unreadMentionedCount,
|
19614
|
+
notificationLevel,
|
19615
|
+
notificationStatus,
|
19616
|
+
isTop,
|
19617
|
+
dialogTitle,
|
19618
|
+
smallAvatarUrl
|
19619
|
+
} = val;
|
19620
|
+
return {
|
19621
|
+
...conOpt,
|
19622
|
+
unreadCount: unreadMessageCount,
|
19623
|
+
unreadMentionedCount: unreadMentionedCount ?? 0,
|
19624
|
+
notificationLevel,
|
19625
|
+
notificationStatus,
|
19626
|
+
isTop,
|
19627
|
+
dialogTitle,
|
19628
|
+
smallAvatarUrl
|
19629
|
+
};
|
19630
|
+
}
|
19631
|
+
return null;
|
19632
|
+
}
|
19573
19633
|
getAllConversationState() {
|
19574
19634
|
const localConversations = this.store.getAll();
|
19575
19635
|
return localConversations.map(({
|
@@ -19635,6 +19695,9 @@
|
|
19635
19695
|
getAllUnreadMentionedCount: function () {
|
19636
19696
|
return 0;
|
19637
19697
|
},
|
19698
|
+
getConversationState(conOpt) {
|
19699
|
+
return null;
|
19700
|
+
},
|
19638
19701
|
getAllConversationState: function () {
|
19639
19702
|
return [];
|
19640
19703
|
},
|
@@ -19747,7 +19810,7 @@
|
|
19747
19810
|
};
|
19748
19811
|
});
|
19749
19812
|
await ConversationManager$1.get().loadConvsationsIfNotExist(cons);
|
19750
|
-
|
19813
|
+
serverMessageParser.parse(msg, (done, outputMsgs) => {
|
19751
19814
|
const messages = [];
|
19752
19815
|
const conversations = [];
|
19753
19816
|
const isOffLineMessage = !this.pullOfflineFinished;
|
@@ -19892,6 +19955,18 @@
|
|
19892
19955
|
registerMessage(MessageTypes.AUDIO, VoiceMessage);
|
19893
19956
|
registerMessage(MessageTypes.FILE, FileMessage);
|
19894
19957
|
registerMessage(MessageTypes.VIDEO, VideoMessage);
|
19958
|
+
let LocationMessage = registerMessageType$1(MessageTypes.LOCATION, true, true, false);
|
19959
|
+
let ChatRecordMessage = registerMessageType$1(MessageTypes.CHAT_RECORD, true, true, false);
|
19960
|
+
let ContactMessage = registerMessageType$1(MessageTypes.CONTACT, true, true, false);
|
19961
|
+
let InvitationMessage = registerMessageType$1(MessageTypes.GROUP_INVITATION, true, true, false);
|
19962
|
+
let RedEnvelopeMessage = registerMessageType$1(MessageTypes.REDPACKET, true, true, false);
|
19963
|
+
let TransferMessage = registerMessageType$1(MessageTypes.TRANSFER, true, true, false);
|
19964
|
+
registerMessage(MessageTypes.LOCATION, LocationMessage);
|
19965
|
+
registerMessage(MessageTypes.CHAT_RECORD, ChatRecordMessage);
|
19966
|
+
registerMessage(MessageTypes.CONTACT, ContactMessage);
|
19967
|
+
registerMessage(MessageTypes.GROUP_INVITATION, InvitationMessage);
|
19968
|
+
registerMessage(MessageTypes.REDPACKET, RedEnvelopeMessage);
|
19969
|
+
registerMessage(MessageTypes.TRANSFER, TransferMessage);
|
19895
19970
|
}
|
19896
19971
|
async connect() {
|
19897
19972
|
if (this.connectionStatus === exports.ConnectionStatus.CONNECTED) {
|
@@ -27373,7 +27448,7 @@
|
|
27373
27448
|
});
|
27374
27449
|
return;
|
27375
27450
|
}
|
27376
|
-
|
27451
|
+
serverMessageParser.parse({
|
27377
27452
|
[dialogId]: data.msg ?? {}
|
27378
27453
|
}, (_, outputMsgs) => {
|
27379
27454
|
const messageList = outputMsgs.get(dialogId) ?? [];
|
@@ -27487,6 +27562,9 @@
|
|
27487
27562
|
const totalUnreadCount = ConversationManager$1.get().getAllUnreadMentionedCount();
|
27488
27563
|
return totalUnreadCount;
|
27489
27564
|
}
|
27565
|
+
getConversationState(conOpt) {
|
27566
|
+
return ConversationManager$1.get().getConversationState(conOpt);
|
27567
|
+
}
|
27490
27568
|
getAllConversationState() {
|
27491
27569
|
return ConversationManager$1.get().getAllConversationState();
|
27492
27570
|
}
|
@@ -27558,7 +27636,7 @@
|
|
27558
27636
|
return;
|
27559
27637
|
}
|
27560
27638
|
if (isDef(msg)) {
|
27561
|
-
const latestMessage =
|
27639
|
+
const latestMessage = serverMessageParser.parseSingleDialogMessages(dialogId.toString(), [msg], aesKey)[0];
|
27562
27640
|
conversationObj.latestMessage = latestMessage;
|
27563
27641
|
}
|
27564
27642
|
return conversationObj;
|
@@ -28541,6 +28619,19 @@
|
|
28541
28619
|
data: count
|
28542
28620
|
});
|
28543
28621
|
};
|
28622
|
+
const getConversationState = options => {
|
28623
|
+
logger.debug('getConversationState');
|
28624
|
+
const state = imClient.getConversationState(options);
|
28625
|
+
if (state) {
|
28626
|
+
return Promise.resolve({
|
28627
|
+
code: exports.ErrorCode.SUCCESS,
|
28628
|
+
data: state
|
28629
|
+
});
|
28630
|
+
}
|
28631
|
+
return Promise.resolve({
|
28632
|
+
code: exports.ErrorCode.UNKNOWN
|
28633
|
+
});
|
28634
|
+
};
|
28544
28635
|
const getAllConversationState = () => {
|
28545
28636
|
logger.debug('getAllConversationState');
|
28546
28637
|
const states = imClient.getAllConversationState();
|
@@ -28810,6 +28901,9 @@
|
|
28810
28901
|
code: exports.ErrorCode.SUCCESS
|
28811
28902
|
};
|
28812
28903
|
};
|
28904
|
+
const parseChatRecordMsgDetails = (conversation, detailItems) => {
|
28905
|
+
return serverMessageParser.parseChatRecordMsgDetails(conversation, detailItems);
|
28906
|
+
};
|
28813
28907
|
const mockLogin = config => {
|
28814
28908
|
return login(config);
|
28815
28909
|
};
|
@@ -28848,6 +28942,7 @@
|
|
28848
28942
|
exports.getConversationList = getConversationList;
|
28849
28943
|
exports.getConversationNotificationLevel = getConversationNotificationLevel;
|
28850
28944
|
exports.getConversationNotificationStatus = getConversationNotificationStatus;
|
28945
|
+
exports.getConversationState = getConversationState;
|
28851
28946
|
exports.getHistoryMessages = getHistoryMessages;
|
28852
28947
|
exports.getRemoteHistoryMessages = getRemoteHistoryMessages;
|
28853
28948
|
exports.getServerTime = getServerTime;
|
@@ -28860,6 +28955,7 @@
|
|
28860
28955
|
exports.logOut = logOut;
|
28861
28956
|
exports.mockLogin = mockLogin;
|
28862
28957
|
exports.onceEventListener = onceEventListener;
|
28958
|
+
exports.parseChatRecordMsgDetails = parseChatRecordMsgDetails;
|
28863
28959
|
exports.recallMessage = recallMessage;
|
28864
28960
|
exports.registerMessageType = registerMessageType;
|
28865
28961
|
exports.removeConversation = removeConversation;
|
package/package.json
CHANGED
package/types/index.d.ts
CHANGED
@@ -6,6 +6,7 @@ import IReceivedMessage from './model/iReceivedMessage';
|
|
6
6
|
import IReceivedConversation from './model/iReceivedConversation';
|
7
7
|
import { CommonReqResult, PBCodec } from './net/connection/webSocketServer';
|
8
8
|
import { BaseResp } from './net/pbs/rpc.base';
|
9
|
+
import { IChatRecordMsgDetail } from './model/messages/otherMediaMessages';
|
9
10
|
export { TextMessage, ImageMessage, HQVoiceMessage, GIFMessage, FileMessage, VideoMessage } from './model/messages';
|
10
11
|
export type { ITextMessageBody, IImageMessageBody, IGIFMessageBody, IFileMessageBody, IHQVoiceMessageBody, IRecallCommandMessageBody, IVideoMessageBody, ILocationMessageBody, IChatRecordMessageBody, IContactMessageBody, IInvitationMessageBody, IRedEnvelopeMessageBody, ITransferMessageBody } from './model/messages';
|
11
12
|
export { MessageTypes } from './constants/messageTypes';
|
@@ -97,6 +98,10 @@ export declare const getUnreadMentionedCount: (options: IConversationOption) =>
|
|
97
98
|
* 获取所有群会话 @ 消息未读数
|
98
99
|
*/
|
99
100
|
export declare const getAllUnreadMentionedCount: () => IPromiseResult<number>;
|
101
|
+
/**
|
102
|
+
* 获取本地单个会话的状态
|
103
|
+
*/
|
104
|
+
export declare const getConversationState: (options: IConversationOption) => IPromiseResult<IConversationState>;
|
100
105
|
/**
|
101
106
|
* 获取本地全部会话的状态
|
102
107
|
* @description
|
@@ -222,6 +227,7 @@ export declare const deleteMessages: (conversation: IConversationOption, message
|
|
222
227
|
* @param timestamp 清除时间点, 该时间之前的消息将被清除
|
223
228
|
*/
|
224
229
|
export declare const clearHistoryMessages: (conversation: IConversationOption, timestamp: number) => IPromiseResult<void>;
|
230
|
+
export declare const parseChatRecordMsgDetails: (conversation: IConversationOption, detailItems: IChatRecordMsgDetail[]) => IReceivedMessage[];
|
225
231
|
export declare const mockLogin: (config: {
|
226
232
|
langCode: string;
|
227
233
|
phone: string;
|
@@ -18,6 +18,18 @@ export interface IChatRecordMessageBody {
|
|
18
18
|
}>;
|
19
19
|
encryptKey?: string;
|
20
20
|
}
|
21
|
+
export interface IChatRecordMsgDetail {
|
22
|
+
senderNickname: string;
|
23
|
+
senderAvatar?: string;
|
24
|
+
msgId: string;
|
25
|
+
srcId: string;
|
26
|
+
destId: string;
|
27
|
+
msgPreContent?: string;
|
28
|
+
msgPostContent?: string;
|
29
|
+
mediaConstructor: number;
|
30
|
+
mediaAttribute?: string;
|
31
|
+
msgSendTime: string;
|
32
|
+
}
|
21
33
|
export interface IContactMessageBody {
|
22
34
|
uid: string;
|
23
35
|
nickname: string;
|