diff --git a/pages/im/group/chat.vue b/pages/im/group/chat.vue index d5a3aa2..ac1260c 100644 --- a/pages/im/group/chat.vue +++ b/pages/im/group/chat.vue @@ -119,7 +119,6 @@ initGroupInfo() { // 获取群信息,成员数量,设置标题 getGroupBase(this.targetId).then(res => { - this.$store.dispatch('updateContact', res) uni.setNavigationBarTitle({ title: res.name + `(${res.members})` }) diff --git a/utils/im/listeners.js b/utils/im/listeners.js index 0555ba7..ecd4614 100644 --- a/utils/im/listeners.js +++ b/utils/im/listeners.js @@ -67,7 +67,7 @@ const imLibListeners = () => { // 添加消息监听函数 IMLib.addReceiveMessageListener((res) => { const message = res.data.message - console.error('[收到消息]',IMLib.ObjectName.GroupNotification, message) + console.error('[收到消息]', message) checkContactExists(message) if (utils.inArray(message.objectName, notifyMsgTypes)) { onReceiveMessage(message) @@ -78,29 +78,36 @@ const imLibListeners = () => { // 调用完更新之后,删除这条消息 IMLib.deleteMessagesByIds([message.messageId]) } else if (message.objectName === IMLib.ObjectName.ContactNotification) { - // 触发一个新好友的通知事件,【会话列表,通讯录,新朋友】页面 - uni.$emit('onNewContactConversation', message) - uni.$emit('onNewContactFriends', message) - uni.$emit('onNewContactPendings', message) - } else if (message.objectName === IMLib.ObjectName.GroupNotification) { - console.log('踢出用户',message); + if (message.content.operation === 'Request') { + // 触发一个新好友的通知事件,【会话列表,通讯录,新朋友】页面 + uni.$emit('onNewContactConversation', message) + uni.$emit('onNewContactFriends', message) + uni.$emit('onNewContactPendings', message) + } else if (message.content.operation === 'Delete') { + console.log('解除好友关系', message.targetId); + IMLib.cleanHistoryMessages(1, message.targetId, message.sentTime, false) + // 解散了就删了吧 + IMLib.removeConversation(1, message.targetId) + // 刷新会话列表 + uni.$emit('onReceiveMessage', message) + } + } else if (message.objectName === IMLib.ObjectName.GroupNotification) { // 解散群 if (message.content.operation === 'Dismiss') { - IMLib.cleanHistoryMessages(message.conversationType, message.targetId, message.sentTime, + IMLib.cleanHistoryMessages(3, message.targetId, message.sentTime, false) // 解散了就删了吧 - IMLib.removeConversation(message.conversationType, message.targetId) + IMLib.removeConversation(3, message.targetId) // 发布群解散的消息 uni.$emit('onGroupDismiss') uni.$emit('onGroupDismiss_' + message.targetId) - } else if (message.content.operation === 'REMOVE') { - console.log('踢出', message.content); + } else if (message.content.operation === 'REMOVE') { // 要判断是否当前用户,然后把当前用户踢出到主页去, 删除聊天记录,会话列表 if (message.content.extra == store.getters.sender.userId) { - IMLib.cleanHistoryMessages(message.conversationType, message.targetId, message.sentTime, + IMLib.cleanHistoryMessages(3, message.targetId, message.sentTime, false) // 解散了就删了吧 - IMLib.removeConversation(message.conversationType, message.targetId) + IMLib.removeConversation(3, message.targetId) // 为了更新群列表 uni.$emit('onGroupDismiss') uni.$emit('onGroupRemoveYou_' + message.targetId)