UNPKG

applets-request

Version:

mini program axois request wechat alipay

195 lines (184 loc) 7.52 kB
declare namespace IAppletsRequestWx { interface GeneralCallbackResult { errMsg: string; } type RequestCompleteCallback = (res: GeneralCallbackResult) => void; /** 接口调用失败的回调函数 */ type RequestFailCallback = (res: GeneralCallbackResult) => void; /** 接口调用成功的回调函数 */ type RequestSuccessCallback = (result: any) => void; interface RequestOption { /** 开发者服务器接口地址 */ url: string; /** 接口调用结束的回调函数(调用成功、失败都会执行) */ complete?: RequestCompleteCallback; /** 请求的参数 */ data?: string | IAppletsRequest.IAnyObject | ArrayBuffer; /** 返回的数据格式 * * 可选值: * - 'json': 返回的数据为 JSON,返回后会对返回的数据进行一次 JSON.parse; * - '其他': 不对返回的内容进行 JSON.parse; */ dataType?: "json" | "其他"; /** 开启 cache * * 最低基础库: `2.10.4` */ enableCache?: boolean; /** 开启 http2 * * 最低基础库: `2.10.4` */ enableHttp2?: boolean; /** 开启 quic * * 最低基础库: `2.10.4` */ enableQuic?: boolean; /** 接口调用失败的回调函数 */ fail?: RequestFailCallback; /** 设置请求的 header,header 中不能设置 Referer。 * * `content-type` 默认为 `application/json` */ header?: IAppletsRequest.IAnyObject; /** HTTP 请求方法 * * 可选值: * - 'OPTIONS': HTTP 请求 OPTIONS; * - 'GET': HTTP 请求 GET; * - 'HEAD': HTTP 请求 HEAD; * - 'POST': HTTP 请求 POST; * - 'PUT': HTTP 请求 PUT; * - 'DELETE': HTTP 请求 DELETE; * - 'TRACE': HTTP 请求 TRACE; * - 'CONNECT': HTTP 请求 CONNECT; */ method?: | "OPTIONS" | "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "TRACE" | "CONNECT"; /** 响应的数据类型 * * 可选值: * - 'text': 响应的数据为文本; * - 'arraybuffer': 响应的数据为 ArrayBuffer; * * 最低基础库: `1.7.0` */ responseType?: "text" | "arraybuffer"; /** 接口调用成功的回调函数 */ success?: RequestSuccessCallback; /** 超时时间,单位为毫秒 * * 最低基础库: `2.10.0` */ timeout?: number; } interface RequestSuccessCallbackResult { /** 开发者服务器返回的 cookies,格式为字符串数组 * * 最低基础库: `2.10.0` */ cookies: string[]; /** 开发者服务器返回的数据 */ data: string | IAppletsRequest.IAnyObject | ArrayBuffer; /** 开发者服务器返回的 HTTP Response Header * * 最低基础库: `1.2.0` */ header: IAppletsRequest.IAnyObject; /** 网络请求过程中一些调试信息 * * 最低基础库: `2.10.4` */ profile: RequestProfile; /** 开发者服务器返回的 HTTP 状态码 */ statusCode: number; errMsg: string; } /** 网络请求过程中一些调试信息 * * 最低基础库: `2.10.4` */ interface RequestProfile { /** SSL建立完成的时间,如果不是安全连接,则值为 0 */ SSLconnectionEnd: number; /** SSL建立连接的时间,如果不是安全连接,则值为 0 */ SSLconnectionStart: number; /** HTTP(TCP) 完成建立连接的时间(完成握手),如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接完成的时间。注意这里握手结束,包括安全连接建立完成、SOCKS 授权通过 */ connectEnd: number; /** HTTP(TCP) 开始建立连接的时间,如果是持久连接,则与 fetchStart 值相等。注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接开始的时间 */ connectStart: number; /** DNS 域名查询完成的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */ domainLookupEnd: number; /** DNS 域名查询开始的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等 */ domainLookupStart: number; /** 评估当前网络下载的kbps */ downstreamThroughputKbpsEstimate: number; /** 评估的网络状态 slow 2g/2g/3g/4g */ estimate_nettype: string; /** 组件准备好使用 HTTP 请求抓取资源的时间,这发生在检查本地缓存之前 */ fetchStart: number; /** 协议层根据多个请求评估当前网络的 rtt(仅供参考) */ httpRttEstimate: number; /** 当前请求的IP */ peerIP: string; /** 当前请求的端口 */ port: number; /** 收到字节数 */ receivedBytedCount: number; /** 最后一个 HTTP 重定向完成时的时间。有跳转且是同域名内部的重定向才算,否则值为 0 */ redirectEnd: number; /** 第一个 HTTP 重定向发生时的时间。有跳转且是同域名内的重定向才算,否则值为 0 */ redirectStart: number; /** HTTP请求读取真实文档结束的时间 */ requestEnd: number; /** HTTP请求读取真实文档开始的时间(完成建立连接),包括从本地读取缓存。连接错误重连时,这里显示的也是新建立连接的时间 */ requestStart: number; /** HTTP 响应全部接收完成的时间(获取到最后一个字节),包括从本地读取缓存 */ responseEnd: number; /** HTTP 开始接收响应的时间(获取到第一个字节),包括从本地读取缓存 */ responseStart: number; /** 当次请求连接过程中实时 rtt */ rtt: number; /** 发送的字节数 */ sendBytesCount: number; /** 是否复用连接 */ socketReused: boolean; /** 当前网络的实际下载kbps */ throughputKbps: number; /** 传输层根据多个请求评估的当前网络的 rtt(仅供参考) */ transportRttEstimate: number; } interface OnHeadersReceivedCallbackResult { /** 开发者服务器返回的 HTTP Response Header */ header: IAppletsRequest.IAnyObject; } type OffHeadersReceivedCallback = ( result: OnHeadersReceivedCallbackResult, ) => void; type OnHeadersReceivedCallback = ( result: OnHeadersReceivedCallbackResult, ) => void; interface RequestTask { /** [RequestTask.abort()](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.abort.html) * * 中断请求任务 * * 最低基础库: `1.4.0` */ abort(): void; /** [RequestTask.offHeadersReceived(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.offHeadersReceived.html) * * 取消监听 HTTP Response Header 事件 * * 最低基础库: `2.1.0` */ offHeadersReceived( /** HTTP Response Header 事件的回调函数 */ callback?: OffHeadersReceivedCallback, ): void; /** [RequestTask.onHeadersReceived(function callback)](https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.onHeadersReceived.html) * * 监听 HTTP Response Header 事件。会比请求完成事件更早 * * 最低基础库: `2.1.0` */ onHeadersReceived( /** HTTP Response Header 事件的回调函数 */ callback: OnHeadersReceivedCallback, ): void; } }