差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
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>​
 ---- ----