项目根据融云的文档已经完成了简单的聊天功能,现在需要完成的需求是能对发送成功的消息能够撤回
参考文档:
https://docs.rongcloud.cn/v4/views/im/noui/guide/private/msgmanage/msgrecall/web.html
参考代码:
var conversation = im.Conversation.get({
targetId: '接收方的 userId',
type: RongIMLib.CONVERSATION_TYPE.PRIVATE
});
conversation.recall({
messageUId: 'BH5T-JG24-C445-IKQM',
sentTime: 1585638211857
}).then(function(message){
console.log('撤回消息成功', message);
});
根据文档集成,完全没有问题,消息能够撤回且原消息将被删除,但是这里有两个问题:
1、获取历史消息时,撤回消息都在最后面,我该如何确认该消息的原位置? 2、当我撤回该消息的最后一条时,获取会话列表数据中的最后一条消息 latestMessage 还是显示之前的撤回消息,这个该怎么处理?
综上的问题,都到融云开发者后台提工单查找了解决方法:
如何确认该消息的原位置:在发送成功的撤回消息中有 sentTime 字段,可以在历史消息中通过比较 sentTime 来确认撤回消息的具体位置
会话列表 latestMessage 显示之前的撤回消息:跟融云的技术人员沟通过后得到的结论是,该问题是融云发现的已知问题,会在下个 SDK 版本修复。我目前使用的 SDK 版本是 3.0.7.1,只能坐等更新啦
总结:希望能帮到碰到同样问题的童鞋,当然在集成的时候看文档还是很重要的,融云有提工单的服务还是蛮不错的,在碰到实在处理不了的问题可以寻求融云的技术人员帮忙,希望融云越做越好
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。