融云im撤回音讯

因为疫情起因,公司基于融云做了个在线的聊天室,之前减少了一些聊天室的根底性能,最近呢因为需要补充,须要把音讯撤回加上。
官网文档阐明地址:
https://docs.rongcloud.cn/v4/...

撤回音讯代码如下:

recall() {         const conversation = this.im.Conversation.get({            targetId: this.targetUser.id,            type: this.targetUser.conversationType          });          conversation.recall({            messageUId: this.currentMsg.messageUId,            sentTime: this.currentMsg.sentTime          }).then((message) => {            this.$message.success('撤回胜利');            const msg =  Object.assign({extra: {nickname: this.currentUser.nickname}}, message);            this.handleMessage(msg, false);          });    },

在此要留神,撤回胜利之后是不会触发会话的监听的,须要本人在胜利的回调外面解决撤回的音讯。撤回音讯解决代码如下:

if (message.messageType === 'RC:RcCmd') {            const msg = Object.assign({tip: `${isSelef ? '您':  nickname}撤回了一条音讯`}, message);            if (messageIds.includes(message.content.messageUId)) {                const index = messageIds.indexOf(message.content.messageUId);                this.messageList.splice(index, 1, msg);            } else {                this.messageList.push(message);            }        } else {            this.messageList.push(message);        }

当对方在音讯监听中收到上述的音讯时,也能够调用上述的办法进行撤回音讯解决。

撤回音讯当初是没有工夫限度的,如果要加上工夫限度,能够依据音讯的sentTime解决。

至此,音讯撤回已胜利集成。集成中发现了一个问题,撤回的音讯在会话列表中还存在,曾经给融云提交工单,看后续能不能解决。

融云官网地址:https://www.rongcloud.cn/

融云开发文档地址:https://docs.rongcloud.cn/v4/