浏览 SDKs · React Native
SDKsReact Native商业版

会话分组概览

会话分组概览。

复制

会话分组用于将当前账号的会话列表按业务场景分类,例如工作、待处理或自定义类别。

分组类型

ConversationGroupType 包含以下类型:

枚举值数值说明
ConversationGroupType.ConversationGroupTypeNormal0普通自定义分组。
ConversationGroupType.ConversationGroupTypeFilter1按规则筛选的分组。
ConversationGroupType.ConversationGroupTypeAll2查询全部类型的分组。

分组字段

ConversationGroup 通过 conversationGroupID 作为分组标识:

字段类型说明
conversationGroupIDstring会话分组 ID。
namestring分组名称。
serialnumber分组排序值。
versionnumber分组数据版本。
conversationGroupTypeConversationGroupType分组类型。
hiddenboolean分组是否隐藏。
unreadCountnumber分组内会话的未读总数。
conversationIDsstring[]当前属于该分组的会话 ID。
exstring(可选)业务扩展字符串。

监听分组变化

分组操作完成后,相关事件会返回新增、更新或删除的分组;分组成员变化事件会返回分组、会话 ID 和会话详情。事件回调参数直接传递实体,不包含 data 字段。应用应按 conversationGroupID 更新分组,按事件中的 conversationIDs 更新成员关系。

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);

组件销毁、退出登录或切换账号时,取消监听。