文档导航
Flutter
SDK 版本:  5.X

删除会话

更新时间:2024-07-15 PDF

删除指定会话

  • 从会话列表中移除指定会话,不删除会话内的消息。
  • 会话内再来一条消息,该会话之前的消息还存在,方便用户查看。
  • 如果需要移除指定会话,并删除会话内的消息,请同时调用删除会话内消息接口。

方法

Future<int> removeConversation(RCIMIWConversationType type, String targetId, String? channelId, {IRCIMIWRemoveConversationCallback? callback});
              
已复制
1

参数说明

参数名 参数类型 描述
type RCIMIWConversationType 会话类型
targetId String 会话 ID
channelId String 频道 ID,仅支持超级群使用,其他会话类型传 null 即可
callback IRCIMIWRemoveConversationCallback 移除会话事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。

返回值

返回值 描述
Future<int> 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码

代码示例

IRCIMIWRemoveConversationCallback? callback = IRCIMIWRemoveConversationCallback(onConversationRemoved: (int? code) {
//...
});

int? ret = await engine?.removeConversation(type, targetId, channelId, callback:callback);
              
已复制
1
2
3
4
5

回调方法

  • onConversationRemoved
Function(int? code, RCIMIWConversationType? type, String? targetId, String? channelId)? onConversationRemoved;
              
已复制
1

参数说明

参数名 参数类型 描述
code int 接口回调的状态码,0 代表成功,非 0 代表出现异常
type RCIMIWConversationType 会话类型
targetId String 会话 ID
channelId String 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。

代码示例

engine?.onConversationRemoved = (int? code, RCIMIWConversationType? type, String? targetId, String? channelId) {
//...
};
              
已复制
1
2
3

按会话类型删除

按指定的会话类型删除会话,并删除会话内的消息。

方法

Future<int> removeConversations(List<RCIMIWConversationType> conversationTypes, String? channelId, {IRCIMIWRemoveConversationsCallback? callback});
              
已复制
1

参数说明

参数名 参数类型 描述
conversationTypes List<RCIMIWConversationType> 会话类型集合
channelId String 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。
callback IRCIMIWRemoveConversationsCallback 移除会话列表事件回调。SDK 从 5.3.1 版本开始支持 callback 方式回调。从 5.4.0 版本废弃该接口的其他回调方式。如果传入了 callback 参数,仅触发 callback 回调。

返回值

返回值 描述
Future<int> 当次接口操作的状态码。0 代表调用成功 具体结果需要实现接口回调,非 0 代表当前接口调用操作失败,不会触发接口回调,详细错误参考错误码

代码示例

IRCIMIWRemoveConversationsCallback? callback = IRCIMIWRemoveConversationsCallback(onConversationsRemoved: (int? code) {
//...
});

int? ret = await engine?.removeConversations(conversationTypesInt, channelId, callback:callback);
              
已复制
1
2
3
4
5

回调方法

  • onConversationsRemoved
Function(int? code, List<RCIMIWConversationType>? conversationTypes, String? channelId)? onConversationsRemoved;
              
已复制
1

参数说明

参数名 参数类型 描述
code int 接口回调的状态码,0 代表成功,非 0 代表出现异常
conversationTypes List<RCIMIWConversationType> 会话类型集合
channelId String 频道 ID,仅支持超级群使用,其他会话类型传 null 即可。

代码示例

engine?.onConversationsRemoved = (int? code, List<RCIMIWConversationType>? conversationTypes, String? channelId) {
//...
};
              
已复制
1
2
3

删除全部会话

SDK 内部没有清除全部会话的方法,您可使用 按会话类型删除, 传入所有会话类型即可。

该方法会同时删除会话和消息。聊天室和超级群 UI 层建议客户单独展示,所以删除时可不传入。

代码示例

engine.removeConversations(
  [RCIMIWConversationType.private, RCIMIWConversationType.group, RCIMIWConversationType.system],
  null,
);
              
已复制
1
2
3
4

文档反馈
意见反馈

您的改进建议

意见反馈

问题类型

联系我们

提交工单

技术支持|集成使用|产品方案


商务咨询

7 x 24 小时

为您解答方案与报价问题

131 6185 6839

文档反馈