跳到主要内容

删除会话

删除指定会话

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

方法

removeConversation(type: RCIMIWConversationType, targetId: string, channelId: string): Promise<number>;

参数说明

参数类型说明
typeRCIMIWConversationType会话类型
targetIdstring会话 ID
channelIdstring频道 ID,暂不支持该参数。传 null 即可。

返回值

返回值描述
Promise<number>当次接口操作状态码,并不代表最终操作结果,状态码详细信息

代码示例

engine.removeConversation(
type,
useTargetId,
useChannelId
)
.then((code: number) => {});

回调方法

  • setOnConversationRemovedListener
setOnConversationRemovedListener(listener?: (code: number, type: RCIMIWConversationType, targetId: string, channelId: string) => void): void;

参数说明

参数类型说明
codenumber接口回调的状态码,0 代表成功,非 0 代表出现异常
typeRCIMIWConversationType调用接口时传入的会话类型
targetIdstring调用接口时传入的会话ID
channelIdstring调用接口时传入的频道 ID

代码示例

engine.setOnConversationRemovedListener(
(
code: number,
type: RCIMIWConversationType,
targetId: string,
channelId: string
) => {}
);

按会话类型删除

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

方法

removeConversations(conversationTypes: Array<RCIMIWConversationType>, channelId: string): Promise<number>;

参数说明

参数类型说明
conversationTypesArray<[RCIMIWConversationType](https://www.rongcloud.cn/docs/api/react-native/imlib_v5/latest/enums/RCIMDefines.RCIMIWConversationType.html)>需要清空的会话类型列表
channelIdstring频道 ID,暂不支持该参数。传 null 即可。

返回值

返回值描述
Promise<number>当次接口操作状态码,并不代表最终操作结果,状态码详细信息

代码示例

engine.removeConversations(
conversationTypes,
channelId
)
.then((code: number) => {});

回调方法

  • setOnConversationsRemovedListener
setOnConversationsRemovedListener(listener?: (code: number, types: Array<RCIMIWConversationType>, channelId: string) => void): void;

参数说明

参数类型说明
codenumber接口回调的状态码,0 代表成功,非 0 代表出现异常
typesArray<[RCIMIWConversationType](https://www.rongcloud.cn/docs/api/react-native/imlib_v5/latest/enums/RCIMDefines.RCIMIWConversationType.html)>调用接口时传入的会话类型
channelIdstring调用接口时传入的频道 ID

代码示例

engine.setOnConversationsRemovedListener(
(
code: number,
types: Array<RCIMIWConversationType>,
channelId: string
) => {}
);

删除全部会话

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

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

代码示例

engine.removeConversations(
[RCIMIWConversationType.private, RCIMIWConversationType.group, RCIMIWConversationType.system],
channelId
)
.then((code: number) => {});