差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
im:web:basics:chatroom [2020/07/31 09:51] zhangdong [创建聊天室] |
im:web:basics:chatroom [2022/03/11 10:35] (当前版本) jennifer.zeng [聊天室管理] |
||
---|---|---|---|
行 1: | 行 1: | ||
====== 聊天室管理 ====== | ====== 聊天室管理 ====== | ||
+ | |||
+ | 更新时间:2021-12-31 | ||
+ | |||
+ | 新版文档见:[[ccim:web:chatroom1|聊天室管理]]。 | ||
+ | |||
+ | 环信聊天室模型支持默认最大成员数为5000,聊天室成员数可调整,请联系商务。 | ||
环信 Web IM SDK 支持聊天室管理功能的集成,集成后可以进行如下操作: | 环信 Web IM SDK 支持聊天室管理功能的集成,集成后可以进行如下操作: | ||
* 获取聊天室列表 | * 获取聊天室列表 | ||
行 18: | 行 24: | ||
调用"createChatRoom"函数创建聊天室,示例如下: | 调用"createChatRoom"函数创建聊天室,示例如下: | ||
<code javascript> | <code javascript> | ||
- | var options = { | + | let options = { |
- | name: 'chatRoomName', // 聊天室名称 | + | name: 'chatRoomName', // 聊天室名称 |
- | description: 'description', // 聊天室描述 | + | description: 'description', // 聊天室描述 |
- | maxusers: 200, // 聊天室成员最大数(包括聊天室创建者),默认值200,最大值5000 | + | maxusers: 200, // 聊天室成员最大数(包括聊天室创建者),默认值200,聊天室人数最大默认5000。 |
- | members: ['user1', 'user2'], // 聊天室成员,此属性为可选的,但是如果加了此项,数组元素至少一个 | + | members: ['user1', 'user2'] // 聊天室成员,此属性为可选的,但是如果加了此项,数组元素至少一个 |
- | success: function(){}, | + | |
- | error:function(){} | + | |
} | } | ||
+ | conn.createChatRoom(options).then((res) => { | ||
+ | console.log(res) | ||
+ | }) | ||
</code> | </code> | ||
----- | ----- | ||
行 33: | 行 40: | ||
调用"destroyChatRoom"函数销毁聊天室,示例如下: | 调用"destroyChatRoom"函数销毁聊天室,示例如下: | ||
<code javascript> | <code javascript> | ||
- | var options = { | + | let options = { |
- | chatRoomId: '1234567890', // 聊天室id | + | chatRoomId: '1234567890' // 聊天室id |
- | success: function(){}, | + | |
- | error:function(){} | + | |
} | } | ||
- | + | conn.destroyChatRoom(options).then((res) => { | |
- | conn.destroyChatRoom(options) | + | console.log(res) |
+ | }) | ||
</code> | </code> | ||
行 47: | 行 53: | ||
<code javascript> | <code javascript> | ||
// 列出所有聊天室,支持分页查询 | // 列出所有聊天室,支持分页查询 | ||
- | var listRooms = function () { | + | let option = { |
- | var option = { | + | pagenum: 1, // 页数 |
- | apiUrl: 'https://a1.easemob.com', | + | pagesize: 20 // 每页个数 |
- | pagenum: 1, // 页数 | + | }; |
- | pagesize: 20, // 每页个数 | + | conn.getChatRooms(option).then((res) => { |
- | success: function (list) { | + | console.log(res) |
- | console.log(list); | + | }) |
- | }, | + | |
- | error: function () { | + | |
- | console.log('List chat room error'); | + | |
- | } | + | |
- | }; | + | |
- | conn.getChatRooms(option); | + | |
- | } | + | |
</code> | </code> | ||
- | |||
- | === API === | ||
- | 示例中使用到的 API | ||
- | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#getChatRooms|getChatRooms]] | ||
- | |||
---- | ---- | ||
===== 获取聊天室详情 ===== | ===== 获取聊天室详情 ===== | ||
- | 调用"getChatRoomDetails"函数获取聊天室详情,示例如下: | + | 调用''getChatRoomDetails''函数获取聊天室详情,示例如下: |
<code javascript> | <code javascript> | ||
- | var options = { | + | let options = { |
- | chatRoomId: 'chatRoomId', 聊天室id | + | chatRoomId: 'chatRoomId' // 聊天室id |
- | success: function () {}, | + | |
- | error: function () {} | + | |
} | } | ||
- | conn.getChatRoomDetails(options) | + | conn.getChatRoomDetails(options).then((res) => { |
+ | console.log(res) | ||
+ | }) | ||
</code> | </code> | ||
===== 更改聊天室详情 ===== | ===== 更改聊天室详情 ===== | ||
- | 调用"modifyChatRoom"函数更改聊天室详情,示例如下: | + | 调用''modifyChatRoom''函数更改聊天室详情,示例如下: |
<code javascript> | <code javascript> | ||
- | var options = { | + | let options = { |
- | chatRoomId: 'chatRoomId', 聊天室id | + | chatRoomId: 'chatRoomId', // 聊天室id |
- | chatRoomName: 'chatRoomName', // 聊天室名称 | + | chatRoomName: 'chatRoomName', // 聊天室名称 |
- | description: 'description', // 聊天室描述' | + | description: 'description', // 聊天室描述 |
- | maxusers: 200, //聊天室最大人数 | + | maxusers: 200 // 聊天室最大人数 |
- | success: function () {}, | + | |
- | error: function () {} | + | |
} | } | ||
- | conn.modifyChatRoom(options) | + | conn.modifyChatRoom(options).then((res) => { |
+ | console.log(res) | ||
+ | }) | ||
</code> | </code> | ||
===== 加入聊天室 ===== | ===== 加入聊天室 ===== | ||
调用''joinChatRoom''加入聊天室,示例如下: | 调用''joinChatRoom''加入聊天室,示例如下: | ||
<code javascript> | <code javascript> | ||
- | var joinRoom = function () { | + | let options = { |
- | // 加入聊天室 | + | roomId: 'roomId', // 聊天室id |
- | conn.joinChatRoom({ | + | message: 'reason' // 原因(可选参数) |
- | roomId: 'chatroom id' // 聊天室id | + | } |
- | }); | + | conn.joinChatRoom(options).then((res) => { |
- | }; | + | console.log(res) |
+ | }) | ||
</code> | </code> | ||
- | |||
- | === API === | ||
- | 示例中使用到的 API | ||
- | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#joinChatRoom|joinChatRoom]] | ||
---- | ---- | ||
行 113: | 行 106: | ||
调用''quitChatRoom''退出聊天室,示例如下: | 调用''quitChatRoom''退出聊天室,示例如下: | ||
<code javascript> | <code javascript> | ||
- | var quitRoom = function () { | + | let options = { |
- | // 退出聊天室 | + | roomId: 'roomId' // 聊天室id |
- | conn.quitChatRoom({ | + | |
- | roomId: 'chatroom id' // 聊天室id | + | |
- | }); | + | |
} | } | ||
+ | conn.quitChatRoom(options).then((res) => { | ||
+ | console.log(res) | ||
+ | }) | ||
+ | |||
</code> | </code> | ||
- | |||
- | === API === | ||
- | 示例中使用到的 API | ||
- | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#quitChatRoom|quitChatRoom]] | ||
---- | ---- | ||
行 130: | 行 120: | ||
调用''listChatRoomMember''分页获取聊天室成员,示例如下: | 调用''listChatRoomMember''分页获取聊天室成员,示例如下: | ||
<code javascript> | <code javascript> | ||
- | var listChatRoomMember = function () { | + | let options = { |
- | conn.listChatRoomMember({ | + | pageNum: 1, |
- | pageNum: 1, | + | pageSize: 10, |
- | pageSize: 10, | + | chatRoomId: 'chatRoomId' |
- | chatRoomId: '12345678901', | + | |
- | success: function(res){}, | + | |
- | error: function(err){} | + | |
- | }) | + | |
} | } | ||
+ | conn.listChatRoomMember(options).then((res) => { | ||
+ | console.log(res) | ||
+ | }) | ||
+ | |||
</code> | </code> | ||
===== 设置聊天室管理员 ===== | ===== 设置聊天室管理员 ===== | ||
- | 调用"setChatRoomAdmin"设置聊天室管理员,示例如下: | + | 调用''setChatRoomAdmi''设置聊天室管理员,示例如下: |
<code javascript> | <code javascript> | ||
- | var options = { | + | let options = { |
- | chatRoomId: 'chatRoomId', // 聊天室id | + | chatRoomId: 'chatRoomId', // 聊天室id |
- | username: 'user1', // 用户id | + | username: 'user1' // 用户id |
- | success: function(res){}, | + | |
- | error: function(err){} | + | |
} | } | ||
- | conn.setChatRoomAdmin(options) | + | conn.setChatRoomAdmin(options).then((res) => { |
+ | console.log(res) | ||
+ | }) | ||
</code> | </code> | ||
===== 移除聊天室管理员 ===== | ===== 移除聊天室管理员 ===== | ||
- | 调用"removeChatRoomAdmin"移除聊天室管理员,示例如下: | + | 调用''removeChatRoomAdmin''移除聊天室管理员,示例如下: |
<code javascript> | <code javascript> | ||
- | var options = { | + | let options = { |
- | chatRoomId: 'chatRoomId', // 聊天室id | + | chatRoomId: 'chatRoomId', // 聊天室id |
- | username: 'user1', // 用户id | + | username: 'user1' // 用户id |
- | success: function(res){}, | + | |
- | error: function(err){} | + | |
} | } | ||
- | conn.removeChatRoomAdmin(options) | + | conn.removeChatRoomAdmin(options).then((res) => { |
+ | console.log(res) | ||
+ | }) | ||
</code> | </code> | ||
===== 获取聊天室下所有管理员 ===== | ===== 获取聊天室下所有管理员 ===== | ||
- | 调用"getChatRoomAdmin"获取聊天室下所有管理员,示例如下: | + | 调用''getChatRoomAdmin''获取聊天室下所有管理员,示例如下: |
<code javascript> | <code javascript> | ||
- | var options = { | + | let options = { |
- | chatRoomId: 'chatRoomId', // 聊天室id | + | chatRoomId: 'chatRoomId' // 聊天室id |
- | success: function(res){}, | + | |
- | error: function(err){} | + | |
} | } | ||
- | conn.getChatRoomAdmin(options) | + | conn.getChatRoomAdmin(options).then((res) => { |
+ | console.log(res) | ||
+ | }) | ||
</code> | </code> | ||
===== 发送消息 ===== | ===== 发送消息 ===== | ||
行 195: | 行 185: | ||
<code javascript> | <code javascript> | ||
- | var options = { | + | let options = { |
- | roomId: '1000000000000', // 聊天室id | + | roomId: 'roomId', // 聊天室id |
- | announcement: 'announcement', // 公告内容 | + | announcement: 'hello everyone' // 公告内容 |
- | success: function (resp) {}, | + | |
- | error: function(e){} | + | |
}; | }; | ||
- | conn.updateChatRoomAnnouncement(options); | + | conn.updateChatRoomAnnouncement(options).then((res) => { |
+ | console.log(res) | ||
+ | }) | ||
</code> | </code> | ||
---- | ---- | ||
==== 获取聊天室公告 ==== | ==== 获取聊天室公告 ==== | ||
- | 调用fetchChatRoomAnnouncement函数获取聊天室公告,示例如下: | + | 调用''fetchChatRoomAnnouncement''函数获取聊天室公告,示例如下: |
<code javascript> | <code javascript> | ||
var options = { | var options = { | ||
- | roomId: '1000000000000', // 聊天室id | + | roomId: 'roomId' // 聊天室id |
- | success: function (resp) {}, | + | |
- | error: function(e){} | + | |
}; | }; | ||
- | conn.fetchChatRoomAnnouncement(options); | + | conn.fetchChatRoomAnnouncement(options).then((res) => { |
+ | console.log(res) | ||
+ | }) | ||
</code> | </code> | ||
---- | ---- | ||
行 220: | 行 210: | ||
==== 将成员禁言 ==== | ==== 将成员禁言 ==== | ||
- | 调用muteChatRoomMember禁止聊天室用户发言,示例如下: | + | 调用''muteChatRoomMember''禁止聊天室用户发言,示例如下: |
<code javascript> | <code javascript> | ||
- | var options = { | + | let options = { |
- | chatRoomId: "1000000000000", // 聊天室id | + | chatRoomId: "chatRoomId", // 聊天室id |
- | username: 'username', // 被禁言的聊天室成员的id | + | username: 'username', // 被禁言的聊天室成员的id |
- | muteDuration: -1000, // 被禁言的时长,单位ms,如果是“-1000”代表永久 | + | muteDuration: -1000 // 被禁言的时长,单位ms,如果是“-1000”代表永久 |
- | success: function (resp) {}, | + | }; |
- | error: function(e){} | + | conn.muteChatRoomMember(options).then((res) => { |
- | }; | + | console.log(res) |
- | conn.muteChatRoomMember(options); | + | }) |
</code> | </code> | ||
---- | ---- | ||
==== 将成员解除禁言 ==== | ==== 将成员解除禁言 ==== | ||
- | 调用removeMuteChatRoomMember解除聊天室用户禁言,示例如下: | + | 调用''removeMuteChatRoomMember''解除聊天室用户禁言,示例如下: |
<code javascript> | <code javascript> | ||
- | var options = { | + | let options = { |
- | chatRoomId: "1000000000000", // 聊天室id | + | chatRoomId: "1000000000000", // 聊天室id |
- | username: 'username', // 解除禁言的聊天室成员的id | + | username: 'username' // 解除禁言的聊天室成员的id |
- | success: function (resp) {}, | + | }; |
- | error: function(e){} | + | conn.removeMuteChatRoomMember(options).then((res) => { |
- | }; | + | console.log(res) |
- | conn.removeMuteChatRoomMember(options); | + | }) |
</code> | </code> | ||
---- | ---- | ||
==== 获取聊天室所有禁言成员 ==== | ==== 获取聊天室所有禁言成员 ==== | ||
- | 调用getChatRoomMuted获取聊天室下所有被禁言的成员,示例如下: | + | 调用''getChatRoomMuted''获取聊天室下所有被禁言的成员,示例如下: |
<code javascript> | <code javascript> | ||
- | var options = { | + | let options = { |
- | chatRoomId: "1000000000000", // 聊天室id | + | chatRoomId: "chatRoomId" // 聊天室id |
- | success: function (resp) {}, | + | }; |
- | error: function(e){} | + | conn.getChatRoomMuted(options).then((res) => { |
- | }; | + | console.log(res) |
- | conn.getChatRoomMuted(options); | + | }) |
</code> | </code> | ||
---- | ---- | ||
行 261: | 行 251: | ||
<code javascript> | <code javascript> | ||
- | //聊天室中禁言所有成员 | + | // 聊天室中禁言所有成员 |
- | var options = { | + | let options = { |
- | chatRoomId: "chatRoomId", //聊天室id | + | chatRoomId: "chatRoomId" // 聊天室id |
- | success: function (resp) {}, | + | }; |
- | error: function(e){} | + | conn.disableSendChatRoomMsg(options).then((res) => { |
- | }; | + | console.log(res) |
- | conn.disableSendChatRoomMsg(options); | + | }) |
- | //聊天室中解除所有成员禁言 | + | // 聊天室中解除所有成员禁言 |
- | conn.enableSendChatRoomMsg(options) | + | conn.enableSendChatRoomMsg(options).then((res) => { |
+ | console.log(res) | ||
+ | }) | ||
</code> | </code> | ||
- | |||
- | === API === | ||
- | 示例中使用到的 API | ||
- | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#disableSendChatRoomMsg|disableSendChatRoomMsg]] | ||
- | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#enableSendChatRoomMsg|enableSendChatRoomMsg]] | ||
---- | ---- | ||
行 283: | 行 270: | ||
可以将用户添加到白名单中,用户白名单在管理员开启了全员禁言时生效,可以运行白名单用户发出消息。 另外可以将用户移出白名单,检查自己是否在白名单中以及获取白名单列表。 | 可以将用户添加到白名单中,用户白名单在管理员开启了全员禁言时生效,可以运行白名单用户发出消息。 另外可以将用户移出白名单,检查自己是否在白名单中以及获取白名单列表。 | ||
<code javascript> | <code javascript> | ||
- | //添加用户到白名单 | + | // 添加用户到白名单 |
- | var options = { | + | let options = { |
- | chatRoomId: "chatRoomId", //聊天室id | + | chatRoomId: "chatRoomId", // 聊天室id |
- | users: ["user1", "user2"], //成员id列表 | + | users: ["user1", "user2"] // 成员id列表 |
- | success: function (resp) {}, | + | |
- | error: function(e){} | + | |
}; | }; | ||
conn.addUsersToChatRoomWhitelist(options); | conn.addUsersToChatRoomWhitelist(options); | ||
- | //将用户从白名单移除 | + | // 将用户从白名单移除 |
- | var options = { | + | let options = { |
- | chatRoomId: "chatRoomId", //群组id | + | chatRoomId: "chatRoomId", // 群组id |
- | userName: "user", //要移除的成员 | + | userName: "user" // 要移除的成员 |
- | success: function (resp) {}, | + | |
- | error: function(e){} | + | |
} | } | ||
- | conn.rmUsersFromChatRoomWhitelist(options) | + | conn.rmUsersFromChatRoomWhitelist(options); |
- | //从服务器获取白名单成员列表 | + | // 从服务器获取白名单成员列表 |
- | var options = { | + | let options = { |
- | chatRoomId: "chatRoomId", //聊天室id | + | chatRoomId: "chatRoomId" // 聊天室id |
- | success: function (resp) {}, | + | |
- | error: function(e){} | + | |
} | } | ||
- | conn.getChatRoomWhitelist(options) | + | conn.getChatRoomWhitelist(options); |
- | //查询成员是否是白名单用户,操作权限:app admin可查询所有用户;app user可查询自己 | + | // 查询成员是否是白名单用户,操作权限:app admin可查询所有用户;app user可查询自己 |
- | var options = { | + | let options = { |
- | chatRoomId: "chatRoomId", //聊天室id | + | chatRoomId: "chatRoomId", // 聊天室id |
- | userName: "user", //要查询的成员 | + | userName: "user" // 要查询的成员 |
- | success: function (resp) {}, | + | |
- | error: function(e){} | + | |
} | } | ||
- | conn.isChatRoomWhiteUser(options) | + | conn.isChatRoomWhiteUser(options); |
</code> | </code> | ||
- | |||
- | === 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]] | ||
---- | ---- | ||
行 347: | 行 319: | ||
<code javascript> | <code javascript> | ||
- | var options = { | + | let options = { |
- | chatRoomId: '1000000000000', // 聊天室id | + | chatRoomId: 'chatRoomId', // 聊天室id |
- | username: 'username', // 将要被加入黑名单的用户名 | + | username: 'username' // 将要被加入黑名单的用户名 |
- | success: function (resp) {}, | + | }; |
- | error: function(e){} | + | |
- | }; | + | |
conn.chatRoomBlockSingle(options); | conn.chatRoomBlockSingle(options); | ||
</code> | </code> | ||
行 362: | 行 332: | ||
<code javascript> | <code javascript> | ||
- | var options = { | + | let options = { |
- | chatRoomId: '1000000000000', // 聊天室id | + | chatRoomId: 'chatRoomId', // 聊天室id |
- | usernames: ['user1', 'user2'], // 用户id数组 | + | usernames: ['user1', 'user2'] // 用户id数组 |
- | success: function (resp) {}, | + | }; |
- | error: function(e){} | + | |
- | }; | + | |
conn.chatRoomBlockMulti(options); | conn.chatRoomBlockMulti(options); | ||
</code> | </code> | ||
行 374: | 行 342: | ||
==== 将成员移除聊天室黑名单(单个) ==== | ==== 将成员移除聊天室黑名单(单个) ==== | ||
- | 调用removeChatRoomBlockSingle将单个成员从聊天室黑名单中移除,示例如下: | + | 调用''removeChatRoomBlockSingle''将单个成员从聊天室黑名单中移除,示例如下: |
<code javascript> | <code javascript> | ||
- | var options = { | + | let options = { |
- | chatRoomId: "1000000000000", // 群组id | + | chatRoomId: "chatRoomId", // 群组id |
- | username: "user", // 需要移除的用户名 | + | username: "user" // 需要移除的用户名 |
- | success: function(resp){}, | + | } |
- | error: function(e) {}; | + | |
- | } | + | |
conn.removeChatRoomBlockSingle(options); | conn.removeChatRoomBlockSingle(options); | ||
</code> | </code> | ||
行 388: | 行 354: | ||
==== 将成员移除聊天室黑名单(批量) ==== | ==== 将成员移除聊天室黑名单(批量) ==== | ||
- | 调用removeChatRoomBlockMulti将成员批量从聊天室黑名单中移除,示例如下: | + | 调用''removeChatRoomBlockMulti''将成员批量从聊天室黑名单中移除,示例如下: |
<code javascript> | <code javascript> | ||
- | var options = { | + | let options = { |
- | chatRoomId: "1000000000000", // 聊天室id | + | chatRoomId: "chatRoomId", // 聊天室id |
- | usernames: ["user1", "user2"], // 需要移除的用户名数组 | + | usernames: ["user1", "user2"] // 需要移除的用户名数组 |
- | success: function(resp){}, | + | } |
- | error: function(e) {}; | + | |
- | } | + | |
conn.removeChatRoomBlockMulti(options); | conn.removeChatRoomBlockMulti(options); | ||
</code> | </code> | ||
行 402: | 行 366: | ||
==== 获取聊天室黑名单 ==== | ==== 获取聊天室黑名单 ==== | ||
- | 调用getChatRoomBlacklistNew获取聊天室黑名单,示例如下: | + | 调用''getChatRoomBlacklistNew''获取聊天室黑名单,示例如下: |
<code javascript> | <code javascript> | ||
- | var option = { | + | let options = { |
- | chatRoomId: "1000000000000", // 聊天室id | + | chatRoomId: "chatRoomId", // 聊天室id |
- | success: function(list) {}, | + | }; |
- | error: function() {} | + | conn.getChatRoomBlacklistNew(options); |
- | }; | + | |
- | conn.getChatRoomBlacklistNew(option); | + | |
</code> | </code> | ||
---- | ---- |