需求是用户A希望删除与用户B的对话。因为是A的删除操作,所以希望不要影响用户B聊天记录的展示。当A与B重新发起对话时,希望A看不到之前已删除对话的聊天记录。请问这个功能目前能实现吗,没有找到相关的API介绍。求解答,谢谢
创建对话时,均传递 unique: false 参数。这样可以保证 A 用户退出第一个会话后,再发起第二个会话时,不会重新加入上一个会话,而是进入一个新会话。因为是两个不同的会话,A 在第二个会话中自然也就看不到前一个会话的聊天记录了。
unique: false
详见 创建对话 Conversation 文档,特别是其中关于 unique/isUnique 参数的说明。
unique
isUnique
那岂不是A重新对B发起对话后,B也看不到之前的聊天记录了?
B 的会话列表里有两个会话,一个是旧会话(显示 A 已退出),一个是新会话。
当然您在客户端也可以选择根据成员合并显示这两个会话(也就是说在 A、B 看来是一个会话,然后 B 看到的聊天记录比 A 多),不过这样的话客户端实现起来要复杂一点。
这是个很基本的需求,有没有比较靠谱的方案。。。
您这里如果想删除 conversation 对象,在即时通信这一层没有提供这样的 API。理论上使用存储 SDK 或 REST API 能够做到删除 conversation 记录,但是如果用户删除了某条 conversation 记录,这个会话中的其他成员也会受到影响,所以才不建议直接删除会话。在即时通信中,你可以看下自身退出对话或者剔除其他成员能否实现你的需求。
恩,帖子内容里描述的是用户需求,非实现。所以了解下来,目前leancloud不论是native sdk还是restapi都不能很好的实现上述的需求吧?因为这个功能在社交领域里是很基本而且重要的一部分,比如你和别人聊了些隐私内容,或者别人对你说了脏话,都需要用到删除聊天记录或者对话的功能,但目前这块得不到支持和实现。请问官方后续是否有考虑实现这块功能呢?如果有的话,能否给个大致时间点呢,如果没有,也请麻烦告知一下。
目前没有计划