虎牙开放平台文档

hyExt.backend.commonQuery

  • 通用查询接口
  • 引入版本 1.9.0
  • 适用终端
    • 虎牙直播主站
    • 虎牙直播APP-iOS:7.14.0
    • 虎牙直播APP-安卓:7.13.3
    • 虎牙直播助手-iOS:4.7.0
    • 虎牙直播助手-安卓:4.7.0
    • 虎牙直播PC客户端-主播侧:4.16.1.0
    • 虎牙直播PC客户端-观众侧:未实现

接口签名

declare namespace hyExt { module backend { /** * 通用查询接口 * @param params 输入参数 */ function commonQuery( params: ServerTimeReq | PKInfoReq | LinkMicStatReq | LiveEventHistoryReq ): Promise<ServerTimeRsp | PKInfoRsp | LinkMicStatRsp | LiveEventHistoryRsp> } /** * 获取服务器时间戳 */ type ServerTimeReq = { /** * 获取服务器时间戳 */ key: "getServerTime" } /** * 获取主播PK信息 */ type PKInfoReq = { /** * 获取主播PK信息 */ key: "getPKInfo" } /** * 获取主播连麦信息 */ type LinkMicStatReq = { /** * 获取主播连麦信息 */ key: "getLinkMicStat" } /** * 获取最近一条直播事件数据 */ type LiveEventHistoryReq = { /** * 获取最近一条直播事件数据 */ key: "getLiveEventHistory" /** * 参数 */ param?: LiveEventHistoryParam } /** * 获取最近一条直播事件数据参数 */ type LiveEventHistoryParam = { /** * 事件KEY */ event: string } /** * 服务器时间戳数据 */ type ServerTimeRsp = { /** * Unix时间戳,单位是秒 */ timestamp: number } /** * 主播PK信息 */ type PKInfoRsp = { /** * 是否正在PK */ onPk: boolean /** * 发起队伍 */ leftTeam: TeamInfo /** * 接受队伍(数据结构同发起队伍) */ rightTeam: TeamInfo /** * PK状态;取值说明: * 0 不处于PK模式; * 1 开启PK模式; * 2 开启PK准备; * 3 某局PK进行中; * 4 某局PK结束中; * 5 三局两胜结束; */ pkStatus: 0 | 1 | 2 | 3 | 4 | 5 /** * PK结果;取值说明: 0 平局; 1 左边赢; 2 右边赢; */ pkResult: 0 | 1 | 2 /** * 剩余秒数 */ remainSeconds: number /** * 模式;取值说明: 0 礼物模式; 1 礼物+人气模式; 2 匹配模式; */ pkModeType: 0 | 1 | 2 /** * 3局2胜每小局的结果;取值说明: 0 平局; 1 左边赢; -1 右边赢; */ pkResults: number[] } /** * 队伍信息 */ type TeamInfo = { /** * 队伍名称 */ teamName: string /** * 队伍分数 */ teamScore: number /** * 分数等级 */ scoreLevel: number /** * 成员信息 */ memberInfos: MemberInfo[] } /** * 成员信息 */ type MemberInfo = { /** * 成员昵称 */ nickName: string /** * 成员头像 */ avatarUrl: string /** * 成员分数 */ scorce: string /** * 成员分数 */ unionId: string /** * 成员分数 */ roomId: number } /** * 主播连麦信息 */ type LinkMicStatRsp = { /** * 主播连麦位置 */ pos: number /** * 座位状态;取值说明: 0 空; 1 正在邀请观众; 2 正在连麦; */ state: 0 | 1 | 2 /** * 主播昵称 */ nick: string /** * 主播头像url */ avatar: string /** * 主播id */ unionId: string /** * 连麦用户的类型;取值说明: 0 观众; 1 主播; */ userType: 0 | 1 /** * 主播房间号 */ roomId: number } /** * 最近一条直播事件数据 */ type LiveEventHistoryRsp = { /** * 消息头 */ header: HeaderInfo /** * 消息体 */ body: BodyInfo } /** * 消息头 */ type HeaderInfo = { /** * 消息ID */ messId: string /** * 消息类型 */ messType: string /** * 小程序uuid */ extUuid: string /** * 房间号 */ roomId: number /** * 消息下发时间戳(秒) */ pushTime: number } /** * 消息体 */ type BodyInfo = { /** * 事件KEY */ event: string /** * 事件内容(JSON) */ content: string } }

示例代码

hyExt.backend .commonQuery({ key: "getServerTime", }) .then((res) => { console.log("调用hyExt.backend.commonQuery成功", res) }) .catch((err) => { console.log("调用hyExt.backend.commonQuery失败", err) }) hyExt.backend .commonQuery({ key: "getPKInfo", param: {} }) .then(resp => { const { onPk, leftTeam, rightTeam, pkStatus, pkResult, remainSeconds, pkModeType, pkResults } = resp }).catch(err => { /** 调用失败 */ }) ​ hyExt.backend .commonQuery({ key: "getLiveEventHistory", param: { event: "eventKey" } }) .then(resp => { const { messId, messType, extUuid, roomId, pushTime } = resp.header const { event, content } = resp.body }).catch(err => { /** 调用失败 */ })

1.gif