环信创建群组html,群组管理

群组管理

获取群组列表

调用listRooms函数获取当前登录用户加入的群组列表,示例如下。

// 列出所有群组

var listGroups = function () {

var option = {

success: function (rooms) {

console.log(rooms);

},

error: function () {

console.log('List groups error');

}

};

conn.listRooms(option);

};

查询群组成员

根据roomId查询群组成员。

// 查询群组成员

// 查询出来的member的结构为{affiliation: 'member', jid: 'easemob-demo#chatdemoui_wjy6@easemob.com'}

// 注意,这里的jid格式,成员的用户名是chatdemoui_之后,@easemob.com之前的字符串,如本例的wjy6是用户名

var queryRoomMember = function () {

var member = '';

conn.queryRoomMember({

roomId: '114715680632209992',

success: function (members) {

for (var o in members) {

member = members[o];

console.log(member);

}

}

});

};

获取群组黑名单

// 获取群组黑名单

var getGroupBlackList = function () {

var option = {

roomId: '1480758709661',

success: function (list) {

console.log('Get group black list: ', list);

},

error: function () {

console.log('Get group black list error.');

}

};

conn.getGroupBlacklist(option);

};

创建群组

创建群组,并设置群组属性的示例如下。

// 建立一个群组

var createGroup = function () {

var option = {

subject: 'groupName', // 群名称

description: 'create a group test', // 群简介

members: ['wjy6', 'asdfghj'], // 以数组的形式存储需要加群的好友ID

optionsPublic: true, // 允许任何人加入

optionsModerate: false, // 加入需审批

optionsMembersOnly: false, // 不允许任何人主动加入

optionsAllowInvites: false // 允许群人员邀请

};

conn.createGroup(option);

}

再在回调函数中的onPresence中添加:

If( message.type == 'createGroupACK'):

conn.createGroupAsync({

from: message.from,

success: function(option){

console.log('Create Group Succeed');

}

});

获取群组信息

应用场景:判断用户是否为该群管理员。

// 获取群组信息

var queryGroupInfo = function () {

conn.queryRoomInfo({

roomId: '1480747027186',

// settings 表示入群的权限,具体值待定

// members[0]里面包含群主信息,其结构为{affiliation: 'owner', jid: appKey + '_' + username + '@easemob.com'}

// jid中的username就是群主ID

// fields的结构为:

/*

{

affiliations: '2',

description: '12311231313', // 群简介

maxusers: '200', // 群最大成员容量

name: '123', // 群名称

occupants: '2',

owner: 'easemob-demo#chatdemoui_mengyuanyuan' // 群主jid

}

*/

success: function (settings, members, fields) {

console.log('settings: ', settings);

console.log('members: ', members);

console.log('fields: ', fields);

},

error: function () {

console.log('Error!');

}

});

};

修改群组信息

只有群组的管理员可以修改群组名称和群组简介,示例如下。

注意:在获取群组时候就可以获取群管理员的ID,从而前端可决定是否显示修改信息按钮。

// 修改群信息

var changeGroupInfo = function () {

var option = {

roomId: '1480756943693',

subject: 'ChangeTest', // 群组名称

description: 'Change group information test', // 群组简介

success: function () {

console.log('Change Group Names Success!');

}

};

conn.changeGroupSubject(option);

};

将好友加入群组

管理员可以将好友加入群组。

// 加好友入群

var addGroupMembers = function () {

var option = {

list: ['asdfghj', 'wjy6'],

roomId: '1480841456167'

};

conn.addGroupMembers(option);

};

将成员踢出群组

只有群组的管理员有权限将成员踢出群组,踢出群组的同时,将该群成员拉入群组黑名单。

注意:在获取群组时候就可以获取群管理员的ID,从而前端可决定是否显示踢人按钮。

// 将成员踢出群(同将群成员拉入群黑名单)

var addToGroupBlackList = function () {

var option = {

affiliation: 'owner', // 写死

roomId: '1480756943693', // 群组ID

success: function () {

console.log('add to black list succeed');

},

to: 'asdfghj' // 需要删除的成员ID

};

conn.addToGroupBlackList(option);

};

将好友移出群组黑名单

将好友移出群组黑名单后,该好友依然是群组成员。

// 将好友从黑名单移除

var removeFromGroupBlackList = function () {

var option = {

roomId: '1480841456167',

to: 'wjy6',

success: function () {

console.log('Remove from black list success!');

}

};

conn.removeGroupMemberFromBlacklist(option);

};

解散群组

只有群组的管理员有权限将成员踢出群组。群组解散后,所有群成员均退出该群。

注意:在获取群组时候就可以获取群管理员的ID,从而前端可决定是否显示解散按钮。

// 解散一个群组

var destroyGroup = function () {

var option = {

reason: 'Test Destroy Group',

roomId: '1480840256052',

success: function () {

console.log('Destroy group success!');

}

};

conn.destroyGroup(option);

};

退出群组

群成员可以主动退出群组,示例如下。

// 成员主动退出群

var leaveGroup = function () {

var option = {

to: 'asdfghj',

roomId: '1480747027186',

success: function () {

console.log('You leave room succeed!');

},

error: function () {

console.log('Leave room faild');

}

};

conn.leaveGroupBySelf(option);

};

发送消息

接收及处理消息

群聊接收及处理消息同单聊,消息体与单聊消息根据 message 的 type 进行区分,单聊为:chat,群聊为:groupchat,聊天室为:chatroom。根据消息的类型进行不同处理即可。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值