let onGroupListUpdated = function(event) {console.log(event.data);// 包含 Group 实例的数组};chat.on(TencentCloudChat.EVENT.GROUP_LIST_UPDATED, onGroupListUpdated);
chat.createGroup(options);
Name | Type | Description |
name | String | 群名称,最长30字节 |
type | String | 群组类型,包括: TencentCloudChat.TYPES.GRP_WORK (好友工作群,默认)TencentCloudChat.TYPES.GRP_PUBLIC (陌生人社交群)TencentCloudChat.TYPES.GRP_MEETING (临时会议群)TencentCloudChat.TYPES.GRP_AVCHATROOM (直播群)TencentCloudChat.TYPES.GRP_COMMUNITY (社群) |
groupID | String | undefined | 群组ID。不填该字段时,会自动为群组创建一个唯一的群 ID |
introduction | String | undefined | 群简介,最长240字节 |
notification | String | undefined | 群公告,最长300字节 |
avatar | String | undefined | 群头像 URL,最长100字节 |
maxMemberNum | Number | undefined | 最大群成员数量,缺省时的默认值: 好友工作群是200 陌生人社交群是2000 临时会议群是10000 直播群无限制 |
joinOption | String | 申请加群处理方式。 TencentCloudChat.TYPES.JOIN_OPTIONS_FREE_ACCESS (自由加入)TencentCloudChat.TYPES.JOIN_OPTIONS_NEED_PERMISSION (需要验证)TencentCloudChat.TYPES.JOIN_OPTIONS_DISABLE_APPLY (禁止加群)注意: TencentCloudChat.TYPES.GRP_WORK, TencentCloudChat.TYPES.GRP_MEETING, TencentCloudChat.TYPES.GRP_AVCHATROOM 类型群组的该属性不允许修改。好友工作群禁止申请加群,临时会议群和直播群自由加入。 |
inviteOption | String | 邀请进群处理方式。
TencentCloudChat.TYPES.INVITE_OPTIONS_FREE_ACCESS (无需审批直接邀请进群)
TencentCloudChat.TYPES.INVITE_OPTIONS_NEED_PERMISSION (需要群主/群管理员验证)
TencentCloudChat.TYPES.INVITE_OPTIONS_DISABLE_INVITE (禁止邀请)
注意:TencentCloudChat.TYPES.GRP_AVCHATROOM 类型的群组该属性不支持设置,其他类型群组均支持。 |
memberList | Array | undefined | 初始群成员列表,最多 100 个。创建直播群时不能添加成员。数组元素结构如下: userID --- String --- 必填,群成员的 userID role --- String --- 成员身份,可选值只有 Admin,表示添加该成员并设其为管理员 memberCustomField --- Array |
groupCustomField | Array | undefined | |
isSupportTopic | Boolean | 创建支持话题的社群时必填, true - 创建支持话题的社群 false - 创建普通社群 |
Promise
// 创建好友工作群let promise = chat.createGroup({type: TencentCloudChat.TYPES.GRP_WORK,name: 'WebSDK',memberList: [{userID: 'user1',// 群成员维度的自定义字段,默认情况是没有的,需要开通,详情请参阅自定义字段memberCustomField: [{key: 'group_member_test', value: 'test'}]}, {userID: 'user2'}] // 如果填写了 memberList,则必须填写 userID});promise.then(function(imResponse) { // 创建成功console.log(imResponse.data.group); // 创建的群的资料// 创建群时指定了成员列表,但是成员中存在超过了“单个用户可加入群组数”限制的情况// 一个用户 userX 最多允许加入 N 个群,如果已经加入了 N 个群,此时创建群再指定 userX 为群成员,则 userX 不能正常加群// SDK 将 userX 的信息放入 overLimitUserIDList,供接入侧处理console.log(imResponse.data.overLimitUserIDList); // 超过了“单个用户可加入群组数”限制的用户列表}).catch(function(imError) {console.warn('createGroup error:', imError); // 创建群组失败的相关信息});
// 创建支持话题的社群let promise = chat.createGroup({type: TencentCloudChat.TYPES.GRP_COMMUNITY,name: 'WebSDK',isSupportTopic: true,});promise.then(function(imResponse) { // 创建成功console.log(imResponse.data.group); // 创建的群的资料}).catch(function(imError) {console.warn('createGroup error:', imError); // 创建群组失败的相关信息});
chat.joinGroup(options);
Name | Type | Description |
groupID | String | 群组 ID |
applyMessage | String | undefined | 附言 |
Promise
let promise = chat.joinGroup({ groupID: 'group1', type: TencentCloudChat.TYPES.GRP_AVCHATROOM });promise.then(function(imResponse) {switch (imResponse.data.status) {case TencentCloudChat.TYPES.JOIN_STATUS_WAIT_APPROVAL: // 等待管理员同意break;case TencentCloudChat.TYPES.JOIN_STATUS_SUCCESS: // 加群成功console.log(imResponse.data.group); // 加入的群组资料break;case TencentCloudChat.TYPES.JOIN_STATUS_ALREADY_IN_GROUP: // 已经在群中break;default:break;}}).catch(function(imError){console.warn('joinGroup error:', imError); // 申请加群失败的相关信息});
chat.getGroupList();
Promise
// 该接口默认只会拉取这些资料:群类型、群名称、群头像、最后一条消息的时间。let promise = chat.getGroupList();promise.then(function(imResponse) {console.log(imResponse.data.groupList); // 群组列表}).catch(function(imError) {console.warn('getGroupList error:', imError); // 获取群组列表失败的相关信息});
// 若默认拉取的字段不满足需求,可以参考下述代码,拉取额外的资料字段。let promise = chat.getGroupList({groupProfileFilter: [TencentCloudChat.TYPES.GRP_PROFILE_OWNER_ID],});promise.then(function(imResponse) {console.log(imResponse.data.groupList); // 群组列表}).catch(function(imError) {console.warn('getGroupList error:', imError); // 获取群组列表失败的相关信息});
chat.quitGroup(groupID);
Name | Type | Description |
groupID | String | 群组 ID |
Promise
let promise = chat.quitGroup('group1');promise.then(function(imResponse) {console.log(imResponse.data.groupID); // 退出成功的群 ID}).catch(function(imError){console.warn('quitGroup error:', imError); // 退出群组失败的相关信息});
chat.dismissGroup(groupID);参数
Name | Type | Description |
groupID | String | 群组 ID |
Promise
let promise = chat.dismissGroup('group1');promise.then(function(imResponse) { // 解散成功console.log(imResponse.data.groupID); // 被解散的群组 ID}).catch(function(imError) {console.warn('dismissGroup error:', imError); // 解散群组失败的相关信息});
chat.changeGroupOwner(options);
Name | Type | Description |
groupID | String | 待转让的群组 ID |
newOwnerID | String | 新群主的 ID |
Promise
let promise = chat.changeGroupOwner({groupID: 'group1',newOwnerID: 'user2'});promise.then(function(imResponse) { // 转让成功console.log(imResponse.data.group); // 群组资料}).catch(function(imError) { // 转让失败console.warn('changeGroupOwner error:', imError); // 转让群组失败的相关信息});
chat.handleGroupApplication(options);
Name | Type | Description |
handleAction | String | 处理结果 Agree(同意) / Reject(拒绝) |
handleMessage | String | undefined | 附言 |
Message | 对应群系统通知的消息实例 |
Promise
// 通过获取未决列表处理加群申请let promise = chat.getGroupApplicationList();promise.then(function(imResponse) {const { applicationList } = imResponse.data;applicationList.forEach((item) => {if (item.applicationType === 0) {chat.handleGroupApplication({handleAction: 'Agree',application: {...item},});}});}).catch(function(imError) {console.warn('getGroupApplicationList error:', imError);});
// 通过获取未决列表处理邀请进群申请let promise = chat.getGroupApplicationList();promise.then(function(imResponse) {const { applicationList } = imResponse.data;applicationList.forEach((item) => {if (item.applicationType === 2) {chat.handleGroupApplication({handleAction: 'Agree',application: {...item},});}});}).catch(function(imError) {console.warn('getGroupApplicationList error:', imError);});
本页内容是否解决了您的问题?