====== 聊天室管理 ====== 环信微信小程序 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 * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#getChatRooms|getChatRooms]] ---- ===== 加入聊天室 ===== 调用''joinChatRoom''加入聊天室,示例如下: var joinRoom = function () { // 加入聊天室 conn.joinChatRoom({ roomId: 'chatroom id' // 聊天室id }); }; === API === 示例中使用到的 API * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#joinChatRoom|joinChatRoom]] ---- ===== 退出聊天室 ===== 调用''quitChatRoom''退出聊天室,示例如下: var quitRoom = function () { // 退出聊天室 conn.quitChatRoom({ roomId: 'chatroom id' // 聊天室id }); } === API === 示例中使用到的 API * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#quitChatRoom|quitChatRoom]] ---- ===== 发送消息 ===== 见[[im:web:basics:message#发送消息|发送消息]]。 ---- ===== 聊天室禁言 ===== ==== 开启和关闭全员禁言 ==== owner和管理员可以开启和关闭全员禁言。 //聊天室中禁言所有成员 var options = { chatRoomId: "chatRoomId", //聊天室id success: function (resp) {}, error: function(e){} }; conn.disableSendChatRoomMsg(options); //聊天室中解除所有成员禁言 conn.enableSendChatRoomMsg(options) === API === 示例中使用到的 API * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#disableSendChatRoomMsg|disableSendChatRoomMsg]] * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#enableSendChatRoomMsg|enableSendChatRoomMsg]] ---- ==== 白名单管理 ==== 可以将用户添加到白名单中,用户白名单在管理员开启了全员禁言时生效,可以运行白名单用户发出消息。 另外可以将用户移出白名单,检查自己是否在白名单中以及获取白名单列表。 //添加用户到白名单 var options = { chatRoomId: "chatRoomId", //聊天室id users: ["user1", "user2"], //成员id列表 success: function (resp) {}, error: function(e){} }; conn.addUsersToChatRoomWhitelist(options); //将用户从白名单移除 var options = { chatRoomId: "chatRoomId", //群组id userName: "user", //要移除的成员 success: function (resp) {}, error: function(e){} } conn.rmUsersFromChatRoomWhitelist(options) //从服务器获取白名单成员列表 var options = { chatRoomId: "chatRoomId", //聊天室id success: function (resp) {}, error: function(e){} } conn.getChatRoomWhitelist(options) //查询成员是否是白名单用户,操作权限:app admin可查询所有用户;app user可查询自己 var options = { chatRoomId: "chatRoomId", //聊天室id userName: "user", //要查询的成员 success: function (resp) {}, error: function(e){} } conn.isChatRoomWhiteUser(options) === API === 示例中使用到的 API * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#addUsersToChatRoomWhitelist|addUsersToChatRoomWhitelist]] * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#rmUsersFromChatRoomWhitelist|rmUsersFromChatRoomWhitelist]] * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#getChatRoomWhitelist|getChatRoomWhitelist]] * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#isChatRoomWhiteUser|isChatRoomWhiteUser]] ---- ===== 接收及处理消息 ===== * 群聊接收及处理消息同单聊; * 消息体与单聊消息根据 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 * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#listen|listen]] ---- 上一页:[[im:applet:group|群组]] 下一页:[[im:applet:toolrelated|工具类说明]]