这是本文档旧的修订版!
聊天室管理
环信 Web IM SDK 支持聊天室管理功能的集成,集成后可以进行如下操作:
- 获取聊天室列表
- 加入聊天室
- 退出聊天室
- 发送消息
- 接收及处理消息
- 聊天室相关回调
通过这些操作,可以组合帮助您完成多种场景下的 IM 需求。
获取聊天室列表
调用getChatRooms
函数获取聊天室列表,示例如下:
// 列出所有聊天室,支持分页查询
var listRooms = function () {
var option = {
apiUrl: 'https://a1.easemob.com',
pagenum: 1, // 页数
pagesize: 20, // 每页个数
success: function (list) {
console.log(list);
},
error: function () {
console.log('List chat room error');
}
};
conn.getChatRooms(option);
}
API
加入聊天室
调用joinChatRoom
加入聊天室,示例如下:
var joinRoom = function () {
// 加入聊天室
conn.joinChatRoom({
roomId: 'chatroom id' // 聊天室id
});
};
API
退出聊天室
调用quitChatRoom
退出聊天室,示例如下:
var quitRoom = function () {
// 退出聊天室
conn.quitChatRoom({
roomId: 'chatroom id' // 聊天室id
});
}
API
发送消息
见发送消息。
接收及处理消息
- 群聊接收及处理消息同单聊;
- 消息体与单聊消息根据 message 的 type 进行区分;
- 单聊为:chat,群聊为:groupchat,聊天室为:chatroom;
- 根据消息的类型进行不同处理即可。
聊天室相关回调
conn.listen({
onPresence: function ( message ) {
handlePresence(message);
}
});
var handlePresence = function ( e ) {
/*e.type === 'memberJoinChatRoomSuccess' // 加入成功
e.type === 'deleteGroupChat' // 聊天室被删除
e.type === 'joinChatRoomFailed' // 加入失败*/
};