添加配置
对于自研(非模板)小程序,在小程序项目根目录创建 preload.json,填写预加载配置。
注意:
- preload.json 最多支持配置 2048 个字节,超过大小 ide 会提示超限;
- 相同 fetchtype 类型只支持配置一个预加载数据。
对于模板实例小程序,请使用 ext 设置,见下文说明。
配置示例
自研小程序在 preload.json 配置
注意: 实际的配置文件不支持注释,下面文件中的注释部分只是为了更好说明每个字段的作用,请在拷贝的时候从配置文件中删除。
[
{
"fetchtype": "pre", // 数据预接取,固定为 "pre"
"params": {
"url": "https://*****", // 请求的 url 地址。
"method": "post", // http method,支持 get/post/delete/put。
"data": { // 可选。请求的参数,如果是 method 为 get,会将参数做成 query 拼接在 url 后。
"foo": "bar"
},
"headers": { // 可选。额外的 header 信息。
"token":"xxx"
},
"datatype": "json" // 期望返回的数据格式,默认 json,支持 json、text、base64、arraybuffer。
}
}
]
模板小程序实例化时 ext 配置
如果同时在 ext 和 preload.json 配置,会优先读取 ext 的配置,如果 ext 没有配置,则读取 preload.json 的配置。
注意: 实际的配置文件不支持注释,下面文件中的注释部分只是为了更好说明每个字段的作用,请在拷贝的时候从配置文件中删除。
"preload":
[
{
"fetchtype": "pre", // 数据预接取,固定为 "pre"
"params": {
"url": "https://*****", // 请求的 url 地址。
"method": "post", // http method,支持 get/post/delete/put。
"data": { // 可选。请求的参数,如果 method 为 get,会将参数做成 query 拼接在 url 后。
"foo": "bar"
},
"headers": { // 可选。额外的 header 信息。
"token":"xxx"
},
"datatype": "json" // 期望返回的数据格式,默认 json,支持 json、text、base64、arraybuffer。
}
}
]
params 配置说明
属性 | 类型 | 必填 | 说明 |
---|---|---|---|
url | string | 是 | 请求 url。 |
method | string | 否 | http 请求方法。支持 get、post、delete、put。 默认值: get |
headers | object | 否 | 自定义请求头。 |
datatype | string | 否 | 期望返回的数据格式。支持 json、text、base64、arraybuffer。 默认值: json |
data | object | 否 | 请求的参数。
|
请求数据
用户打开小程序时,框架会按配置发起一个 http 请求,并将结果缓存供下一步获取。发起请求时,框架会向 url 追加以下额外参数(如果 url 中原本没有同名参数的话):
属性 | 类型 | 描述 | 兼容性 |
---|---|---|---|
appid | string | 小程序的 appid。 | 支付宝 10.5.6 以下只对 get / delete 请求的 url 追加此参数。 |
timestamp | string | 发起请求的时间戳。 | 支付宝 10.5.6 以下只对 get / delete 请求的 url 追加此参数。 |
query | string | 启动页面的 query 参数。 | 支付宝 10.5.26 开始支持。 |
path | string | 启动页面的 path。 | 支付宝 10.5.26 开始支持。 |
获取数据
通过调用 jsapi my.getbackgroundfetchdata 获取预加载的数据。