跳到主要内容

管理标签信息数据

SDK 从 5.12.1 版本开始支持创建标签。

本文描述 App 如何使用 RCIMIWEngine 下的接口创建和管理标签信息数据。客户端 SDK 支持用户创建标签信息(RCIMIWTagInfo),用于对会话进行标记分组。每个用户最多可以创建 20 个标签。App 用户创建的标签信息数据会同步到融云服务端。

标签信息(RCIMIWTagInfo)的定义如下:

参数类型说明
tagIdstring标签唯一标识,字符型,长度不超过 10 个字。
tagNamestring长度不超过 15 个字,标签名称可以重复。
timestampnumber时间戳由 SDK 内部协议栈提供。

注意

本文仅描述如何管理标签信息数据。关于如何为会话设置标签、以及如何按标签获取会话数据,请参见设置与使用会话标签

创建标签信息

创建标签,每个用户最多可以创建 20 个标签。

方法

typescript
createTag(tagId: string, tagName: string, callback?: IRCIMIWCreateTagCallback): Promise<number>

参数说明

参数名参数类型描述
tagIdstring标签唯一标识,字符型,长度不超过 10 个字。
tagNamestring长度不超过 15 个字,标签名称可以重复。
callbackIRCIMIWCreateTagCallback事件回调。

返回值

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

代码示例

typescript
const callback: IRCIMIWCreateTagCallback = {
onTagCreated: (code?: number) => {
// 处理创建标签结果
console.log('创建标签结果:', code);
}
};

const ret = await engine?.createTag(tagId, tagName, callback);
console.log('创建标签调用状态:', ret);

移除标签信息

移除标签。移除标签信息时只需要传入 RCIMIWTagInfo 中的 tagId

方法

typescript
removeTag(tagId: string, callback?: IRCIMIWRemoveTagCallback): Promise<number>

参数说明

参数名参数类型描述
tagIdstring标签唯一标识,字符型,长度不超过 10 个字。
callbackIRCIMIWRemoveTagCallback事件回调。

返回值

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

代码示例

typescript
const callback: IRCIMIWRemoveTagCallback = {
onTagRemoved: (code?: number) => {
// 处理移除标签结果
console.log('移除标签结果:', code);
}
};

const ret = await engine?.removeTag(tagId, callback);
console.log('移除标签调用状态:', ret);

编辑标签信息

更新标签信息。仅支持修改 RCIMIWTagInfo 中的标签名称(tagName)字段。长度不超过 15 个字,标签名称可以重复。

方法

typescript
updateTagNameById(tagId: string, newName: string, callback?: IRCIMIWUpdateTagNameByIdCallback): Promise<number>

参数说明

参数名参数类型描述
tagIdstring标签唯一标识,字符型,长度不超过 10 个字。
newNamestring长度不超过 15 个字,标签名称可以重复。
callbackIRCIMIWUpdateTagNameByIdCallback事件回调。

返回值

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

代码示例

typescript
const callback: IRCIMIWUpdateTagNameByIdCallback = {
onTagNameByIdUpdated: (code?: number) => {
// 处理更新标签名称结果
console.log('更新标签名称结果:', code);
}
};

const ret = await engine?.updateTagNameById(tagId, newName, callback);
console.log('更新标签名称调用状态:', ret);

获取标签信息列表

获取当前用户已创建的标签信息。成功回调中会返回 RCIMIWTagInfo 的列表。

方法

typescript
getTags(callback?: IRCIMIWGetTagsCallback): Promise<number>

参数说明

参数名参数类型描述
callbackIRCIMIWGetTagsCallback事件回调。

返回值

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

代码示例

typescript
const callback: IRCIMIWGetTagsCallback = {
onSuccess: (tags?: Array<RCIMIWTagInfo>) => {
// 处理获取标签列表成功
console.log('获取标签列表成功:', tags);
},
onError: (code?: number) => {
// 处理获取标签列表失败
console.log('获取标签列表失败:', code);
}
};

const ret = await engine?.getTags(callback);
console.log('获取标签列表调用状态:', ret);