chat.createGroup(options);
// 创建支持话题的社群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.getJoinedCommunityList();
Promise
// 获取支持话题的社群列表let promise = chat.getJoinedCommunityList();promise.then(function(imResponse) { // 获取成功console.log(imResponse.data.groupList); // 支持话题的社群列表}).catch(function(imError) { // 获取失败console.warn('getJoinedCommunityList error:', imError); // 失败的相关信息});
chat.createTopicInCommunity(options);
Name | Type | Description |
groupID | String | 话题所属社群 ID |
topicName | String | 话题名称 |
topicID | String | 自定义话题 ID 时,格式必须是社群 ID 拼接上自定义话题 ID。例如:@TGS#_xxx@TOPIC#_xxx |
avatar | String | 话题头像 |
notification | String | 话题公告 |
introduction | String | 话题简介 |
customData | String | 话题自定义信息 |
Promise
// 创建话题let promise = chat.createTopicInCommunity({groupID: 'group1',topicName: 'test',avatar: 'xxx'notification: 'xxx',introduction: 'xxx',customData: 'xxxx',});promise.then(function(imResponse) { // 创建成功console.log(imResponse.data.topicID); // 话题 ID}).catch(function(imError) { // 创建失败console.warn('createTopicInCommunity error:', imError); // 创建话题失败的相关信息});
chat.deleteTopicFromCommunity(options);
Name | Type | Description |
groupID | String | 话题所属社群 ID |
topicIDList | Array | undefined | 话题 ID 列表,不传 topicIDList 表示删除全部话题 |
Promise
// 删除某个社群下指定话题let promise = chat.deleteTopicFromCommunity({groupID: 'group1',topicIDList: ['topicID'],});promise.then(function(imResponse) { // 删除成功const { successTopicList, failureTopicList } = imResponse.data;// 删除成功的话题列表successTopicList.forEach((item) => {const { topicID } = item;});// 删除失败的话题列表failureTopicList.forEach((item) => {const { topicID, code, message } = item;})}).catch(function(imError) { // 删除失败console.warn('deleteTopicFromCommunity error:', imError); // 删除话题失败的相关信息});
// 删除某个社群下所有话题let promise = chat.deleteTopicFromCommunity({groupID: 'group1',});promise.then(function(imResponse) { // 删除成功const { successTopicList, failureTopicList } = imResponse.data;// 删除成功的话题列表successTopicList.forEach((item) => {const { topicID } = item;});// 删除失败的话题列表failureTopicList.forEach((item) => {const { topicID, code, message } = item;})}).catch(function(imError) { // 删除失败console.warn('deleteTopicFromCommunity error:', imError); // 删除话题失败的相关信息});
chat.updateTopicProfile(options);
Name | Type | Description |
groupID | String | 话题所属社群 ID |
topicID | String | 必填,话题 ID |
topicName | String | undefined | 话题名称 |
avatar | String | undefined | 话题头像 |
notification | String | undefined | 话题公告 |
introduction | String | undefined | 话题简介 |
customData | String | undefined | 话题自定义信息 |
muteAllMembers | Boolean | undefined | 设置全体禁言, true - 全体禁言 false - 取消全体禁言 |
Promise
// 更新话题资料let promise = chat.updateTopicProfile({groupID: 'group1',topicID: 'topic1',topicName: 'test',avatar: 'xxx'notification: 'xxx',introduction: 'xxx',customData: 'xxxx',muteAllMembers: true});promise.then(function(imResponse) { // 设置话题资料成功console.log(imResponse.data.topic); // 返回修改后的话题资料}).catch(function(imError) { // 设置话题资料失败console.warn('updateTopicProfile error:', imError); // 设置话题资料失败的相关信息});
chat.getTopicList(options);
Name | Type | Description |
groupID | String | 话题所属社群 ID |
topicIDList | Array | undefined | 话题 ID 列表,不传 topicIDList 表示获取全部话题 |
Promise
// 获取某个社群下指定的话题let promise = chat.getTopicList({groupID: 'group1',topicIDList: ['topicID'],});promise.then(function(imResponse) { // 获取成功const { successTopicList, failureTopicList } = imResponse.data;// 获取成功的话题列表successTopicList.forEach((item) => {const { topicID } = item;});// 获取失败的话题列表failureTopicList.forEach((item) => {const { topicID, code, message } = item;})}).catch(function(imError) { // 获取失败console.warn('getTopicList error:', imError); // 获取话题列表失败的相关信息});
// 获取某个社群下全部的话题let promise = chat.getTopicList({groupID: 'group1',});promise.then(function(imResponse) { // 获取成功const { successTopicList, failureTopicList } = imResponse.data;// 获取成功的话题列表successTopicList.forEach((item) => {const { topicID } = item;});// 获取失败的话题列表failureTopicList.forEach((item) => {const { topicID, code, message } = item;})}).catch(function(imError) { // 获取失败console.warn('getTopicList error:', imError); // 获取话题列表失败的相关信息});
groupCustomField
的话题分组列表字段,展示分组列表。customData
获取分组名分配到所属分组中。groupCustomField
的话题分组列表字段名,key 值,可由您自行定义。以下示例代码中,将其命名为 topic_category
。groupCustomField
即可。key 值是您定义的话题分组列表字段名,value 是话题分组列表。
示例代码如下:// 话题分组列表const categoryList = ['分组1', '分组2'];// 更新社群的话题分组列表let promise = chat.updateGroupProfile({groupID: 'group1',// 需要先在控制台配置群自定义字段 topic_categorygroupCustomField: [{ key: 'topic_category', value: JSON.stringify(categoryList) }]});promise.then(function(imResponse) {console.log(imResponse.data.group) // 修改成功后的群组详细资料}).catch(function(imError) {console.warn('updateGroupProfile error:', imError); // 修改群组资料失败的相关信息});
let promise = chat.getGroupProfile({groupID: 'group1',groupCustomFieldFilter: ['topic_category'],});promise.then(function(imResponse) {console.log(imResponse.data.group);const categoryList = []; // 话题分组列表const { groupCustomField } = imResponse.data.group;groupCustomField.forEach((item) => {if (item.key === 'topic_category') {// 解析出分组列表categoryList = JSON.parse(item.value);}});}).catch(function(imError) {console.warn('getGroupProfile error:', imError); // 获取群详细资料失败的相关信息});
customData
字段来保存。
示例代码如下:// 给话题定义分组const customData = { category: '分组1' };// 更新话题分组let promise = chat.updateTopicProfile({groupID: 'group1', // 社群IDtopicID: 'topic1', // 话题IDcustomData: JSON.stringify(customData),});promise.then(function(imResponse) { // 更新话题分组成功console.log(imResponse.data.topic); // 返回修改后的话题资料}).catch(function(imError) { // 更新话题分组失败console.warn('updateTopicProfile error:', imError); // 更新话题分组失败的相关信息});
let onTopicCreated = function(event) {const groupID = event.data.groupID // 话题所属社群 IDconst topicID = event.data.topicID // 话题 IDconsole.log(event.data);};chat.on(TencentCloudChat.EVENT.TOPIC_CREATED, onTopicCreated);
let onTopicDeleted = function(event) {const groupID = event.data.groupID // 话题所属社群 IDconst topicIDList = event.data.topicIDList // 删除的话题 ID 列表console.log(event.data);};chat.on(TencentCloudChat.EVENT.TOPIC_DELETED, onTopicDeleted);
let onTopicUpdated = function(event) {const groupID = event.data.groupID // 话题所属社群 IDconst topic = event.data.topic // 话题资料console.log(event.data);};chat.on(TencentCloudChat.EVENT.TOPIC_UPDATED, onTopicUpdated);
本页内容是否解决了您的问题?