Options
All
  • Public
  • Public/Protected
  • All
Menu

qchat

QChat Web SDK

QChatInterfaceStatic 对象

类的静态方法定义见 QChatInterfaceStatic

方法 功能描述
QChatInterfaceStatic.getInstance 单例模式获取实例
QChatInterfaceStatic.setAdapters 设置适配器

QChat.getInstance

下面是QChatInterfaceStatic.getInstance的初始化参数。这里只例举部分参数,完整初始化参数见 QChatInitializeOptions,以及QChatOtherOptions

注意,初始化有两个参数,调用方式为: QChat.getInstance(param1, param2)。param1 为 QChatInitializeOptions, param2 为 QChatOtherOptions

// 0.11.0 版开始支持单例模式获取实例, 在此之前通过 new 创建实例
const qchat = QChat.getInstance(
/**
* param1: QChatInitializeOptions
*/
{
appkey: '{{YOUR_APP_KEY}}',
token: '{{YOUR_TOKEN}}',
account: '{{YOUR_ACCOUNT}}',
linkAddresses: ['{{YOUR_ADDRESSES}}'],
debugLevel: 'debug'
},
/**
* param2: QChatOtherOptions
*/
{
/**
* 存储模块初始化设置
*/
cloudStorageConfig: {
/**
* NOS上传地址(分片)
*/
chunkUploadHost: 'https://www.example.com'
}
}
)

QChatInitializeOptions

提供最为基础的初始化参数。该参数的完整属性列表请参考QChatInitializeOptions

属性 功能描述
QChatInitializeOptions.appkey 应用 appkey
QChatInitializeOptions.account IM 账户
QChatInitializeOptions.token IM 账户 token
QChatInitializeOptions.authType token 的认证模式
QChatInitializeOptions.debugLevel 日志分级
QChatInitializeOptions.linkAddresses 连接地址列表

QChatOtherOptions

提供一些扩展初始化参数。该参数的完整属性列表请参考QChatOtherOptions

属性 功能描述
QChatOtherOptions.cloudStorageConfig cloud storage 模块配置
QChatOtherOptions.QChatMedia QChatMedia 模块配置

QChat 事件

调用qchat.on(eventName),监听 qchat 事件,注册事件相关的回调函数。下面是一些回调事件的定义,完整 API 请参见QChatEventInterface

连接、登录相关事件

事件名称 功能描述
QChatEventInterface.logined 初始化成功登陆
QChatEventInterface.kicked 被踢下线
QChatEventInterface.willReconnect 开始自动重连
QChatEventInterface.disconnect 连接断开
QChatEventInterface.multiSpotLogin 多端登陆通知
QChatEventInterface.connectChannel rtc 房间连接成功
QChatEventInterface.qchatMediaDisconnect 断开 rtc 房间连接

消息相关

事件名称 功能描述
QChatEventInterface.message 收到消息
QChatEventInterface.messageUpdate 收到消息更新
QChatEventInterface.serverUnreadInfo 收到服务器总消息未读通知
QChatEventInterface.unreadInfos 多个频道收到消息未读通知

RTC 相关

事件名称 功能描述
QChatEventInterface.connectChannel rtc 房间连接成功
QChatEventInterface.qchatMediaDisconnect 断开 rtc 房间连接
QChatEventInterface.memberAudioMuteChanged 成员音频状态回调
QChatEventInterface.memberJoinRTCChannel 成员进入 RTC 频道
QChatEventInterface.memberLeaveRTCChannel 成员离开 RTC 频道
QChatEventInterface.memberScreenShareStateChanged 成员屏幕共享状态回调
QChatEventInterface.memberVideoMuteChanged 成员视频状态回调
QChatEventInterface.RTCChannelError RTC 频道错误
QChatEventInterface.onRtcAudioVolumeIndication 提示房间内谁正在说话及说话者瞬时音量

其它

事件名称 功能描述
QChatEventInterface.recvTypingEvent 收到“正在输入”事件
QChatEventInterface.systemNotification 收到系统通知更新

QChatInterface 对象

qchat 连接管理相关函数。调用方式为qchat.login, qchat.destroy

该属性和方法直接挂载在 QChat 实例上。

方法/属性 功能描述
QChatInterface.status 实例状态
QChatInterface.login 建立长连接,并且登录
QChatInterface.logout 断开连接。
QChatInterface.destroy 销毁实例
QChatInterface.kickOtherClients 踢出当前用户从其它端登录上来的连接

QChatChannelServiceInterface

挂载了频道相关接口,如增上改查频道。调用示例qchat.qchatChannel.createChannel。完整的 API 请参见 QChatChannelServiceInterface

方法 功能描述
QChatChannelServiceInterface.createChannel 创建频道
QChatChannelServiceInterface.deleteChannel 删除建频道
QChatChannelServiceInterface.updateChannel 更新频道
QChatChannelServiceInterface.getChannels 查询频道列表
QChatChannelServiceInterface.getChannelsByPage 查询频道列表(分页)
QChatChannelServiceInterface.subscribeChannel 订阅频道
QChatChannelServiceInterface.getChannelUnreadInfos 查询未读信息
QChatChannelServiceInterface.getMembersByPage 获取频道下的成员(分页)
QChatChannelServiceInterface.updateWhiteBlackRole 更新频道的白/黑名单身份组
QChatChannelServiceInterface.updateWhiteBlackMembers 更新频道的白/黑名单成员
QChatChannelServiceInterface.getWhiteBlackRolesPage 分页查询频道的白/黑名单身份组
QChatChannelServiceInterface.getWhiteBlackMembersPage 分页查询频道的白/黑名单成员
QChatChannelServiceInterface.getExistingWhiteBlackRoles 根据身份组 ID 查询已存在的白/黑名单身份组
QChatChannelServiceInterface.getExistingWhiteBlackMembers 根据成员 ID 查询已存在的白/黑名单的成员
QChatChannelServiceInterface.updateCategoryInfoOfChannel 修改频道信息中的"频道分组"相关字段
QChatChannelServiceInterface.createChannelCategory 创建"频道分组"
QChatChannelServiceInterface.updateChannelCategory 更新"频道分组"
QChatChannelServiceInterface.removeChannelCategory 删除"频道分组"
QChatChannelServiceInterface.getChannelCategoriesByID 根据分组 ID 查询"频道分组"
QChatChannelServiceInterface.updateChannelCategoryWhiteBlackRole 更新"频道分组"白/黑名单身份组
QChatChannelServiceInterface.getChannelCategoryWhiteBlackRolesPage 查询"频道分组"白/黑名单身份组列表(分页)
QChatChannelServiceInterface.updateChannelCategoryWhiteBlackMembers 更新"频道分组"白/黑名单成员
QChatChannelServiceInterface.getChannelCategoryWhiteBlackMembersPage 查询"频道分组"白/黑名单成员列表(分页)
QChatChannelServiceInterface.getChannelCategoryWhiteBlackRoles 根据身份组 ID 查询"频道分组"白/黑名单身份组列表
QChatChannelServiceInterface.getChannelCategoryWhiteBlackMembers 根据成员 ID 查询"频道分组"白/黑名单成员列表
QChatChannelServiceInterface.getChannelCategoriesPage 查询"频道分组"列表
QChatChannelServiceInterface.getChannelCategoryChannelsPage 查询"频道分组"下频道列表
QChatChannelServiceInterface.getChannelSearchByPage 检索频道
QChatChannelServiceInterface.channelMemberSearch 检索频道的成员
QChatChannelServiceInterface.subscribeAsVisitor 以游客身份订阅频道

QChatMsgServiceInterface

挂载了消息相关接口,如发送消息。调用示例qchat.qchatMsg.sendMessage。完整的 API 请参见 QChatMsgServiceInterface

方法 功能描述
QChatMsgServiceInterface.sendMessage 发送消息
QChatMsgServiceInterface.resendMessage 重发某条消息
QChatMsgServiceInterface.updateMessage 更新某条消息
QChatMsgServiceInterface.revokeMessage 撤回某条消息
QChatMsgServiceInterface.deleteMessage 删除某条消息
QChatMsgServiceInterface.replyMessage 回复消息
QChatMsgServiceInterface.markMessageRead 标记消息已读
QChatMsgServiceInterface.sendSystemNotification 发送自定义系统通知
QChatMsgServiceInterface.updateSystemNotification 更新系统通知
QChatMsgServiceInterface.markSystemNotificationsRead 标记系统消息已读
QChatMsgServiceInterface.getHistoryMessage 分页获取历史消息
QChatMsgServiceInterface.getMessageHistoryByIds 据消息的 msgIdServer 查询历史消息
QChatMsgServiceInterface.getReferMessages 查询某消息的 “回复消息” 以及 “根消息”
QChatMsgServiceInterface.getThreadMessages 查询 thread 聊天的历史,结果分页
QChatMsgServiceInterface.getThreadRootMessagesMeta 批量查询 thread 根消息的 meta 信息
QChatMsgServiceInterface.addQuickComment 添加一条快捷评论
QChatMsgServiceInterface.removeQuickComment 删除一条快捷评论
QChatMsgServiceInterface.getQuickComments 批量查询快捷评论
QChatMsgServiceInterface.sendTypingEvent 发送正在输入事件
QChatMsgServiceInterface.getLastMessageOfChannels 获取若干个频道的最后一条消息
QChatMsgServiceInterface.searchMsgByPage 检索消息

QChatRoleServiceInterface

挂载了身份组和权限相关的接口。调用示例qchat.qchatRole.createServerRole。完整的 API 请参见 QChatRoleServiceInterface

方法 功能描述
QChatRoleServiceInterface.createServerRole 新增服务器身份组
QChatRoleServiceInterface.deleteServerRole 移除服务器身份组
QChatRoleServiceInterface.updateServerRole 修改服务器身份组信息
QChatRoleServiceInterface.getServerRoles 查询服务器下身份组列表
QChatRoleServiceInterface.addChannelRole 将某身份组加入某频道
QChatRoleServiceInterface.removeChannelRole 删除某频道下的某身份组
QChatRoleServiceInterface.updateChannelRole 修改频道下某身份组的权限
QChatRoleServiceInterface.getChannelRoles 查询某频道下的身份组信息列表
QChatRoleServiceInterface.addMemberRole 为某个人定制某频道的权限
QChatRoleServiceInterface.removeMemberRole 删除频道下某人的定制权限
QChatRoleServiceInterface.updateMemberRole 修改某人的定制权限
QChatRoleServiceInterface.getMemberRoles 查询某人的定制权限
QChatRoleServiceInterface.addMembersToServerRole 将某些人加入某服务器身份组
QChatRoleServiceInterface.removeMembersFromServerRole 将某些人移除某服务器身份组
QChatRoleServiceInterface.getMembersFromServerRole 查询某服务器下某身份组下的成员列表
QChatRoleServiceInterface.getServerRolesByAccid 过 accid(account ID) 查询 QChatServerRole 列表
QChatRoleServiceInterface.getExistingServerRolesByAccids 通过一批 accids(account ID) 查询 QChatServerRole 列表
QChatRoleServiceInterface.getExistingChannelRolesByServerRoleIds 通过一批服务器身份组(serverRoleIds)来查询频道的身份组信息
QChatRoleServiceInterface.getExistingAccidsOfMemberRoles 通过一批 accids(account ID) 查询是否有定制权限(NIMEQChatMemberRole)
QChatRoleServiceInterface.getExistingAccidsInServerRole 查询一批 accids 是否在某个服务器身份组(ServerRole)
QChatRoleServiceInterface.updateServerRolePriorities 批量更新 serverRole 的优先级
QChatRoleServiceInterface.checkPermission 查询自己是否拥有某个权限
QChatRoleServiceInterface.addChannelCategoryRole 添加一个身份组到频道分组
QChatRoleServiceInterface.removeChannelCategoryRole 从频道分组中移除身份组
QChatRoleServiceInterface.updateChannelCategoryRole 更新频道分组中的身份组
QChatRoleServiceInterface.getChannelCategoryRole 分页获取频道分组下的身份组列表
QChatRoleServiceInterface.addChannelCategoryMemberRole 添加指定成员在“频道分组”中的定制权限
QChatRoleServiceInterface.removeChannelCategoryMemberRole 删除指定成员在“频道分组”中的定制权限
QChatRoleServiceInterface.updateChannelCategoryMemberRole 更新指定成员在“频道分组”中的定制权限
QChatRoleServiceInterface.getChannelCategoryMemberRole 分页获取“频道分组”下的成员权限列表
QChatRoleServiceInterface.checkPermissions 查询自己是否拥有某些权限

QChatServerServiceInterface

挂载了 Server 相关的接口。调用示例qchat.qchatServer.createServer。完整的 API 请参见 QChatServerServiceInterface

方法 功能描述
QChatServerServiceInterface.createServer 创建服务器,返回服务器 ID
QChatServerServiceInterface.deleteServer 删除服务器
QChatServerServiceInterface.updateServer 更新服务器
QChatServerServiceInterface.getServers 查询服务器列表
QChatServerServiceInterface.getServersByPage 查询服务器列表(分页)
QChatServerServiceInterface.inviteServerMembers 邀请用户进入服务器
QChatServerServiceInterface.acceptServerInvite 接受邀请
QChatServerServiceInterface.rejectInviteServer 拒绝邀请
QChatServerServiceInterface.applyServerJoin 申请加入服务器
QChatServerServiceInterface.acceptServerApply 同意加入服务器申请
QChatServerServiceInterface.rejectServerApply 拒绝加入服务器申请
QChatServerServiceInterface.kickServerMembers 踢除服务器成员
QChatServerServiceInterface.leaveServer 主动离开服务器
QChatServerServiceInterface.subscribeServer 订阅服务器
QChatServerServiceInterface.updateServerMemberInfo 修改他人服务器成员信息
QChatServerServiceInterface.updateMyMemberInfo 修改自己服务器成员信息
QChatServerServiceInterface.getServerMembers 查询服务器成员列表
QChatServerServiceInterface.getServerMembersByPage 查询服务器成员列表(分页)
QChatServerServiceInterface.banServerMember 封禁服务器成员
QChatServerServiceInterface.unbanServerMember 解封服务器成员
QChatServerServiceInterface.getBannedMembersByPage 分页获取封禁成员
QChatServerServiceInterface.serverSearchByPage 检索服务器(广场/个人)
QChatServerServiceInterface.serverMemberSearchByPage 搜索服务器成员
QChatServerServiceInterface.generateInviteCode 生成一个邀请码
QChatServerServiceInterface.joinByInviteCode 根据邀请码加入服务器
QChatServerServiceInterface.getInviteApplyRecordOfServer 查询某服务器下的申请和邀请进入的历史记录
QChatServerServiceInterface.getInviteApplyRecordOfSelf 查询我的申请和邀请进入的历史记录
QChatServerServiceInterface.markRead 清空服务器未读数
QChatServerServiceInterface.subscribeAllChannel 订阅服务器下的频道的消息

QChatMediaServiceInterface

挂载了 media 相关的接口。调用示例qchat.qchatMedia.initQChatMedia。完整的 API 请参见 QChatMediaServiceInterface

方法 功能描述
QChatMediaServiceInterface.initQChatMedia 初始化音视频
QChatMediaServiceInterface.loginByIM 登录圈组多媒体服务,必须先初始化后在调用该接口
QChatMediaServiceInterface.connectChannel 连接圈组多媒体频道(房间),必须先登录后再调用该接口
QChatMediaServiceInterface.updateRTCChannelInfo 修改音视频频道的房间相关参数
QChatMediaServiceInterface.getRTCChannelInfo 查询音视频频道的房间相关参数
QChatMediaServiceInterface.getRTCChannelOnlineMembers 查询音视频频道的房间在线成员
QChatMediaServiceInterface.kickMemberOut 移除成员
QChatMediaServiceInterface.disconnectChannel 取消连接多媒体频道
QChatMediaServiceInterface.muteAudio 关闭成员音频
QChatMediaServiceInterface.unMuteAudio 打开成员音频
QChatMediaServiceInterface.muteVideo 关闭成员视频
QChatMediaServiceInterface.unMuteVideo 打开成员视频
QChatMediaServiceInterface.startScreenShare 打开本端屏幕共享
QChatMediaServiceInterface.stopScreenShare 关闭本端屏幕共享
QChatMediaServiceInterface.stopMemberScreenShare 关闭 RTC 频道内成员的屏幕共享,会进行权限校验
QChatMediaServiceInterface.subscribeRemoteVideoStream 订阅指定远端用户的视频流
QChatMediaServiceInterface.unSubscribeRemoteVideoStream 取消订阅指定远端用户的视频流
QChatMediaServiceInterface.subscribeRemoteVideoSubStream 订阅指定远端用户辅流视频
QChatMediaServiceInterface.unsubscribeRemoteVideoSubStream 取消订阅指定远端用户辅流视频
QChatMediaServiceInterface.setupVideoCanvas 设置用户视图
QChatMediaServiceInterface.setupRemoteVideoSubStreamCanvas 设置远端的辅流视频画布
QChatMediaServiceInterface.getScreenSharingUserUuid 查询屏幕共享者的 userUuid
QChatMediaServiceInterface.addRTCChannelListener 添加 RTC 频道事件监听
QChatMediaServiceInterface.removeRTCChannelListener 移除 RTC 频道监听
QChatMediaServiceInterface.enumRecordDevices 获取当前麦克风列表
QChatMediaServiceInterface.enumCameraDevices 获取当前摄像头列表
QChatMediaServiceInterface.enumPlayoutDevices 获取当前扬声器列表
QChatMediaServiceInterface.setSelectedRecordDevice 切换麦克风设备
QChatMediaServiceInterface.setSelectedPlayoutDevice 切换扬声器设备
QChatMediaServiceInterface.getRTCMembers 获取远端成员列表 返回远端成员列表
QChatMediaServiceInterface.muteAllAudio 关闭所有成员音频
QChatMediaServiceInterface.unMuteAllAudio 打开所有成员音频
QChatMediaServiceInterface.muteAllVideo 关闭所有成员视频
QChatMediaServiceInterface.unMuteAllVideo 打开所有成员视频

CloudStorageServiceInterface

挂载了文件上传逻辑。调用示例: qchat.cloudStorage.uploadFile。完整的 API 请参见 CloudStorageServiceInterface

方法 功能描述
CloudStorageServiceInterface.uploadFile 上传文件
CloudStorageServiceInterface.getOriginUrl 短链转长链
CloudStorageServiceInterface.getFileToken 获取文件鉴权的 token