群组管理

获取群组列表

调用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。根据消息的类型进行不同处理即可。

环信创建群组html,群组管理相关推荐

  1. 环信php创建群组,【PHP】接入环信创建群组和IM用户

    序言 在环信的文档中介绍,可以看到是没有PHP的sdk的,那么就需要咱们自己简单的封装一下.我这里使用的是TP5 环信素材准备 (1)注册完之后会创建一个IM应用 (2)创建成功会有这下图这样的一个展 ...

  2. 环信群聊头像和发送gif图片

    一.群聊头像 环信demo中没有做群聊的头像,需要开发者自己实现. 思路一: 先调用环信的方法,根据groupID获取到所有群成员,然后将群成员的头像进行处理,做成和微信一样九宫格头像 思路二:群聊头 ...

  3. 直播APP的应用(使用七牛直播平台SDK和环信IM低仿映客)

    简介 这是一款低仿映客直播的Android直播聊天应用,本项目通过使用七牛的直播平台提供的sdk进行推流和拉流,使用环信IM来作为用户系统的管理直播聊天室中消息收发.发送礼物.弹幕.私信等功能.本项目 ...

  4. Java IM环信服务端集成之用户注册(三)

    移动端用户注册 VS 环信IM 用户注册 一.IM 用户管理 注册 IM 用户[单个] 在 URL 指定的 org 和 APP 中创建一个新的用户,分两种模式:开放注册和授权注册. "开放注 ...

  5. 环信php创建群组,群组@功能

    群组中,@某人的和群组普通消息没有区别,只是针对被@的用户在 UI 上显示会有不同.可以通过环信的扩展消息来实现. 发送方将想要@的人的环信 ID 通过扩展字段放到扩展消息中,并把消息发到群里. 群中 ...

  6. 环信SDK 头像、昵称、表情自定义和群聊设置的实现 二(附源码)

    前言: 环信SDK 头像.昵称.表情自定义和群聊设置的实现 一(附源码) 接着上面说的,我们来说说表情,它在哪里可以自定义,怎么写,那个方法是添加表情的我们都说说,找到 ChatViewControl ...

  7. Greenplum【集群搭建 02】cgroup工具安装+用户资源组配置+集群资源组配置+数据库资源组配置+资源组相关信息(一篇学会资源组配置)

    采用资源组的形式管理数据库集群的内存.cpu等信息,非特殊说明,需要在集群每台机器上执行. 1.安装cgroup工具 # 1.安装 yum install -y libcgroup-tools# 如果 ...

  8. 【ceph】ceph集群PG(归置组)存在的意义是什么?

    Ceph 的 RADOS中,引入了 PG 的概念用以更好地管理数据.PG 的引入降低对数量巨大的对象的管理难度. 1.对象数量时刻处于变化中.而PG的数量经过人工规划因而严格可控. 2.PG数量远小于 ...

  9. 利用工具对百度网盘的群组、好友进行管理,批量分享文件

    做百度网盘营销的小伙伴经常需要对百度网盘的群组.好友进行管理,但是百度网盘APP或者网页版里面对于这方面的功能太弱了,下面介绍如何利用工具对百度网盘群组.好友进行集中管理,并批量分享文件. 一,下载工 ...

最新文章

  1. Nagios的安装和基本配置(一:知识点总结及环境准备)
  2. 2018全球科技创新报告
  3. [转] C# Winform 拦截关闭按钮触发的事件
  4. Android之定时器实现的几种方式和removeCallbacks失效问题详解
  5. mysql必知必会_MySQL必知必会
  6. Delta3d插件机制
  7. 项目管理平台(总结篇二)
  8. 漫步线性代数二十六——特征值和特征向量(续)
  9. mac上配置mysql
  10. qt鼠标键盘钩子类设计
  11. 4种方法解决js跨域的实现方式
  12. 上海市计算机学会月赛 2022年6月月赛丙组
  13. 【机器学习】十二、一文看懂支持向量机原理
  14. Oracle中的sys用户和system用户
  15. 如何修改PDF文件,怎样将PDF文件拆分
  16. DC-DC电压基准芯片和REF芯片
  17. 【HDU】4942 Game on S♂play 线段树
  18. 操作系统春招面试复习之:文件管理
  19. Github 上火热的十个 Python 项目,从Debug工具到AI水军、量化交易系统。( 嗨学编程)
  20. Levy distribution(列维分布)和Levy fligt(列维飞行)

热门文章

  1. 创造与魔法游戏最新的服务器,创造与魔法MOD服务器
  2. openwrt c语言配置文件,OpenWrt学习笔记7 -- 让人类重建巴别塔的UCI之UCI配置文件
  3. ctr多少正常_你知道亚马逊的点击率多少算正常的吗?
  4. 4.什么是MESI缓存一致性协议?怎么解决并发的可见性问题?
  5. 束手无策 MSN、QQ盗号容易追讨难(转)
  6. keil的sct文件_keil .sct分散加载文件及其应用(重点必看)
  7. 汇编:assembly (intel x86/x86_64)
  8. MySQL的启动与简单命令_002
  9. MATLAB编程-弹簧振动动画
  10. 2873-36-1,Gancidin W,CYCLO(L-LEU-L-PRO),cyclo-L-Leu-L-Pro,环(L-脯氨酰-L-亮氨酰)