这是本文档旧的修订版!


聊天室管理

环信 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

示例中使用到的 API


调用joinChatRoom加入聊天室,示例如下:

var joinRoom = function () {
    // 加入聊天室
    conn.joinChatRoom({
        roomId: 'chatroom id' // 聊天室id
    });
};

API

示例中使用到的 API


调用quitChatRoom退出聊天室,示例如下:

var quitRoom = function () {
    // 退出聊天室
    conn.quitChatRoom({
        roomId: 'chatroom id' // 聊天室id
    });
}

API

示例中使用到的 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'          // 加入失败*/
};

API

示例中使用到的 API



上一页:群组