撤回消息实现

This commit is contained in:
砂糖
2025-07-14 11:04:49 +08:00
parent fc8741c0c1
commit af7ef14ba2
5 changed files with 397 additions and 75 deletions

27
App.vue
View File

@@ -365,6 +365,33 @@ export default {
IMSDK.IMEvents.OnConversationChanged,
conversationChangedHandler
);
// 撤回消息回调
const messageRevokedHandler = ({ data }) => {
if (this.storeIsSyncing) {
return;
}
// 兼容:如果没有 contentType补充为撤回类型
if (!data.contentType) {
data.contentType = MessageType.RevokeMessage;
data.notificationElem = {
detail: JSON.stringify({
revokerID: data.revokerID,
revokerName: data.revokerNickname || data.revokerID
})
};
}
// 更新被撤回的消息为撤回通知消息
this.updateOneMessage({
message: data,
type: UpdateMessageTypes.Overall,
});
};
IMSDK.subscribe(
IMSDK.IMEvents.OnNewRecvMessageRevoked,
messageRevokedHandler
);
},
tryLogin() {