跳到主要内容

用户信息

imkit-store 提供了一套完整的 hooks 系统(用于自定义数据获取逻辑),允许开发者自定义用户信息、群组信息等数据的获取方式。这些 hooks 在初始化 imkit-store 时通过 IRCStoreInitOpts 配置对象传入,详见下方参数说明。

hooks 列表

Hook 名称描述参数返回值类型
reqUserProfiles批量获取用户信息string[]Promise<IUserProfile[]>
reqGroupProfiles批量获取群组信息string[]Promise<IGroupProfile[]>
reqSystemProfiles批量获取系统会话信息string[]Promise<ISystemProfile[]>
reqGroupMembers获取群组成员列表信息stringPromise<IGroupMemberProfile[]>

使用示例

typescript
const store = RCKitStoreInstaller({
hooks: {
// 批量获取用户信息
reqUserProfiles: (userIds: string[]) => {
return new Promise((resolve) => {
// 注意:以下是 mock 数据,实际项目中需要替换为真实的接口请求
const mockUsers = userIds.map(id => ({
id,
name: '用户' + id,
portraitUri: 'https://example.com/avatar.png'
}));
resolve(mockUsers);
});
},

// 批量获取群组信息
reqGroupProfiles: (groupIds: string[]) => {
return new Promise((resolve) => {
// 注意:以下是 mock 数据,实际项目中需要替换为真实的接口请求
const mockGroups = groupIds.map(id => ({
id,
name: '群组' + id,
portraitUri: 'https://example.com/group-avatar.png',
memberCount: Math.floor(Math.random() * 100)
}));
resolve(mockGroups);
});
},

// 批量获取系统会话信息
reqSystemProfiles: (targetIds: string[]) => {
return new Promise((resolve) => {
// 注意:以下是 mock 数据,实际项目中需要替换为真实的接口请求
const mockProfiles = targetIds.map(id => ({
id,
name: '系统消息' + id,
portraitUri: 'https://example.com/system-avatar.png'
}));
resolve(mockProfiles);
});
},

// 获取群组成员列表信息
reqGroupMembers: (groupId: string) => {
return new Promise((resolve) => {
// 注意:以下是 mock 数据,实际项目中需要替换为真实的接口请求
const mockMembers = Array.from({ length: 10 }, (_, i) => ({
groupNickname: `群昵称_${groupId}`,
user: {
id: 'member_' + i,
nickname: '成员' + i,
portraitUri: 'https://example.com/member-avatar.png',
}
}));
resolve(mockMembers);
});
}
}
});

注意事项

  1. 所有 hooks 都是可选的,但建议全量实现,如未实现相关 Hook,会话列表和会话界面将无法显示完整的用户/群组信息。如果未实现某个 hook,相关功能将走默认数据,默认数据格式为 ${会话类型前缀}_${目标ID} (如:P_123 表示单聊用户 123 )。
  2. 确保 hooks 的实现是异步的,返回 Promise。
  3. 注意处理网络请求超时的情况。

初始化参数说明

参数名类型必填描述
logLevelLogL日志输出等级,默认 LogL.WARN,有效值为 LogL.DEBUGLogL.INFOLogL.WARNLogL.ERROR
hooksIKitServiceHooks业务数据 Hook 模块,用于向 SDK 注入用户信息、群组信息等