协同sdk说明


群组

<h2>相关接口</h2> <pre><code class="language-java"> /** * 创建群组 * @param map 具体可以参考http接口 * @param callBack */ QDClient.getInstance().getGroupManager().createGroup(Map&lt;String, String&gt; map, QDResultCallBack&lt;QDGroup&gt; callBack) /** * 获取群组信息 * @param groupId 群组id * @param callBack */ QDClient.getInstance().getGroupManager().getGroupInfo(final String groupId, QDResultCallBack callBack) /** * 更新群组名称 * @param groupId * @param name 新的名称 */ QDClient.getInstance().getGroupManager().updateGroupName(final String groupId, String name, QDResultCallBack&lt;QDGroup&gt; callBack) /** * 更新群描述 * @param groupId * @param desc 新的描述 * @param callBack */ QDClient.getInstance().getGroupManager().updateGroupDesc(String groupId, String desc, QDResultCallBack&lt;QDGroup&gt; callBack) /** * 设置群组是否公开 * @param groupId * @param isPublic 是否公开 * @param callBack */ QDClient.getInstance().getGroupManager().setGroupIsPublic(String groupId, int isPublic, QDResultCallBack&lt;QDGroup&gt; callBack) /** * 设置群组是否申请入群 * @param groupId * @param isPublic 是否需要申请才能入群 * @param callBack */ QDClient.getInstance().getGroupManager().setGroupIsRequest(String groupId, int isPublic, QDResultCallBack&lt;QDGroup&gt; callBack) /** * 更新群禁言 * @param groupId * @param mute 是否禁言 * @param callBack */ QDClient.getInstance().getGroupManager().setGroupIsMute(String groupId, int mute, final QDResultCallBack&lt;QDGroup&gt; callBack) /** * 修改群昵称 * @param groupId * @param nickName 新的昵称 * @param callBack */ QDClient.getInstance().getGroupManager().updateGroupNickName(final String groupId, final String nickName, QDResultCallBack&lt;QDGroup&gt; callBack) /** * 更新群组信息(包含前面几个接口的信息) * @param groupId * @param map 参考http接口 * @param callBack */ QDClient.getInstance().getGroupManager().updateGroupInfo(String groupId, Map&lt;String, String&gt; map, QDResultCallBack&lt;QDGroup&gt; callBack) /** * 修改群成员是否禁言 * @param groupId * @param userId 成员id * @param isMute 是否禁言 * @param callBack */ QDClient.getInstance().getGroupManager().updateMemberMute(String groupId, String userId, int isMute, QDResultCallBack callBack) /** * 修改群成员信息 * @param groupId * @param userId 成员id * @param map * @param callBack */ QDClient.getInstance().getGroupManager().updateMemberInfo(String groupId, String account, Map&lt;String, String&gt; map, QDResultCallBack callBack) /** * 添加群成员 * @param groupId * @param member 人员id列表 * @param callBack */ QDClient.getInstance().getGroupManager().addMember(String groupId, String member, QDResultCallBack callBack) /** * 移除群成员 * @param groupId * @param member 人员id列表 * @param callBack */ QDClient.getInstance().getGroupManager().removeMember(String groupId, String member, QDResultCallBack callBack) /** * 设置/取消管理员 * @param groupId * @param role (QDGroupMember.ROLE_MANAGER 设置管理员, QDGroupMember.ROLE_MEMBER 取消管理员) * @param manager 人员id列表 * @param callBack */ QDClient.getInstance().getGroupManager().changeManager(String groupId, int role, String manager, QDResultCallBack callBack) /** * 转让群组 * @param groupId * @param ownerAccount 新的群主id * @param callBack */ QDClient.getInstance().getGroupManager().setOwner(String groupId, String ownerAccount, QDResultCallBack callBack) /** * 主动退出群组 * @param groupId * @param callBack */ QDClient.getInstance().getGroupManager().exitGroup(String groupId, QDResultCallBack callBack) /** * 解散群组 * @param groupId * @param callBack */ QDClient.getInstance().getGroupManager().deleteGroup(String groupId, QDResultCallBack callBack) /** * 搜索公开群 * @param searchTxt * @param callBack */ QDClient.getInstance().getGroupManager().searchGroup(String searchTxt, QDResultCallBack&lt;List&lt;QDGroup&gt; &gt; callBack) /** * 申请加入群组 * @param groupId * @param reason 申请理由 * @param callBack */ QDClient.getInstance().getGroupManager().applyJoinGroup(String groupId, String reason, QDResultCallBack callBack) /** * 处理群组申请 * @param groupId * @param status 同意或拒绝( QDApply.STATUS_AGREE 同意, QDApply.STATUS_REFUSE 拒绝) * @param reason 拒绝理由 同意填"" * @param callBack */ QDClient.getInstance().getGroupManager().dealInvite(String account, String groupId, int status, String reason, QDResultCallBack callBack) /** * 获取禁言列表 * @param groupId * @param callBack */ QDClient.getInstance().getGroupManager().getMute(String groupId, QDResultCallBack&lt;List&lt;QDGroupMember&gt;&gt; callBack) /** * 获取公告列表 * @param groupId * @param callBack */ QDClient.getInstance().getGroupManager().getNoticeList(String groupId, QDResultCallBack&lt;List&lt;QDGroupNotice&gt;&gt; callBack) /** * 新增公告 * @param groupId * @param content 公告内容 * @param callBack */ QDClient.getInstance().getGroupManager().addNotice(String groupId, String content, QDResultCallBack&lt;QDGroupNotice&gt; callBack) /** * 删除群公告 * @param groupId * @param noticeId 公告id * @param callBack */ QDClient.getInstance().getGroupManager().deleteNotice(String groupId, String noticeId, QDResultCallBack callBack) /** * 获取群共享文件 * @param groupId * @param callBack */ QDClient.getInstance().getGroupManager().getGroupFile(String groupId, QDResultCallBack&lt;List&lt;QDFileModel&gt;&gt; callBack) /** * 删除群共享文件 * @param groupId * @param fileId * @param callBack */ QDClient.getInstance().getGroupManager().deleteGroupFile(String groupId, String fileId, QDResultCallBack callBack) /** * 获取事件群 * @param param * @param callBack */ QDClient.getInstance().getGroupManager().getTargetGroup(String param, final QDResultCallBack callBack)</code></pre> <h2>监听</h2> <p>不是自己操作群组会收到群组信息变更的回调</p> <pre><code class="language-java">QDGroupCallBack callBack = new QDGroupCallBack() { @Override public void memberRemoved(String groupId, List&lt;String&gt; memberAccountList) { //移除群成员 } @Override public void memberJoined(String groupId, List&lt;QDGroupMember&gt; memberList) { //加入群成员 } @Override public void managerChange(String groupId, String memberAccount, int role) { //管理员变更 } @Override public void ownerChange(String groupId, String newOwnerId) { //群主变更 } @Override public void muteChange(String groupId, int mute) { //群禁言状态变更 } @Override public void memberMuteChange(String groupId, List&lt;String&gt; accountList, int mute) { //群成员禁言状态变更 } @Override public void updateNickName(String groupId, String account, String nickName) { //群成员昵称变更 } @Override public void updateGroupInfo(String groupId, QDGroup group) { //群信息变更 } }</code></pre> <h2>QDGroup 类</h2> <pre><code class="language-java">/** * 群id */ String id /** * 名称 */ String name /** * 描述 */ String description /** * 头像 */ String icon /** * 群名称简拼 */ String nameSp /** * 数量显示 */ int userLimit /** * 成员数量 */ int userCount /** * 是否公开 */ int isPublic /** * 是否需要申请 */ int isRequest /** * 群组类型 */ int type /** * 是否禁言 */ int isMute /** * 群主id */ String owner /** * 事件id */ String targetId /** * 事件类型 */ int targetType /** * 事件信息 */ String targetInfo </code></pre> <h2>群组相关数据库操作</h2> <pre><code class="language-java"> /** * 插入群组信息 * @param group */ QDGroupDao.getInstance().insertGroup(QDGroup group) /** * 插入一组群组信息 * @param groupList */ QDGroupDao.getInstance().insertGroupList(List&lt;QDGroup&gt; groupList) /** * 根据群组id获取群组信息 * @param groupId * @return */ QDGroup group = QDGroupDao.getInstance().getGroupById(String groupId) /** * 根据事件id和类型获取群组 * @param targetId * @param targetType * @return */ QDGroup group = QDGroupDao.getInstance().getGroupByTargetIdAndType(String targetId, int targetType) ** * 获取所有的群组id * @return */ List&lt;String&gt; IdList= QDGroupDao.getInstance().getGroupIdList() /** * 获取自己创建的群组列表 * @return */ List&lt;QDGroup&gt; groupList = QDGroupDao.getInstance().getSelfGroupList() /** * 获取自己加入的群组列表 * @return */ List&lt;QDGroup&gt; groupList = QDGroupDao.getInstance().getJoinedGroupList() /** * 删除多个群组 * @param ids */ QDGroupDao.getInstance().deleteGroup(String[] ids) /** * 删除群组 * @param id */ QDGroupDao.getInstance().deleteGroup(String id) /** * 搜索群组 * @param searchText */ QDGroupDao.getInstance().searchGroup(String searchText) /** * 更新群组信息 * @param group */ QDGroupDao.getInstance().updateGroup(QDGroup group) /** * 更新群主 * @param groupid * @param ownerId */ QDGroupDao.getInstance().updateGroupOwner(String groupId, String ownerId)</code></pre> <h2>QDGroupMember 类</h2> <pre><code class="language-java">ROLE_MEMBER 普通成员 ROLE_MANAGER 管理员 ROLE_OWNER 群主 /** * 成员账号 */ account /** * 名称简拼 */ nameSp /** * 名称 */ name; /** * 头像 */ icon /** * 群组Id */ groupId /** * 角色 */ role /** * 昵称 */ nickName /** * 禁言状态 */ isMute</code></pre> <h2>群成员相关数据库操作</h2> <pre><code class="language-java">/** * 插入成员信息 * @param member */ QDGroupMemberDao.getInstance().insertMember(QDGroupMember member) /** * 插入一组成员信息 * @param member */ QDGroupMemberDao.getInstance().insertMemberList(List&lt;QDGroupMember&gt; memberList) /** * 根据群组id和成员账号获取成员信息 * @param groupId * @param account 成员账号 */ QDGroupMember member = QDGroupMemberDao.getInstance().getMemberByGroupIdAndAccount(String groupId, String account) /** * 根据群组id获取群成员列表 * @param groupId */ List&lt;QDGroupMember&gt; memberList = QDGroupMemberDao.getInstance().getMembersByGroupId(String groupId) /** * 根据群组id获取群管理员列表 * @param groupId */ List&lt;QDGroupMember&gt; memberList = QDGroupMemberDao.getInstance().getManagerMembersByGroupId(String groupId) /** * 根据群id删除所有成员 * @param groupId */ QDGroupMemberDao.getInstance().deleteMembersByGroupId(String groupId) { QDDbHelper.getInstance().deleteMembersByGroupId(groupId); } /** * 删除群成员 * @param groupId * @param memberAccount */ QDGroupMemberDao.getInstance().deleteGroupMember(String groupId, String memberAccount) /** * 更新群成员禁言 * @param groupId * @param account * @param mute */ QDGroupMemberDao.getInstance().updateMemberMute(String groupId, String account, int mute) /** * 更新群成员昵称 * @param groupId * @param account * @param nickname * @param nameSp */ QDGroupMemberDao.getInstance().updateMemberNickname(String groupId, String account, String nickname, String nameSp) /** * 搜索群成员 * @param groupId * @param searchText */ List&lt;QDGroupMember&gt; memberList = QDGroupMemberDao.getInstance().searchMemberWithGroupId(String groupId, String searchText)</code></pre>

页面列表

ITEM_HTML