API 参考

更新时间: 2024/02/23 10:43:34

QChatKit 模块提供了圈组 QChatKit-UI 使用到的接口。接口都是基于 NIM SDK 接口进行业务封装,在开发过程中,如果没有则可以使用 NIM SDK 提供的接口来实现。

QChatServerRepo

该类提供与社区相关的接口,示例代码如下:

javaQChatServerRepo.createServerAndCreateChannel(
        "社区名字",
        "话题名字1",
        "话题名字2",
        "https://.....",
        new FetchCallback<QChatServerWithSingleChannel>() {
          @Override
          public void onSuccess(@Nullable QChatServerWithSingleChannel param) {
           //成功的回调
          }

          @Override
          public void onFailed(int code) {
            // 失败回调
          }

          @Override
          public void onException(@Nullable Throwable exception) {
           // 失败回调
          }
        });

具体接口如下:

接口名称 参数 接口说明
createServer
  • name: String 社区名称
  • iconUrl: String 社区图标,可为空
  • callBack: FetchCallback 异步创建结果回调,可空
  • 创建服务器
    createServerAndCreateChannel
  • name: String 社区名称
  • channelName1: String 话题1名
  • channelName2: String 话题2名称
  • iconUrl: String 社区图标,可为空
  • callBack: FetchCallback 异步创建结果回调,可空
  • 创建服务器,同时在该服务器下创建两个频道
    createAnnouncementServer
  • name: String 社区名称
  • iconUrl: String 社区图标,可为空
  • authMap: Map<QChatRoleResource, QChatRoleOption> 权限参数,可空
  • callBack: FetchCallback 异步创建结果回调,可空
  • 创建公告频道(参考官网说明,公告频道规则)
    updateServer
  • serverId: Long 社区ID
  • name: String 社区名称
  • iconUrl: String 社区图标,可为空
  • custom: String 社区扩展参数,可为空
  • callBack: FetchCallback 异步结果回调,可空
  • 修改服务器信息
    deleteServer
  • serverId: Long 社区ID
  • callBack: FetchCallback 异步结果回调,可空
  • 删除服务器
    leaveServer
  • serverId: Long 社区ID
  • callBack: FetchCallback 异步结果回调,可空>
  • 主动离开服务器
    fetchServerList
  • timeTag: Long 拉取服务起始时间戳(毫秒)
  • limit: Int 分页接口查询数量
  • callBack: FetchCallback 异步结果回调
  • 通过分页信息查询服务器
    getServers
  • serverIdList: List 社区ID列表
  • callBack: FetchCallback 异步结果回调
  • 通过ServerId列表查询服务器
    getServer
  • serverId: Long 社区ID
  • callBack: FetchCallback 异步结果回调
  • 通过 ServerId 查询服务器
    uploadServerIcon
  • file: File 社区图标文件
  • callBack: FetchCallback 异步结果回调
  • 通过 NOS 上传图片文件,并返回 URL 地址
    getServerMembers
  • dataList: List<Pair<Long, String>> 成员ACCID
  • callBack: FetchCallback 异步结果回调
  • 通过accid查询服务器成员
    searchServerById
  • serverId: Long 社区ID
  • isAnnouncement: Boolean 是否为公告频道,默认false
  • callBack: FetchCallback 异步结果回调
  • 根据服务器ID 查询服务器,并查询当前登录账号是否加入到该服务中
    applyServerJoin
  • serverId: Long 社区ID
  • postscript: String 申请留言,可为空
  • callBack: FetchCallback 异步结果回调
  • 申请加入服务
    inviteServerMembers
  • serverId: Long 社区ID
  • accIdList: List 邀请成员accID列表
  • postscript: String 申请留言,可为空
  • callBack: FetchCallback 异步结果回调,可空
  • 邀请加入服务
    updateOtherMember
  • serverId: Long 社区ID
  • accid: String 被修改用户accID
  • nick: String 被修改用户昵称
  • avatar: String 被修改用户头像,可为空
  • callBack: FetchCallback 异步结果回调,可空
  • 修改其他人的服务器成员信息
    updateMyMember
  • serverId: Long 社区ID
  • nick: String 昵称
  • avatar: String 用户头像,可为空
  • custom: String 扩展参数,可为空
  • callBack: FetchCallback 异步结果回调,可空
  • 修改服务器个人信息
    fetchServerMemberInfoWithRolesList
  • serverId: Long 社区ID
  • timeTag: Long 分页查询时间戳
  • limit: Int 分页数量
  • callBack: FetchCallback 异步结果回调
  • 查询服务器成员列表,并查询该成员加入的身份组列表
    fetchServerMemberInfoWithRolesByAccId
  • serverId: Long 社区ID
  • accId: String 查询用户accID
  • callBack: FetchCallback 异步结果回调
  • 查询服务中用户信息,并包括该用户的身份组信息
    fetchServerMemberWithoutChannel
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • timeTag: Long 分页查询时间戳
  • limit: Int 分页数量
  • callBack: FetchCallback 异步结果回调
  • 查询服务器下,不在某个频道的所有成员信息
    fetchServerMembersWithRolesFilter
  • serverId: Long 社区ID
  • roleId: Long 身份组ID
  • timeTag: Long 分页查询时间戳
  • limit: Int 分页数量
  • callBack: FetchCallback 异步结果回调
  • 查询服务器成员列表,并过滤掉某个身份组的成员
    fetchServerMembersWithWhiteBlackFilter
  • serverId: Long 社区ID
  • channelId: Long 话题I
  • channelType:Int 话题类型
  • timeTag: Long 分页查询时间戳
  • limit: Int 分页数量
  • callBack: FetchCallback 异步结果回调
  • 查询服务器成员列表,并过滤掉黑名单成员
    getAnnounceServerNormalMemberByPage
  • serverId: Long 社区ID
  • timeTag: Long 分页查询时间戳
  • limit: Int 分页数量
  • roleId: Long 身份证ID
  • ownerId: String 创建者accID
  • callBack: FetchCallback 异步结果回调
  • 分页查询公告频道订阅者成员列表,查询结果去除创建者和管理员
    getAnnounceServerManagerMemberByPage
  • serverId: Long 社区ID
  • timeTag: Long 分页查询时间戳
  • limit: Int 分页数量
  • roleId: Long 身份证ID
  • ownerId: String 创建者accID
  • anchorAccId: String 分页查询起始accID,首页传入空
  • callBack: FetchCallback 异步结果回调
  • 分页查询公告频道管理员成员列表,查询结果去除创建者
    enterAsVisitor
  • serverIdList: List 社区ID
  • callBack: FetchCallback 异步结果回调,可空
  • 以游客身份加入服务器
    leaveAsVisitor
  • serverIdList: List 社区ID
  • callBack: FetchCallback 异步结果回调,可空
  • 以游客身份离开服务器
    subscribeAsVisitor
  • serverIdList: List 社区ID
  • register: Boolean 注册或取消注册
  • callBack: FetchCallback 异步结果回调,可空
  • 以游客身份订阅服务器
    kickMember
  • serverId: Long 社区ID
  • serverId: Long 社区ID
  • accid: String 被踢出用户accID
  • callBack: FetchCallback 异步结果回调,可空
  • 踢除服务器成员

    QChatRoleRepo

    该类提供与社区身份组相关的接口,示例代码如下:

    javaQChatRoleRepo.createRoleWithMember(
        serverId,
        name,
        memberList,
        result -> {
          // 结果回调
          return null;
        });
    

    具体接口如下:

    接口名称 参数 接口说明
    createRoleWithMember
  • serverId: Long 社区ID
  • name: String 身份组名称
  • type: QChatRoleType 身份组类型,可为空
  • members: List 添加成员的accID
  • icon: String 身份组头像
  • extension: String 身份组扩展信息
  • inform: ((ResultInfo) -> Unit) 创建结果回调,可空
  • 新增服务器身份组,并将成员加入
    createRole
  • serverId: Long 社区ID
  • name: String 身份组名称
  • type: QChatRoleType 身份组类型,可为空
  • icon: String 身份组头像
  • extension: String 身份组扩展信息
  • inform: ((ResultInfo) -> Unit) 创建结果回调,可空
  • 新增服务器身份组
    fetchServerRoleMember
  • serverId: Long 社区ID
  • roleId: Long 身份组ID
  • timeTag: Long 分页查询时间戳
  • limit: Int 分页数量
  • accId: String 分页查询最后用户accID,首页传空
  • callBack: FetchCallback 异步结果回调
  • 查询某服务器下某身份组下的成员列表
    removeServerRoleMember
  • serverId: Long 社区ID
  • roleId: Long 身份组ID
  • accIds: List 移除用户accID列表
  • callBack: FetchCallback 异步结果回调
  • 将某些人移出某服务器身份组
    removeServerRoleMemberForResult
  • serverId: Long 社区ID
  • roleId: Long 身份组ID
  • accIds: List 移除用户accID列表
  • callBack: FetchCallback 异步结果回调
  • 将某些人移出某服务器身份组
    addServerRoleMember
  • serverId: Long 社区ID
  • roleId: Long 身份组ID
  • accIds: List 用户accID列表
  • callBack: FetchCallback 异步结果回调
  • 将某些人加入某服务器身份组
    addChannelRole
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • parentRoleId: Long 需要继承的身份组ID
  • callBack: FetchCallback 异步结果回调
  • 新增Channel身份组
    updateChannelRole
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • roleId: Long 身份组ID
  • option: Map<QChatRoleResourceEnum, QChatRoleOptionEnum> 修改的权限配置
  • callBack: FetchCallback 异步结果回调
  • 修改频道下某身份组的权限
    deleteChannelRole
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • roleId: Long 身份组ID
  • callBack: FetchCallback 异步结果回调
  • 删除频道身份组
    addChannelMemberRole
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • accId: String 用户accID
  • callBack: FetchCallback 异步结果回调
  • 为某个人定制某频道的权限
    updateChannelMember
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • accId: String 用户accID
  • option: Map<QChatRoleResourceEnum, QChatRoleOptionEnum>修改的权限配置
  • callBack: FetchCallback 异步结果回调
  • 修改某人的定制权限
    deleteChannelMemberRole
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • accId: String 用户accID
  • callBack: FetchCallback 异步结果回调
  • 为某个人定制某频道的权限
    updateRole
  • serverId: Long 社区ID
  • roleId: Long 身份组ID
  • name: String 身份组名称
  • icon: String 身份组头像
  • extension: String 身份组扩展信息
  • option: Map<QChatRoleResourceEnum, QChatRoleOptionEnum>修改的权限配置
  • callBack: FetchCallback 异步结果回调
  • 新增服务器身份组
    fetchServerRoles
  • serverId: Long 社区ID
  • timeTag: Long 分页查询时间戳
  • limit: Int 分页数量
  • callBack: FetchCallback 异步结果回调
  • 查询服务器下身份组列表,第一页返回结果额外包含everyone身份组,自定义身份组数量充足的情况下会返回limit+1个身份组
    fetchServerRolesWithoutChannel serverId: Long 社区ID
  • channelId: Long 话题ID
  • timeTag: Long 分页查询时间戳
  • limit: Int 分页数量
  • callBack: FetchCallback 异步结果回调
  • 查询服务器下身份组列表,第一页返回结果额外包含everyone身份组,并移除频道下身份组
    fetchMemberJoinedRoles
  • serverId: Long 社区ID
  • accId: String 用户accID
  • callBack: FetchCallback 异步结果回调
  • 查询ACCID用户加入的身份组列表,结果只有自定义身份组,不包含everyone身份组
    deleteServerRole
  • serverId: Long 社区ID
  • roleId: Long 身份组ID
  • callBack: FetchCallback 异步结果回调
  • 移除服务器身份组
    updateRolesPriorities
  • serverId: Long 社区ID
  • topPriority: Long 优先级
  • rolesList: List 优先级列表
  • callBack: FetchCallback 异步结果回调
  • 批量修改服务器身份组优先级
    checkPermission
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • resource: QChatRoleResource 查询权限
  • callBack: FetchCallback 异步结果回调
  • 查询自己是否拥有某个权限
    checkPermissions
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • resource: List 查询权限
  • callBack: FetchCallback 异步结果回调
  • 批量查询自己是否拥有某个权限
    getMemberRoles
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • timeTag: Long 分页查询时间戳
  • limit: Int 分页数量
  • callBack: FetchCallback 异步结果回调
  • 查询channel下某人的定制权限
    addMemberRole
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • accId: String 用户accID
  • callBack: FetchCallback 异步结果回调
  • 查询channel下某人的定制权限
    removeMemberRole
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • accId: String 用户accID
  • callBack: FetchCallback 异步结果回调
  • 删除频道下某人的定制权限
    updateMemberRole
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • accId: String 用户accID
  • auths: Map<QChatRoleResource, QChatRoleOption> 权限信息
  • callBack: FetchCallback 异步结果回调
  • 修改某人的定制权限
    updateEveryonePermissionForAnnounce
  • serverId: Long 社区ID
  • auths: Map<QChatRoleResource, QChatRoleOption> 权限信息
  • callBack: FetchCallback 异步结果回调
  • 更新公告频道订阅者的权限

    QChatChannelRepo

    该类提供与话题相关的接口,示例代码如下:

    javaQChatChannelRepo.fetchServerRolesByAccId(
            serverId,
            accId,
            0,
            QChatConstant.MEMBER_PAGE_SIZE,
            new FetchCallback<List<QChatServerRoleInfo>>() {
              @Override
              public void onSuccess(@Nullable List<QChatServerRoleInfo> param) {
                //成功的回调
              }
    
              @Override
              public void onFailed(int code) {
                // 失败回调
              }
    
              @Override
              public void onException(@Nullable Throwable exception) {
                // 失败回调
              }
            });
    
    

    具体接口如下:

    接口名称 参数 接口说明
    subscribeAsVisitor
  • serverIdList: Long 社区ID
  • channelIdList: List 话题ID列表
  • register: Boolean 注册或取消注册
  • callBack: FetchCallback 异步结果回调,可空
  • 以游客身份订阅话题
    fetchChannelUnreadInfoList
  • idPairList: List 话题ID列表
  • callBack: FetchCallback 异步结果回调,可空
  • 查询未读信息
    fetchChannelsByServerId
  • serverId: Long 社区ID
  • timeTag: Long 分页查询时间戳
  • limit: Int 分页数量
  • callBack: FetchCallback 异步结果回调
  • 通过分页接口查询频道
    fetchMaxChannelIdsByServerIdForVisitor
  • serverId: Long 社区ID
  • callBack: FetchCallback 异步结果回调
  • 查询100个频道(分页限制最多100个)
    fetchChannelsByServerIdWithLastMessage
  • serverId: Long 社区ID
  • timeTag: Long 分页查询时间戳
  • limit: Int 分页数量
  • callBack: FetchCallback 异步结果回调
  • 通过分页接口查询频道和频道里面最后的会话消息数据
    fetchServerRolesByAccId
  • serverId: Long 社区ID
  • accId: String 用户accID
  • timeTag: Long 分页查询时间戳
  • limit: Int 分页数量
  • callBack: FetchCallback 异步结果回调
  • 通过accid查询该accid所属的服务器身份组列表,结果只有自定义身份组,不包含everyone身份组
    createChannel
  • serverId: Long 社区ID
  • channelName: String 话题名称
  • topic: String 主题
  • mode: QChatChannelModeEnum 话题模式
  • type: QChatChannelTypeEnum 话题类型
  • callBack: FetchCallback 异步结果回调
  • 创建话题
    fetchChannelInfo
  • channelId: Long 话题ID
  • callBack: FetchCallback 异步结果回调,可空
  • 通过话题Id查询话题信息
    updateChannel
  • channelId: Long 话题ID
  • channelName: String 话题名称
  • topic: String 主题
  • callBack: FetchCallback 异步结果回调,可空
  • 修改话题信息
    deleteChannel
  • channelId: Long 话题ID
  • callBack: FetchCallback 异步结果回调,可空
  • 通过话题Id删除话题
    fetchChannelRoles
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • timeTag: Long 分页查询时间戳
  • limit: Int 分页数量
  • callBack: FetchCallback 异步结果回调
  • 查询某话题下的身份组信息列表
    fetchChannelRoleMembers
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • timeTag: Long 分页查询时间戳
  • limit: Int 分页数量
  • callBack: FetchCallback 异步结果回调
  • 查询某话题下的身份组信息列表
    fetchChannelMembers
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • timeTag: Long 分页查询时间戳
  • limit: Int 分页数量
  • callBack: FetchCallback 异步结果回调
  • 通过分页接口查询话题成员
    fetchChannelBlackWhiteMembers
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • timeTag: Long 分页查询时间戳
  • type: QChatChannelModeEnum 话题模式
  • limit: Int 分页数量
  • callBack: FetchCallback 异步结果回调
  • 分页查询话题黑白名单成员列表,公开话题查询黑名单,私有话题查询白名单
    addChannelBlackWhiteMembers
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • accIdList: List 用户accID
  • callBack: FetchCallback 异步结果回调
  • 添加话题黑白名单成员
    removeChannelBlackWhiteMembers
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • channelType: Int 话题类型
  • accIdList: List 用户accID
  • callBack: FetchCallback 异步结果回调
  • 添加话题黑白名单成员

    QChatMessageRepo

    该类提供与圈组消息的接口,该类提供静态方法,可以直接使用,示例代码如下:

    javaQChatMessageRepo.sendMessage(
            sendMessageParam,
            new FetchCallback<QChatMessageInfo>() {
              @Override
              public void onSuccess(@Nullable QChatMessageInfo param) {
               //成功的回调
              }
    
              @Override
              public void onFailed(int code) {
                // 失败回调
              }
    
              @Override
              public void onException(@Nullable Throwable exception) {
               // 失败回调
              }
            });
    
    

    具体接口如下:

    接口名称 参数 接口说明
    sendMessage
  • msg: QChatSendMessageParam 所发生消息参数信息
  • callBack: FetchCallback 异步结果回调
  • 发送消息
    resendMessage
  • msg: QChatMessageInfo 消息对象
  • callBack: FetchCallback 异步结果回调
  • 发送消息
    addQuickComment
  • msg: QChatMessageInfo 消息对象
  • comment: Int 快捷评论ID
  • callBack: FetchCallback 异步结果回调
  • 添加一条快捷评论
    removeQuickComment
  • msg: QChatMessageInfo 消息对象
  • comment: Int 快捷评论ID
  • callBack: FetchCallback 异步结果回调
  • 删除一条快捷评论
    getQuickComment
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • msgList: List 消息对象
  • callBack: FetchCallback 异步结果回调
  • 批量查询快捷评论
    markMessageRead
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • ackTime: Long 标记时间
  • callBack: FetchCallback 异步结果回调
  • 标记消息已读,该接口存在频控,300ms内只能调用1次
    deleteMessage
  • msg: QChatMessageInfo 消息对象
  • callBack: FetchCallback 异步结果回调
  • 删除消息
    revokeMessage
  • msg: QChatMessageInfo 消息对象
  • callBack: FetchCallback 异步结果回调
  • 撤回消息
    revokeMessage
  • revokeParam: QChatRevokeMessageParam 消息参数
  • callBack: FetchCallback 异步结果回调
  • 撤回消息
    downloadAttachment
  • msg: QChatMessageInfo 消息对象
  • thumb: Boolean 是否下载缩略图(图片消息)
  • callBack: FetchCallback 异步结果回调
  • 下载消息附件,默认情况下(SDKOPtions::preloadAttach为true),DK收到多媒体消息后,图片和视频会自动下载缩略图,音频会自动下载文件。 如果下载原图或者原视频等,可调用该接口下载附件
    fetchMessageHistory
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • fromTime: Long 起始时间
  • toTime: Long 结束时间
  • limit: Int 查询数量
  • reverse: Boolean 查询结果是否翻转
  • callBack: FetchCallback 异步结果回调
  • 标记消息已读,该接口存在频控,300ms内只能调用1次
    getMessageCache
  • serverId: Long 社区ID
  • channelId: Long 话题ID
  • reverse: Boolean 查询结果是否翻转
  • callBack: FetchCallback 异步结果回调
  • 指定通道查询消息缓存
    getLastMessageOfChannels
  • serverId: Long 社区ID
  • channelIdList: List 话题ID
  • callBack: FetchCallback 异步结果回调
  • 指定通道查询消息缓存
    此文档是否对你有帮助?
    有帮助
    去反馈
    • QChatServerRepo
    • QChatRoleRepo
    • QChatChannelRepo
    • QChatMessageRepo