minigame-std
    Preparing search index...

    Interface MinaFetchInit

    微信小游戏网络请求初始化配置接口,继承自微信小游戏请求选项,除去'url'和'responseType'。

    1.0.0

    import { fetchT, type MinaFetchInit } from 'minigame-std';

    const init: MinaFetchInit = {
    method: 'POST',
    header: { 'Content-Type': 'application/json' },
    responseType: 'json',
    };
    const task = fetchT('https://api.example.com/data', init);
    interface MinaFetchInit {
        complete?: RequestCompleteCallback;
        data?: string | ArrayBuffer | IAnyObject;
        enableCache?: boolean;
        enableChunked?: boolean;
        enableHttp2?: boolean;
        enableHttpDNS?: boolean;
        enableProfile?: boolean;
        enableQuic?: boolean;
        forceCellularNetwork?: boolean;
        header?: IAnyObject;
        httpDNSServiceId?: string;
        httpDNSTimeout?: number;
        method?:
            | "OPTIONS"
            | "GET"
            | "HEAD"
            | "POST"
            | "PUT"
            | "DELETE"
            | "TRACE"
            | "CONNECT";
        onChunk?: (chunk: Uint8Array<ArrayBuffer>) => void;
        redirect?: "follow" | "manual";
        responseType?: "json" | "text" | "arraybuffer";
        timeout?: number;
        useHighPerformanceMode?: boolean;
    }

    Hierarchy

    • Omit<
          WechatMinigame.RequestOption,
          "url"
          | "dataType"
          | "responseType"
          | "success"
          | "fail",
      >
      • MinaFetchInit
    Index

    Properties

    complete?: RequestCompleteCallback

    接口调用结束的回调函数(调用成功、失败都会执行)

    data?: string | ArrayBuffer | IAnyObject

    请求的参数

    enableCache?: boolean

    需要基础库: 2.10.4

    开启 Http 缓存

    enableChunked?: boolean

    需要基础库: 2.20.2

    开启 transfer-encoding chunked。

    enableHttp2?: boolean

    需要基础库: 2.10.4

    开启 http2

    enableHttpDNS?: boolean

    需要基础库: 2.19.1

    是否开启 HttpDNS 服务。如开启,需要同时填入 httpDNSServiceId 。 HttpDNS 用法详见 移动解析HttpDNS

    enableProfile?: boolean

    是否开启 profile。iOS 和 Android 端默认开启,其他端暂不支持。开启后可在接口回调的 res.profile 中查看性能调试信息。

    enableQuic?: boolean

    需要基础库: 2.10.4

    是否开启 Quic/h3 协议(iOS 微信目前使用 gQUIC-Q43;Android 微信在 v8.0.54 前使用 gQUIC-Q43,v8.0.54 开始使用 IETF QUIC,即 h3 协议;PC微信使用 IETF QUIC,即 h3 协议)

    forceCellularNetwork?: boolean

    需要基础库: 2.21.0

    强制使用蜂窝网络发送请求

    header?: IAnyObject

    设置请求的 header,header 中不能设置 Referer。

    content-type 默认为 application/json

    httpDNSServiceId?: string

    需要基础库: 2.19.1

    HttpDNS 服务商 Id。 HttpDNS 用法详见 移动解析HttpDNS

    httpDNSTimeout?: number

    需要基础库: 3.8.9

    HttpDNS 超时时间。HttpDNS解析时间超过该值时不再走HttpDNS,本次请求将回退到localDNS。默认为 60000 毫秒。 HttpDNS 用法详见 移动解析HttpDNS

    method?:
        | "OPTIONS"
        | "GET"
        | "HEAD"
        | "POST"
        | "PUT"
        | "DELETE"
        | "TRACE"
        | "CONNECT"

    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;
    onChunk?: (chunk: Uint8Array<ArrayBuffer>) => void
    redirect?: "follow" | "manual"

    需要基础库: 3.2.2

    重定向拦截策略。(目前安卓、iOS、开发者工具已支持,PC端将在后续支持)

    可选值:

    • 'follow': 不拦截重定向,即客户端自动处理重定向;
    • 'manual': 拦截重定向。开启后,当 http 状态码为 3xx 时客户端不再自动重定向,而是触发 onHeadersReceived 回调,并结束本次 request 请求。可通过 onHeadersReceived 回调中的 header.Location 获取重定向的 url;
    responseType?: "json" | "text" | "arraybuffer"
    timeout?: number

    需要基础库: 2.10.0

    超时时间,单位为毫秒。默认值为 60000

    useHighPerformanceMode?: boolean

    需要基础库: 3.3.3

    使用高性能模式。从基础库 v3.5.0 开始在 Android 端默认开启,其他端暂不生效。该模式下有更优的网络性能表现,更多信息请查看下方说明。