外观
群组与成员管理
群组能力覆盖列表、资料、成员、邀请、审批与治理。群主、管理员和普通成员具有不同权限;客户端可以据角色调整界面,但最终授权由服务端执行。
列表与资料
dart
final groups = await sdk.groups.refresh();
await sdk.groupController.preload(groupId);
final group = sdk.groupController.cachedGroup(groupId);
final members = sdk.groupController.cachedMembers(groupId);groupId 来自当前账号有权访问的群。进入群资料页时使用 preload 准备详情与成员;聊天首屏按需读取群名称、头像等摘要信息。
常用管理能力
| 目标 | Flutter 公共入口 | 注意事项 |
|---|---|---|
| 创建群 | groups.create(memberUserIds) | 成员须存在且满足关系规则 |
| 邀请/移除成员 | groups.invite、groups.remove | 服从审批与操作权限 |
| 修改名称、头像、公告、简介 | groups.update | 只更新用户明确修改的字段 |
| 修改本人的群昵称 | groups.updateMyNickname | 与账号昵称分别管理 |
| 管理员与群主 | setAdministrators、transferOwnership | 角色权限由服务端复核 |
| 禁言与治理开关 | setMembersMuted、setAllMuted、updateGovernance | 显式设置目标状态,避免重复点击翻转 |
| 退群或解散 | groups.leave、groups.disband | 处理会话终态与历史可见性 |
以上方法属于 sdk.groups 能力对象。标准 UIKit 已组织常用界面,自定义界面仍应等待操作结果再更新状态。
群资料更新示例
dart
await sdk.groups.update(
groupId,
name: '项目协作群',
notice: '请在本群同步项目进度。',
);请求只携带用户修改的字段,其余资料保持原值。头像使用部署环境配置的上传与存储方式。
群生命周期
加入、移除、退出、解散和重新加入会改变当前账号的群状态、发送权限与历史可见范围。客户端订阅生命周期同步结果,更新会话和操作入口。
重新入群后的历史访问按服务端可见范围处理,不自动开放离群期间的全部记录。群申请与聊天未读分别统计和呈现。
业务项目群
客户后端可通过项目群同步接口建立“业务项目 ↔ IM 群”的稳定映射,适合工单、项目协作和客户服务等场景。区别于客户端手动建群,业务成员来源与审批仍由宿主控制,详见 同步用户与业务群。
群成员规模、治理规则与群音视频人数是不同约束;当前群通话上限见 音视频接入。