API 参考
更新时间: 2025/01/07 15:29:14
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 |
创建服务器 | |
createServerAndCreateChannel |
创建服务器,同时在该服务器下创建两个频道 | |
createAnnouncementServer |
创建公告频道(参考官网说明,公告频道规则) | |
updateServer |
修改服务器信息 | |
deleteServer |
删除服务器 | |
leaveServer |
主动离开服务器 | |
fetchServerList |
通过分页信息查询服务器 | |
getServers |
通过ServerId列表查询服务器 | |
getServer |
通过 ServerId 查询服务器 | |
uploadServerIcon |
通过 NOS 上传图片文件,并返回 URL 地址 | |
getServerMembers |
通过accid查询服务器成员 | |
searchServerById |
根据服务器ID 查询服务器,并查询当前登录账号是否加入到该服务中 | |
applyServerJoin |
申请加入服务 | |
inviteServerMembers |
邀请加入服务 | |
updateOtherMember |
修改其他人的服务器成员信息 | |
updateMyMember |
修改服务器个人信息 | |
fetchServerMemberInfoWithRolesList |
查询服务器成员列表,并查询该成员加入的身份组列表 | |
fetchServerMemberInfoWithRolesByAccId |
查询服务中用户信息,并包括该用户的身份组信息 | |
fetchServerMemberWithoutChannel |
查询服务器下,不在某个频道的所有成员信息 | |
fetchServerMembersWithRolesFilter |
查询服务器成员列表,并过滤掉某个身份组的成员 | |
fetchServerMembersWithWhiteBlackFilter |
查询服务器成员列表,并过滤掉黑名单成员 | |
getAnnounceServerNormalMemberByPage |
分页查询公告频道订阅者成员列表,查询结果去除创建者和管理员 | |
getAnnounceServerManagerMemberByPage |
分页查询公告频道管理员成员列表,查询结果去除创建者 | |
enterAsVisitor |
以游客身份加入服务器 | |
leaveAsVisitor |
以游客身份离开服务器 | |
subscribeAsVisitor |
以游客身份订阅服务器 | |
kickMember |
踢除服务器成员 |
QChatRoleRepo
该类提供与社区身份组相关的接口,示例代码如下:
javaQChatRoleRepo.createRoleWithMember(
serverId,
name,
memberList,
result -> {
// 结果回调
return null;
});
具体接口如下:
接口名称 | 参数 | 接口说明 |
---|---|---|
createRoleWithMember |
新增服务器身份组,并将成员加入 | |
createRole |
新增服务器身份组 | |
fetchServerRoleMember |
查询某服务器下某身份组下的成员列表 | |
removeServerRoleMember |
将某些人移出某服务器身份组 | |
removeServerRoleMemberForResult |
将某些人移出某服务器身份组 | |
addServerRoleMember |
将某些人加入某服务器身份组 | |
addChannelRole |
新增Channel身份组 | |
updateChannelRole |
修改频道下某身份组的权限 | |
deleteChannelRole |
删除频道身份组 | |
addChannelMemberRole |
为某个人定制某频道的权限 | |
updateChannelMember |
修改某人的定制权限 | |
deleteChannelMemberRole |
为某个人定制某频道的权限 | |
updateRole |
新增服务器身份组 | |
fetchServerRoles |
查询服务器下身份组列表,第一页返回结果额外包含everyone身份组,自定义身份组数量充足的情况下会返回limit+1个身份组 | |
fetchServerRolesWithoutChannel |
serverId: Long 社区ID |
查询服务器下身份组列表,第一页返回结果额外包含everyone身份组,并移除频道下身份组 |
fetchMemberJoinedRoles |
查询ACCID用户加入的身份组列表,结果只有自定义身份组,不包含everyone身份组 | |
deleteServerRole |
移除服务器身份组 | |
updateRolesPriorities |
批量修改服务器身份组优先级 | |
checkPermission |
查询自己是否拥有某个权限 | |
checkPermissions |
批量查询自己是否拥有某个权限 | |
getMemberRoles |
查询channel下某人的定制权限 | |
addMemberRole |
查询channel下某人的定制权限 | |
removeMemberRole |
删除频道下某人的定制权限 | |
updateMemberRole |
修改某人的定制权限 | |
updateEveryonePermissionForAnnounce |
更新公告频道订阅者的权限 |
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 |
以游客身份订阅话题 | |
fetchChannelUnreadInfoList |
查询未读信息 | |
fetchChannelsByServerId |
通过分页接口查询频道 | |
fetchMaxChannelIdsByServerIdForVisitor |
查询100个频道(分页限制最多100个) | |
fetchChannelsByServerIdWithLastMessage |
通过分页接口查询频道和频道里面最后的会话消息数据 | |
fetchServerRolesByAccId |
通过accid查询该accid所属的服务器身份组列表,结果只有自定义身份组,不包含everyone身份组 | |
createChannel |
创建话题 | |
fetchChannelInfo |
通过话题Id查询话题信息 | |
updateChannel |
修改话题信息 | |
deleteChannel |
通过话题Id删除话题 | |
fetchChannelRoles |
查询某话题下的身份组信息列表 | |
fetchChannelRoleMembers |
查询某话题下的身份组信息列表 | |
fetchChannelMembers |
通过分页接口查询话题成员 | |
fetchChannelBlackWhiteMembers |
分页查询话题黑白名单成员列表,公开话题查询黑名单,私有话题查询白名单 | |
addChannelBlackWhiteMembers |
添加话题黑白名单成员 | |
removeChannelBlackWhiteMembers |
添加话题黑白名单成员 |
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 |
发送消息 | |
resendMessage |
发送消息 | |
addQuickComment |
添加一条快捷评论 | |
removeQuickComment |
删除一条快捷评论 | |
getQuickComment |
批量查询快捷评论 | |
markMessageRead |
标记消息已读,该接口存在频控,300ms内只能调用1次 | |
deleteMessage |
删除消息 | |
revokeMessage |
撤回消息 | |
revokeMessage |
撤回消息 | |
downloadAttachment |
下载消息附件,默认情况下(SDKOPtions::preloadAttach为true),DK收到多媒体消息后,图片和视频会自动下载缩略图,音频会自动下载文件。 如果下载原图或者原视频等,可调用该接口下载附件 | |
fetchMessageHistory |
标记消息已读,该接口存在频控,300ms内只能调用1次 | |
getMessageCache |
指定通道查询消息缓存 | |
getLastMessageOfChannels |
指定通道查询消息缓存 |
此文档是否对你有帮助?