====== 聊天室管理 ======
环信微信小程序 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|工具类说明]]