这是本文档旧的修订版!


聊天室管理

环信微信小程序 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


发送消息


owner和管理员可以开启和关闭全员禁言。

//聊天室中禁言所有成员
var options = {
      chatRoomId: "chatRoomId", //聊天室id
      success: function (resp) {},
      error: function(e){}
    };
conn.disableSendChatRoomMsg(options);

//聊天室中解除所有成员禁言
conn.enableSendChatRoomMsg(options)

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


上一页:群组

下一页:工具类说明