共计 1086 个字符,预计需要花费 3 分钟才能阅读完成。
融云 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/
正文完
发表至: 日常
2021-04-12