虎牙开放平台文档

PK状态查询

4.3.1、介绍

平台提供了一个主播PK状态查询的接口,方便开发者在小程序中实现主播的对局。

4.3.2、接口

4.3.2.1、查询主播PK信息接口

接口调用说明

http请求方式:GET
https://apiext.huya.com/pkgame/queryMultiPkInfo

接口鉴权

小程序API是为开发者提供的面向小程序应用场景的API,由开发者的小程序后台服务发起调用。小程序API的通信方式为HTTPS。

生成签名

按照统一鉴权说明生成对应的鉴权sToken(即JWT token)

注意:其中Payload需要做以下调整

payload参数:
参数名称类型备注
iatnumbertoken生成时间戳(秒)
expnumber过期时间戳(秒)
appIdstring开发者appid 如何查找
extUuidstring小程序id 如何查找
profileIdstring主播unionId 如何获取
roomIdstring主播房间号 如何获取
payload样例
{ "iat": 1555921691, "exp": 1555928891, "appId": "appId", "extUuid": "extUuid", "profileId": "unImSOHlQBsY", "roomId": "1134" }
发送请求
  • 通过https方式发送请求
  • 上面生成的签名通过设置http Header参数authorization进行传输
Header参数:
参数名称类型备注
authorizationstring请求的签名凭证
get参数
参数名称类型备注
appIdstring必填,开发者appId 如何查找
extUuidstring必填,小程序id 如何查找
HTTP响应
参数名称类型备注
codeint业务状态码 通用业务状态码说明
msgstring响应描述
responsestringjson格式,响应数据
response数据说明
{ "onPk": true, "pkStatus": 1, "remainSecond": 1729, "pkModeType":3, "leftTeam":{ "memberInfos": [ { "nickName": "sss", "avatarUrl": "sdsdssds", "unionId": "sdsdsdsds", "roomId": 10022322 } ] }, "rightTeam":{ "memberInfos": [ { "nickName": "sss", "avatarUrl": "sdsdssds", "unionId": "sdsdsdsds", "roomId": 10022322 } ] }, }
通用业务状态码说明
参数名称备注
0成功
1参数错误
2调用失败
3服务器异常

4.3.3、场景

4.3.3.1、主播PK中

  • 主播PK中,由主播自行沟通,让PK双方打开对应的小程序
  • 查询主播PK信息接口,当主播正在PK时,接口的返回值中response为:
{ "onPk": true, // true 正在PK中 "pkStatus": 1, "remainSecond": 1729, // 平台PK剩余时间(秒) "pkModeType":3, "leftTeam":{ // 红队成员 "memberInfos": [ { "nickName": "sss", // 成员昵称 "avatarUrl": "sdsdssds", // 成员头像 "unionId": "sdsdsdsds", // 成员unionId "roomId": 10022322 // 成员房间号 } ] }, "rightTeam":{ // 蓝队成员 "memberInfos": [ { "nickName": "sss", "avatarUrl": "sdsdssds", "unionId": "sdsdsdsds", "roomId": 10022322 } ] } }

房间内查询主播

4.3.3.2、主播不在PK中

{ "onPk": false, // false 不在PK中 "pkStatus": 0, "remainSecond": 0, // 平台PK剩余时间(秒) "pkModeType":0, "leftTeam": null, "rightTeam": null }
  • 该场景一般由小程序实现手动输入主播房间号,游戏内自行完成对局组建

房间内查询主播

房间内查询主播