差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
im:web:draft:group [2019/03/22 04:55] jk |
im:web:draft:group [2019/03/22 12:52] jk 移除 |
||
---|---|---|---|
行 37: | 行 37: | ||
* 退出群组 | * 退出群组 | ||
+ | 所有处理操作的示例下面会一一说明。 | ||
==== 获取用户加入的群组列表 ==== | ==== 获取用户加入的群组列表 ==== | ||
- | 调用getGroup函数获取当前登录用户加入的群组列表,示例如下: | + | 调用''getGroup''函数获取当前登录用户加入的群组列表,示例如下: |
<code javascript> | <code javascript> | ||
行 57: | 行 58: | ||
---- | ---- | ||
+ | |||
+ | ==== 分页获取公开群 ==== | ||
+ | 调用''listGroups''函数分页获取当前登录用户加入的群组列表,示例如下: | ||
+ | |||
+ | <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> | ||
+ | **注意:** | ||
+ | * 如果数据还有下一页,API 返回值会包含此字段,传递此字段可获取下一页的数据,默认为''null'',为''null''时获取第一页数据 | ||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#listGroups|listGroups]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 创建群组 ==== | ||
+ | |||
+ | 调用''createGroupNew''函数创建群组,示例代码如下 | ||
+ | <code javascript> | ||
+ | var options = { | ||
+ | data: { | ||
+ | groupname: value, // 群组名 | ||
+ | desc: info, // 群组描述 | ||
+ | members: friendsSelected, // 用户名组成的数组 | ||
+ | public: pub, // pub等于true时,创建为公开群 | ||
+ | approval: approval, // approval为true,加群需审批,为false时加群无需审批 | ||
+ | allowinvites: allowInvites | ||
+ | }, | ||
+ | success: function (respData) {}, | ||
+ | error: function () {} | ||
+ | }; | ||
+ | conn.createGroupNew(options); | ||
+ | </code> | ||
+ | |||
+ | **注意:** | ||
+ | * 创建群组成功后会在回调函数里调用''onCreateGroup''函数 | ||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#createGroupNew|createGroupNew]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 获取群组信息 ==== | ||
+ | |||
+ | 调用''getGroupInfo''根据群 id 获取群组详情,示例如下: | ||
+ | <code javascript> | ||
+ | var options = { | ||
+ | groupId: gid, //群组id | ||
+ | success: function(resp){ | ||
+ | console.log("Response: ", resp); | ||
+ | }, | ||
+ | error: function(){} | ||
+ | }; | ||
+ | conn.getGroupInfo(options); | ||
+ | </code> | ||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#getGroupInfo|getGroupInfo]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 修改群组信息 ==== | ||
+ | |||
+ | 只有群组的管理员可以修改群组名称和群组简介,调用''changeGroupSubject''修改群组信息,示例如下: | ||
+ | |||
+ | <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> | ||
+ | |||
+ | **注意:** | ||
+ | * 在获取群组时候就可以获取群管理员的 ID ,从而前端可决定是否显示修改信息按钮。 | ||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#changeGroupSubject|changeGroupSubject]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 解散群组 ==== | ||
+ | * 只有群组的管理员有权限将成员踢出群组; | ||
+ | | ||
+ | * 群组解散后,所有群成员均退出该群。 | ||
+ | 示例如下: | ||
+ | <code javascript> | ||
+ | // 解散一个群组 | ||
+ | var dissolveGroup = function () { | ||
+ | var option = { | ||
+ | groupId: '1480840256052', | ||
+ | success: function () { | ||
+ | console.log('Destroy group success!'); | ||
+ | } | ||
+ | }; | ||
+ | conn.dissolveGroup(option); | ||
+ | }; | ||
+ | </code> | ||
+ | **注意:** | ||
+ | * 在获取群组时候就可以获取群管理员的ID,从而前端可决定是否显示解散按钮。 | ||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#dissolveGroup|dissolveGroup]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 退出群组 ==== | ||
+ | 群成员可以主动退出群组,调用''leaveGroupBySelf''退出群组,示例如下: | ||
+ | |||
+ | <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> | ||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#leaveGroupBySelf|leaveGroupBySelf]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== 群成员管理 ===== | ||
+ | 群成员管理包含以下处理操作: | ||
+ | * 查询群组成员 | ||
+ | | ||
+ | * 将成员设为管理员 | ||
+ | | ||
+ | * 将管理员撤销 | ||
+ | | ||
+ | * 获取群组下所有管理员 | ||
+ | |||
+ | 所有处理操作的示例下面会一一说明。 | ||
+ | |||
+ | ==== 查询群组成员 ==== | ||
+ | 调用''listGroupMember''函数分页获取当前群组的所有成员,示例如下: | ||
+ | |||
+ | <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> | ||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#listGroupMember|listGroupMember]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 将成员设为管理员 ==== | ||
+ | |||
+ | 调用''setAdmin''将成员禁言,示例如下: | ||
+ | |||
+ | <code javascript> | ||
+ | var options = { | ||
+ | groupId: "groupId", // 群组id | ||
+ | username: "user", // 用户名 | ||
+ | success: function(resp) {}, | ||
+ | error: function(e){} | ||
+ | }; | ||
+ | conn.setAdmin(options); | ||
+ | </code> | ||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#setAdmin|setAdmin]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 将管理员撤销 ==== | ||
+ | |||
+ | 调用''removeAdmin''将成员禁言,示例如下: | ||
+ | |||
+ | <code javascript> | ||
+ | var options = { | ||
+ | groupId: "groupId", // 群组id | ||
+ | username: "user", // 用户名 | ||
+ | success: function(resp) {}, | ||
+ | error: function (e) {} | ||
+ | }; | ||
+ | conn.removeAdmin(options); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#removeAdmin|removeAdmin]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 获取群组所有管理员 ==== | ||
+ | |||
+ | 调用''getGroupAdmin''获取群组下所有管理员,示例如下: | ||
+ | |||
+ | <code javascript> | ||
+ | var options = { | ||
+ | groupId: "groupId", // 群组id | ||
+ | success: function (resp) {}, | ||
+ | error: function(e){} | ||
+ | }; | ||
+ | conn.getGroupAdmin(options); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#getGroupAdmin|getGroupAdmin]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== 加群处理 ===== | ||
+ | 加群包含以下处理操作: | ||
+ | * 将好友加入群组 | ||
+ | | ||
+ | * 向群组发出入群申请 | ||
+ | | ||
+ | * 同意用户加入群 | ||
+ | | ||
+ | * 拒绝用户加入群 | ||
+ | |||
+ | 所有处理操作的示例下面会一一说明。 | ||
+ | |||
+ | ==== 将好友加入群组 ==== | ||
+ | 管理员可以将好友加入群组。调用''addGroupMembers''将好友加入群组,示例如下: | ||
+ | |||
+ | <code javascript> | ||
+ | // 加好友入群 | ||
+ | var addGroupMembers = function () { | ||
+ | var option = { | ||
+ | list: ['asdfghj', 'wjy6'], | ||
+ | roomId: '1480841456167' | ||
+ | }; | ||
+ | conn.addGroupMembers(option); | ||
+ | }; | ||
+ | </code> | ||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#addGroupMembers|addGroupMembers]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 向群组发出入群申请 ==== | ||
+ | 调用''joinGroup''向群组发出入群申请,示例如下: | ||
+ | |||
+ | <code javascript> | ||
+ | var options = { | ||
+ | groupId: "groupId", // 群组ID | ||
+ | success: function(resp) { | ||
+ | console.log("Response: ", resp); | ||
+ | }, | ||
+ | error: function(e) { | ||
+ | if(e.type == 17){ | ||
+ | console.log("您已经在这个群组里了"); | ||
+ | } | ||
+ | } | ||
+ | }; | ||
+ | conn.joinGroup(options); | ||
+ | </code> | ||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#joinGroup|joinGroup]] | ||
+ | |||
+ | ---- | ||
+ | ==== 同意用户加入群 ==== | ||
+ | 调用''agreeJoinGroup''同意用户加群请求,示例如下: | ||
+ | |||
+ | <code javascript> | ||
+ | var options = { | ||
+ | applicant: applicant, // 申请加群的用户名 | ||
+ | groupId: groupId, // 群组ID | ||
+ | success: function(resp){ | ||
+ | console.log(resp); | ||
+ | }, | ||
+ | error: function(e){} | ||
+ | }; | ||
+ | conn.agreeJoinGroup(options); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#agreeJoinGroup|agreeJoinGroup]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 同意用户加入群 ==== | ||
+ | 调用''rejectJoinGroup''拒绝用户加群请求,示例如下: | ||
+ | |||
+ | <code javascript> | ||
+ | var options = { | ||
+ | applicant: applicant, // 申请加群的用户名 | ||
+ | groupId: groupId, // 群组ID | ||
+ | success: function(resp){ | ||
+ | console.log(resp); | ||
+ | }, | ||
+ | error: function(e){} | ||
+ | }; | ||
+ | conn.rejectJoinGroup(options); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#rejectJoinGroup|rejectJoinGroup]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== 禁言管理 ===== | ||
+ | 禁言管理包含以下处理操作: | ||
+ | * 将成员禁言 | ||
+ | | ||
+ | * 将成员解除禁言 | ||
+ | | ||
+ | * 获取群组下禁言成员 | ||
+ | |||
+ | |||
+ | 所有处理操作的示例下面会一一说明。 | ||
+ | |||
+ | ==== 将成员禁言 ==== | ||
+ | 调用''mute''将成员禁言,示例如下: | ||
+ | |||
+ | <code javascript> | ||
+ | var options = { | ||
+ | username: "user", // 成员用户名 | ||
+ | muteDuration: 886400000, // 禁言的时长,单位是毫秒 | ||
+ | groupId: "groupId", | ||
+ | success: function (resp) {}, | ||
+ | error: function(e){} | ||
+ | }; | ||
+ | conn.mute(options); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#mute|mute]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 将成员解除禁言 ==== | ||
+ | 调用''removeMute''将成员解除禁言,示例如下: | ||
+ | |||
+ | <code javascript> | ||
+ | var options = { | ||
+ | groupId: "groupId", // 群组ID | ||
+ | username: "user", // 成员用户名 | ||
+ | success: function(resp){}, | ||
+ | error: function (e) {} | ||
+ | }; | ||
+ | conn.removeMute(options); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#removeMute|removeMute]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 获取群组下禁言成员 ==== | ||
+ | 调用''getMuted''将成员禁言,获取群组下所有被禁言的成员,示例如下: | ||
+ | |||
+ | <code javascript> | ||
+ | var options = { | ||
+ | groupId: "groupId", // 群组ID | ||
+ | success: function (resp) {}, | ||
+ | error: function(e){} | ||
+ | }; | ||
+ | conn.getMuted(options); | ||
+ | </code> | ||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#getMuted|getMuted]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== 黑名单管理 ===== | ||
+ | 黑名单管理包含以下处理操作: | ||
+ | * 将成员加入群黑名单(单个) | ||
+ | | ||
+ | * 将成员加入群黑名单(批量) | ||
+ | | ||
+ | * 将成员移除群组黑名单(单个) | ||
+ | | ||
+ | * 将成员移除群组黑名单(批量) | ||
+ | |||
+ | * 获取群组黑名单 | ||
+ | |||
+ | |||
+ | 所有处理操作的示例下面会一一说明。 | ||
+ | |||
+ | ==== 将成员加入群黑名单(单个) ==== | ||
+ | 调用''groupBlockSingle''将单个成员加入群组黑名单,示例如下: | ||
+ | |||
+ | <code javascript> | ||
+ | var options = { | ||
+ | groupId: Demo.selected, // 群组ID | ||
+ | username: username, // 将要被加入黑名单的用户名 | ||
+ | success: function (resp) { | ||
+ | console.log("Response: ", resp); | ||
+ | }, | ||
+ | error: function(e){} | ||
+ | }; | ||
+ | conn.groupBlockSingle(options); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#groupBlockSingle|groupBlockSingle]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 将成员加入群黑名单(批量) ==== | ||
+ | 调用''groupBlockMulti''将成员批量加入群组黑名单,示例如下: | ||
+ | |||
+ | <code javascript> | ||
+ | var options = { | ||
+ | groupId: 'Your groupId', // 群组ID | ||
+ | username: ['user1', 'user2', ...users], // 将要被加入黑名单的用户名数组 | ||
+ | success: function (resp) { | ||
+ | console.log("Response: ", resp); | ||
+ | }, | ||
+ | error: function(e){} | ||
+ | }; | ||
+ | conn.groupBlockMulti(options); | ||
+ | </code> | ||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#groupBlockMulti|groupBlockMulti]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 将成员移除群组黑名单(单个) ==== | ||
+ | 调用''removeGroupBlockSingle''将单个成员从群组黑名单中移除,示例如下: | ||
+ | |||
+ | <code javascript> | ||
+ | var options = { | ||
+ | groupId: "Your Group ID", // 群组ID | ||
+ | username: "user", // 需要移除的用户名 | ||
+ | success: function(resp){ | ||
+ | console.log("Response: ", resp); | ||
+ | }, | ||
+ | error: function(e) {}; | ||
+ | } | ||
+ | conn.removeGroupBlockSingle(options); | ||
+ | </code> | ||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#removeGroupBlockSingle|removeGroupBlockSingle]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 将成员移除群组黑名单(批量) ==== | ||
+ | 调用''removeGroupBlockMulti''将成员批量从群组黑名单中移除,示例如下: | ||
+ | |||
+ | <code javascript> | ||
+ | var options = { | ||
+ | groupId: "Your Group ID", // 群组ID | ||
+ | username: ["user1", "user2"], // 需要移除的用户名数组 | ||
+ | success: function(resp){ | ||
+ | console.log("Response: ", resp); | ||
+ | }, | ||
+ | error: function(e) {}; | ||
+ | } | ||
+ | conn.removeGroupBlockMulti(options); | ||
+ | </code> | ||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#removeGroupBlockMulti|removeGroupBlockMulti]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 获取群组黑名单 ==== | ||
+ | 调用''getGroupBlacklist''获取群组黑名单,示例如下: | ||
+ | |||
+ | <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> | ||
+ | |||
+ | === API === | ||
+ | 示例中使用到的 API | ||
+ | * [[http://webim-h5.easemob.com/jsdoc/out/connection.html#getGroupBlacklist|getGroupBlacklist]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== 群消息 ===== | ||
+ | 群消息包含以下处理操作: | ||
+ | * 发送消息 | ||
+ | |||
+ | * 接收及处理消息 | ||
+ | |||
+ | 所有处理操作下面会一一说明。 | ||
+ | |||
+ | ==== 发送消息 ==== | ||
+ | |||
+ | 见[[im:web:basics:message#发送消息|发送消息]]。 | ||
+ | |||
+ | ==== 接收及处理消息 ==== | ||
+ | * 群聊接收及处理消息同单聊; | ||
+ | | ||
+ | * 消息体与单聊消息根据 message 的 type 进行区分; | ||
+ | | ||
+ | * 单聊为:chat,群聊为:groupchat,聊天室为:chatroom; | ||
+ | | ||
+ | * 根据消息的类型进行不同处理即可。 | ||
+ | |||
+ | |||