差别

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

到此差别页面的链接

后一修订版
前一修订版
im:web:draft:group [2019/03/11 06:53]
jk 创建
— (当前版本)
行 1: 行 1:
-====== 群组管理 ====== 
-<WRAP round tip> 
-**注意:** 
  
-从Web SDK V1.4.11开始,群组管理的接口都已更新了Rest版本,V1.4.10 (包括V1.4.10)以下版本仍然保留XMPP版本,如果需要继续使用XMPP版本的接口,请参考[[im:​400webimintegration:​40groupchat|群组管理]] 
-</​WRAP>​ 
----- 
- 
-===== 获取用户加入的群组列表 ===== 
- 
-调用getGroup函数获取当前登录用户加入的群组列表,示例如下: 
- 
-<code javascript>​ 
-// 列出当前登录用户加入的所有群组 
-var options = { 
-    success: function (resp) { 
-        console.log("​Response:​ ", resp) 
-    }, 
-    error: function (e) {}; 
-conn.getGroup(options);​ 
-</​code>​ 
- 
-===== 查询群组成员 ===== 
- 
-调用listGroupMember函数分页获取当前群组的所有成员,其中pageSize表示预期每页获取的记录数,pageNum表示页码,示例如下: 
-  
-<code javascript>​ 
-var pageNum = 1, 
-    pageSize = 1000; 
-    var options = { 
-        pageNum: pageNum, 
-        pageSize: pageSize, 
-        groupId: '​yourGroupId',​ 
-        success: function (resp) { console.log("​Response:​ ", resp)}, 
-        error: function(e){} 
-    }; 
-conn.listGroupMember(options);​ 
-</​code>​ 
- 
-===== 获取群组黑名单 ===== 
- 
-<code javascript>​ 
-// 获取群组黑名单 
-var getGroupBlackList = function () { 
-    var option = { 
-        roomId: '​1480758709661',​ 
-        success: function (list) { 
-            console.log('​Get group black list: ', list); 
-        }, 
-        error: function () { 
-            console.log('​Get group black list error.'​);​ 
-        } 
-    }; 
-    conn.getGroupBlacklist(option);​ 
-}; 
-</​code>​ 
- 
-===== 创建群组 ===== 
- 
-调用createGroupNew函数创建群组,groupname表示群组名,desc表示群组描述,members是用户名组成的数组,pub等于true时,创建为公开群,approval等于true时,加群需要审批,为false时加群无需审批。另外,创建群组成功后会在回调函数里调用onCreateGroup函数。 
- 
-<code javascript>​ 
-var options = { 
-            data: { 
-                groupname: value, 
-                desc: info, 
-                members: friendsSelected,​ 
-                public: pub, 
-                approval: approval, 
-                allowinvites:​ allowInvites 
-            }, 
-            success: function (respData) {}, 
-            error: function () {} 
-}; 
-conn.createGroupNew(options);​ 
-</​code>​ 
-===== 获取群组信息 ===== 
-调用getGroupInfo根据群id获取群组详情,groupId为群id,示例如下: 
-<code javascript>​ 
-var options = { 
-    groupId: gid, 
-    success: function(resp){ 
-        console.log("​Response:​ ", resp); 
-    }, 
-    error: function(){} 
-}; 
-conn.getGroupInfo(options);​ 
-</​code>​ 
- 
-===== 修改群组信息 ===== 
- 
-只有群组的管理员可以修改群组名称和群组简介,示例如下。 
- 
-注意:在获取群组时候就可以获取群管理员的ID,从而前端可决定是否显示修改信息按钮。 
- 
-<code javascript>​ 
-// 修改群信息 
-var changeGroupInfo = function () { 
-    var option = { 
-        roomId: '​1480756943693',​ 
-        subject: '​ChangeTest', ​   // 群组名称 
-        description:​ '​Change group information test', ​ // 群组简介 
-        success: function () { 
-            console.log('​Change Group Names Success!'​);​ 
-        } 
-    }; 
-    conn.changeGroupSubject(option);​ 
-}; 
-</​code>​ 
- 
-===== 将好友加入群组 ===== 
- 
-管理员可以将好友加入群组。 
- 
-<code javascript>​ 
-// 加好友入群 
-var addGroupMembers = function () { 
-    var option = { 
-        list: ['​asdfghj',​ '​wjy6'​],​ 
-        roomId: '​1480841456167'​ 
-    }; 
-    conn.addGroupMembers(option);​ 
-}; 
-</​code>​ 
- 
-===== 将成员禁言 ===== 
- 
-调用mute将成员禁言,username表示成员用户名,muteDuration表示将要被禁言的时长,单位是毫秒,示例如下: 
- 
-<code javascript>​ 
-var options = { 
-        username: "​user",​ 
-        muteDuration:​ 886400000, 
-        groupId: "​groupId",​ 
-        success: function (resp) {}, 
-        error: function(e){} 
-    }; 
-conn.mute(options);​ 
-</​code>​ 
- 
-===== 将成员解除禁言 ===== 
- 
-调用removeMute将成员禁言,username表示成员用户名,groupId表示群组id,示例如下: 
- 
-<code javascript>​ 
-var options = { 
-        groupId: "​groupId",​ 
-        username: "​user",​ 
-        success: function(resp){},​ 
-        error: function (e) {} 
-    }; 
-conn.removeMute(options);​ 
-</​code>​ 
- 
-===== 获取群组下所有被禁言成员 ===== 
- 
-调用getMuted将成员禁言,groupId表示群组id,示例如下: 
- 
-<code javascript>​ 
-var options = { 
-            groupId: "​groupId",​ 
-            success: function (resp) {}, 
-            error: function(e){} 
-        }; 
-conn.getMuted(options);​ 
-</​code>​ 
- 
-===== 将成员设为群管理员 ===== 
- 
-调用setAdmin将成员禁言,groupId表示群组id,user表示用户名,示例如下: 
- 
-<code javascript>​ 
-var options = { 
-        groupId: "​groupId",​ 
-        username: "​user",​ 
-        success: function(resp) {}, 
-        error: function(e){} 
-    }; 
-conn.setAdmin(options);​ 
-</​code>​ 
- 
-===== 将管理员撤销 ===== 
- 
-调用removeAdmin将成员禁言,groupId表示群组id,user表示用户名,示例如下: 
- 
-<code javascript>​ 
-var options = { 
-        groupId: "​groupId",​ 
-        username: "​user",​ 
-        success: function(resp) {}, 
-        error: function (e) {} 
-     }; 
-conn.removeAdmin(options);​ 
-</​code>​ 
- 
-===== 获取群组下所有管理员 ===== 
- 
-调用getGroupAdmin获取群组下所有管理员,groupId表示群组id,示例如下: 
- 
-<code javascript>​ 
-var options = { 
-        groupId: "​groupId",​ 
-        success: function (resp) {}, 
-        error: function(e){} 
-    }; 
-conn.getGroupAdmin(options);​ 
-</​code>​ 
- 
-===== 将成员加入群黑名单(单个) ===== 
- 
-调用groupBlockSingle将单个成员加入群组黑名单,groupId表示群组id,username表示将要被加入黑名单的用户名,示例如下: 
- 
-<code javascript>​ 
-var options = { 
-        groupId: Demo.selected,​ 
-        username: username, 
-        success: function (resp) { 
-            console.log("​Response:​ ", resp); 
-        }, 
-        error: function(e){} 
-    }; 
-conn.groupBlockSingle(options);​ 
-</​code>​ 
- 
-===== 将成员加入群黑名单(批量) ===== 
- 
-调用groupBlockMulti将成员批量加入群组黑名单,groupId表示群组id,username表示将要被加入黑名单的用户名数组,示例如下: 
- 
-<code javascript>​ 
-var options = { 
-        groupId: 'Your groupId',​ 
-        username: ['​user1',​ '​user2',​ ...users], 
-        success: function (resp) { 
-            console.log("​Response:​ ", resp); 
-        }, 
-        error: function(e){} 
-    }; 
-conn.groupBlockMulti(options);​ 
-</​code>​ 
- 
-===== 将成员移出群组黑名单(单个) ===== 
- 
-调用removeGroupBlockSingle将单个成员从群组黑名单中移除,groupId是群组id,username是需要移除的用户名。 
- 
-<code javascript>​ 
-var options = { 
-        groupId: "Your Group ID", 
-        username: "​user",​ 
-        success: function(resp){ 
-            console.log("​Response:​ ", resp); 
-        }, 
-        error: function(e) {}; 
-    } 
-conn.removeGroupBlockSingle(options);​ 
-</​code>​ 
- 
-===== 将成员移出群组黑名单(批量) ===== 
- 
-调用removeGroupBlockMulti将成员批量从群组黑名单中移除,groupId是群组id,username是需要移除的用户名数组。 
- 
-<code javascript>​ 
-var options = { 
-        groupId: "Your Group ID", 
-        username: ["​user1",​ "​user2"​],​ 
-        success: function(resp){ 
-            console.log("​Response:​ ", resp); 
-        }, 
-        error: function(e) {}; 
-    } 
-conn.removeGroupBlockMulti(options);​ 
-</​code>​ 
- 
-===== 解散群组 ===== 
- 
-只有群组的管理员有权限将成员踢出群组。群组解散后,所有群成员均退出该群。 
- 
-注意:在获取群组时候就可以获取群管理员的ID,从而前端可决定是否显示解散按钮。 
- 
-<code javascript>​ 
-// 解散一个群组 
-var dissolveGroup = function () { 
-    var option = { 
-        groupId: '​1480840256052',​ 
-        success: function () { 
-            console.log('​Destroy group success!'​);​ 
-        } 
-    }; 
-    conn.dissolveGroup(option);​ 
-}; 
-</​code>​ 
- 
-===== 退出群组 ===== 
- 
-群成员可以主动退出群组,示例如下。 
- 
-<code javascript>​ 
-// 成员主动退出群 
-var leaveGroup = function () { 
-    var option = { 
-        to: '​asdfghj',​ 
-        roomId: '​1480747027186',​ 
-        success: function () { 
-            console.log('​You leave room succeed!'​);​ 
-        }, 
-        error: function () { 
-            console.log('​Leave room faild'​);​ 
-        } 
-    }; 
-    conn.leaveGroupBySelf(option);​ 
-}; 
-</​code>​ 
- 
-===== 分页获取公开群 ===== 
- 
-调用listGroups函数分页获取当前登录用户加入的群组列表,其中limit表示预期每页获取的记录数,cursor 游标,如果数据还有下一页,API 返回值会包含此字段,传递此字段可获取下一页的数据,默认为null,为null时获取第一页数据,示例如下: 
- 
-<code javascript>​ 
-var limit = 20, 
-    cursor = globalCursor;​ 
-    var options = { 
-        limit: limit, 
-        cursor: cursor, 
-        success: function (resp) { 
-            console.log("​Response:​ ", resp); 
-            globalCursor = resp.cursor;​ 
-        }, 
-        error: function (e) {} 
-    }; 
-conn.listGroups(options);​ 
-</​code>​ 
- 
-===== 向群组发出入群申请 ===== 
- 
-调用joinGroup向群组发出入群申请,groupId表示群组的群id,示例如下: 
- 
-<code javascript>​ 
-var options = { 
-        groupId: "​groupId",​ 
-        success: function(resp) { 
-            console.log("​Response:​ ", resp); 
-        }, 
-        error: function(e) { 
-            if(e.type == 17){ 
-                console.log("​您已经在这个群组里了"​);​ 
-            } 
-        } 
-    }; 
-conn.joinGroup(options);​ 
-</​code>​ 
- 
-===== 同意用户加入群 ===== 
- 
-调用agreeJoinGroup同意用户加群请求,groupId表示群组的群id,applicant为申请加群的用户名,示例如下: 
- 
-<code javascript>​ 
-var options = { 
-        applicant: applicant, 
-        groupId: groupId, 
-        success: function(resp){ 
-            console.log(resp);​ 
-        }, 
-        error: function(e){} 
-    }; 
-conn.agreeJoinGroup(options);​ 
-</​code>​ 
- 
-===== 拒绝用户加入群 ===== 
- 
-调用rejectJoinGroup同意用户加群请求,groupId表示群组的群id,applicant为申请加群的用户名,示例如下: 
- 
-<code javascript>​ 
-var options = { 
-        applicant: applicant, 
-        groupId: groupId, 
-        success: function(resp){ 
-            console.log(resp);​ 
-        }, 
-        error: function(e){} 
-    }; 
-conn.rejectJoinGroup(options);​ 
-</​code>​ 
-===== 发送消息 ===== 
- 
-见[[im:​400webimintegration:​30singlechat#​发送消息|发送消息]]。 
- 
-===== 接收及处理消息 ===== 
- 
-群聊接收及处理消息同单聊,消息体与单聊消息根据 message 的 type 进行区分,单聊为:chat,群聊为:groupchat,聊天室为:chatroom。根据消息的类型进行不同处理即可。 
- 
- 
----- 
-<WRAP group> 
-<WRAP half column> 
-上一页:[[im:​web:​basics:​buddy|好友管理]] 
-</​WRAP>​ 
- 
-<WRAP half column> 
-下一页:[[im:​web:​basics:​chatroom|聊天室管理]] 
-</​WRAP>​ 
-</​WRAP>​