使用标签管理会话
注意
在使用会话管理标签前,请确保已创建标签。详见: 创建与管理会话标签。
SDK 支持为会话打上一个或多个标签,适用于会话分组、筛选会话列表等场景。本文档介绍与标签管理相关的接口调用方式及参数说明。
获取指定会话的标签
调用 getTagsFromConversation 方法,获取指定会话已关联的标签列表。
接口
JavaScript
RongIMLib.getTagsFromConversation(conversation)
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| conversation | IConversationOption | 是 | 目标会话 |
示例代码
JavaScript
const conversation = {
conversationType: RongIMLib.ConversationType.PRIVATE,
targetId: 'targetId',
};
const res = await RongIMLib.getTagsFromConversation(conversation);
console.log('获取会话下的标签结果:', res);
添加会话到指定标签
调用 addConversationsToTag 方法,可将一个或多个会 话加入到指定标签下。
提示
- 每个标签最多可关联 1000 个会话。
- 超出数量限制时,新增的会话仍可加入,但将自动移除最早加入该标签的会话。
- 同一个会话可关联多个标签。
接口
JavaScript
RongIMLib.addConversationsToTag(tagId, conversations)
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tagId | string | 是 | 标签 ID |
| conversations | IConversationOption[] | 是 | 会话对象数组 |
示例代码
JavaScript
const tagId = 'tagId';
const conversations = [{
conversationType: 1,
targetId: '<会话Id_1>',
channelId: ''
}, {
conversationType: 1,
targetId: '<会话Id_2>',
channelId: ''
}];
const res = await RongIMLib.addConversationsToTag(tagId, conversations);
console.log('添加会话到指定标签结果:', res);
从指定标签中删除多个会话
提示
此操作仅解除会话与标签的关系,并不会删除会话数据。
调用 removeConversationsFromTag 方法,可将多个会话从指定标签中移除。
接口
JavaScript
RongIMLib.removeConversationsFromTag(tagId, conversations)
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tagId | string | 是 | 标签 ID |
| conversations | IConversationOption[] | 是 | 会话对象数组 |
示例代码
JavaScript
const tagId = 'tagId';
const conversations = [{
conversationType: RongIMLib.ConversationType.PRIVATE,
targetId: 'targetId',
}];
const res = await RongIMLib.removeConversationsFromTag(tagId, conversations);
console.log('从指定标签中删除多个会话果:', res);
从指定会话中删除多个标签
提示
此操作仅解除会话与标签的关联,不会删除标签本身。
调用 removeTagsFromConversation 方法,可将多个标签从指定会话中移除。
接口
JavaScript
RongIMLib.removeTagsFromConversation(conversation, tagIds)
参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| conversation | IConversationOption | 是 | 目标会话 |
| tagIds | string[] | 是 | 待移除的标签 ID 数组 |
示例代码
JavaScript
const conversation = {
conversationType: RongIMLib.ConversationType.PRIVATE,
targetId: 'targetId',
};
const tagIds = ['tagId1', 'tagId2'];
const res = await RongIMLib.removeTagsFromConversation(conversation, tagIds);
console.log('从指定会话中删除多个标签结果:', res);