虎牙开放平台文档

hyExt.request

  • 发送HTTP请求
  • 需要用户授权使用
  • 代理服务会在请求头部(http header)加上authorization <token>头,小程序后台服务可以根据这个头校验当前请求是否从虎牙小程序平台发出,并且可解密获取更多信息
  • 回包大小限制:64KB
  • 发包大小限制:5KB
  • 需要把对应的HTTP服务发到公网才能使用
  • POST方法请求时,data会以application/json方式传递;服务器可通过获取body中的信息,做JSON反序列化,获取对应参数
  • 引入版本 1.3.0
  • 适用终端
    • 虎牙直播主站
    • 虎牙直播APP-iOS:7.9.3
    • 虎牙直播APP-安卓:7.9.6
    • 虎牙直播助手-iOS:3.14.0
    • 虎牙直播助手-安卓:3.13.15
    • 虎牙直播PC客户端-主播侧:4.9.0.3
    • 虎牙直播PC客户端-观众侧:4.12.2.0

authorization 解密

按照统一鉴权说明解密对应的鉴权token(即JWT token)

解密后payload内容:

参数名称类型备注
iatnumbertoken生成时间戳(秒)
expnumber过期时间戳(秒)
appIdstring小程序开发者appid
extUuidstring小程序uuid
creatorstring创建者(token生成方:SYS平台,DEV开发者)
rolestring用户身份:U用户,P主播
profileIdstring主播unionId
roomIdstring主播房间号
userIdstring用户unionId

接口签名

declare namespace hyExt { /** * 发送HTTP请求 * @param params 请求参数 */ function request(params: RequesReq): Promise<RequestRsp> /** * 请求参数 */ type RequesReq = { /** * 请求地址 */ url: string /** * HTTP方法; 取值说明: GET GET请求; POST POST请求; */ method: string /** * 请求的Body */ data?: Object /** * 自定义的HTTP头,可选(值必须是字符串) */ header?: Object /** * 返回的数据格式; 取值说明: json 返回JSON数据; text 返回文本数据; */ dataType?: string /** * 仅在本地开发的时候,且在最新版本的APP和SDK能够使用,详情请参考配置本地服务 */ isDirect?: boolean } /** * 响应参数 */ type RequestRsp = { /** * 开发者服务器返回的数据 */ data: Object /** * 开发者服务器返回的HTTP状态码,取值范围: * 1xx:标准HTTP状态码 * 2xx:标准HTTP状态码 * 3xx:标准HTTP状态码 * 4xx:标准HTTP状态码 * 5xx:标准HTTP状态码 * 10001:发者服务器返回的数据存在敏感词语,用*进行替换 */ statusCode: number /** * 开发者服务器返回的Response Header */ header: Object } }

示例代码

hyExt .request({ url: "url", method: "GET", data: {}, header: {}, dataType: "json", isDirect: false, }) .then((res) => { const { data, statusCode, header } = res console.log("调用hyExt.request成功", res) }) .catch((err) => { console.log("调用hyExt.request失败", err) })

相关链接