聊天室管理
大约 1 分钟
聊天室管理
环信桌面端 SDK 支持聊天室功能的集成,集成后可以进行如下操作:
查询聊天室信息
加入聊天室
退出聊天室
监听回调
通过这些操作,可以组合帮助您完成多种场景下的 IM 需求。
注意: 聊天室只能有服务端创建,客户端只可以查询、加入和退出聊天室
查询聊天室信息
// 获取聊天室控制对象
var chatroomManager = emclient.getChatroomManager();
// 获取所有聊天室
var chatroomlist = chatroomManager.fetchAllChatrooms(error);
// 获取聊天室属性
chatroomlist.map((chatroom) => {
console.log("chatroom id:"+chatroom.chatroomId());
console.log("chatroom chatroomSubject:"+chatroom.chatroomSubject());
console.log("chatroom chatroomDescription:"+chatroom.chatroomDescription());
console.log("chatroom owner:"+chatroom.owner());
console.log("chatroom chatroomMemberCount:"+chatroom.chatroomMemberCount());
console.log("chatroom chatroomMemberMaxCount:"+chatroom.chatroomMemberMaxCount());
console.log("chatroom chatroomAnnouncement:"+chatroom.chatroomAnnouncement());
var adminlist = chatroom.chatroomAdmins();
var memberlist = chatroom.chatroomMembers();
var banslist = chatroom.chatroomBans();
});
加入聊天室
接口 API 说明如下:
/**
* 加入聊天室
* param chatroomid 聊天室 ID
* param error 操作结果
* return Promise 对象,该对象的 response 参数 EMChatroom 对象
*/
joinChatroom(chatroomid,error);
调用方法如下:
chatroomManager.joinChatroom(chatroomId, error).then((res)=>{},(error) => {});
退出聊天室
接口 API 说明如下:
/**
* 离开聊天室
* param chatroomid 聊天室 ID
* param error 操作结果
* return Promise 对象,该对象的 response 参数为空
*/
leaveChatroom(chatroomid,error);
调用方法如下:
chatroomManager.leaveChatroom(chatroomId, error).then((res)=>{},(error) => {});
回调监听
// 添加消息回调
var emchatroomlistener = new easemob.EMChatroomManagerListener();
console.log(emchatroomlistener);
emchatroomlistener.onMemberJoinedChatroom((chatroom,member) => {
console.log("onMemberJoinedChatroom" + chatroom.chatroomSubject());
console.log("onMemberJoinedChatroom" + member);
});
emchatroomlistener.onMemberLeftChatroom((chatroom,member) => {
console.log("onMemberLeftChatroom" + chatroom.chatroomSubject());
console.log("onMemberLeftChatroom" + member);
});
//注册监听
chatroomManager.addListener(emchatroomlistener);
// 移除监听
chatroomManager.removeListener(emchatroomlistener);