SDKsReact Native商业版
会话分组概览
会话分组概览。
会话分组用于将当前账号的会话列表按业务场景分类,例如工作、待处理或自定义类别。
分组类型
ConversationGroupType 包含以下类型:
| 枚举值 | 数值 | 含义 |
|---|---|---|
ConversationGroupType.ConversationGroupTypeNormal | 0 | 普通自定义分组。 |
ConversationGroupType.ConversationGroupTypeFilter | 1 | 按规则筛选的分组。 |
ConversationGroupType.ConversationGroupTypeAll | 2 | 查询全部类型的分组。 |
分组字段
ConversationGroup 通过 conversationGroupID 作为分组标识:
| 字段 | 类型 | 说明 |
|---|---|---|
conversationGroupID | string | 会话分组 ID。 |
name | string | 分组名称。 |
serial | number | 分组排序值。 |
version | number | 分组数据版本。 |
conversationGroupType | ConversationGroupType | 分组类型。 |
hidden | boolean | 分组是否隐藏。 |
unreadCount | number | 分组内会话的未读总数。 |
conversationIDs | string[] | 当前属于该分组的会话 ID。 |
ex | string(可选) | 业务扩展字符串。 |
监听分组变化
分组操作完成后,相关事件会返回新增、更新或删除的分组;分组成员变化事件会返回分组、会话 ID 和会话详情。客户端在状态合并时,必须以 conversationGroupID 定位和维护会话分组,并以 conversationID 维护各分组内的会话列表。
const handleGroupAdded = (groups: ConversationGroup[]) => {
// ...
};
const handleGroupChanged = (groups: ConversationGroup[]) => {
// ...
};
const handleGroupDeleted = (groups: ConversationGroup[]) => {
// ...
};
const handleGroupMemberAdded = (payload: ConversationGroupMemberChangedCallbackData) => {
// ...
};
const handleGroupMemberDeleted = (payload: ConversationGroupMemberChangedCallbackData) => {
// ...
};
// 设置监听
OpenIMSDK.on(OpenIMEvent.OnConversationGroupAdded, handleGroupAdded);
OpenIMSDK.on(OpenIMEvent.OnConversationGroupChanged, handleGroupChanged);
OpenIMSDK.on(OpenIMEvent.OnConversationGroupDeleted, handleGroupDeleted);
OpenIMSDK.on(OpenIMEvent.OnConversationGroupMemberAdded, handleGroupMemberAdded);
OpenIMSDK.on(OpenIMEvent.OnConversationGroupMemberDeleted, handleGroupMemberDeleted);
// 取消监听
OpenIMSDK.off(OpenIMEvent.OnConversationGroupAdded, handleGroupAdded);
OpenIMSDK.off(OpenIMEvent.OnConversationGroupChanged, handleGroupChanged);
OpenIMSDK.off(OpenIMEvent.OnConversationGroupDeleted, handleGroupDeleted);
OpenIMSDK.off(OpenIMEvent.OnConversationGroupMemberAdded, handleGroupMemberAdded);
OpenIMSDK.off(OpenIMEvent.OnConversationGroupMemberDeleted, handleGroupMemberDeleted);组件销毁、退出登录或切换账号时,应取消监听。
相关操作
这个页面有帮助吗?