
微信小程序数据预拉取
微信小程序/公众号 / 发布于 2年前 / 更新于 / 本文字数: 1.99k 字
标签: 微信小程序数据预拉取 / 微信小程序数据预拉取教程 / wx.getBackgroundFetchData() / wx.setBackgroundFetchToken()
数据预拉取
预拉取能够在小程序冷启动的时候通过微信后台提前向第三方服务器拉取业务数据,当代码包加载完时可以更快地渲染页面,减少用户等待时间,从而提升小程序的打开速度。
数据预拉取能做什么
- 提前获取用户的数据
- 提前获取系统的配置信息
- 提前完成数据加载
使用流程
- 后台小程序配置数据预拉取链接
- 小程序页面挂载请求数据事件
- 小程序页面获取数据拉取事件
后台小程序配置数据预拉取链接
小程序页面挂载请求数据
第一次启动小程序时,调用 wx.setBackgroundFetchToken() 设置一个 TOKEN 字符串,可以跟用户态相关,会在后续微信客户端向开发者服务器请求时带上,便于给后者校验请求合法性。
一般我们会写在 app.js
下面获取数据请求,例如
App({
onLaunch() {
//自动拉取新
wx.setBackgroundFetchToken({
token: '123321token'
})
},
其中 token
值可以为用户登录之后后台服务返回的登录值token
,也可以是自定义其他
小程序页面获取数据拉取
当用户打开小程序时,微信服务器将向开发者服务器(上面配置的数据下载地址)发起一个 HTTP GET 请求,其中包含的 query 参数如下,数据获取到后会将整个 HTTP body 缓存到本地。
例如我们在 app.js
下面获取数据,当然你也可以放到其他的什么周期地方去获取,这个是异步操作,要注意一下。
App({
onLaunch() {
console.log('App你好我进入了');
//自动拉取新
wx.setBackgroundFetchToken({
token: '123321token'
})
wx.getBackgroundFetchData({
fetchType: 'pre',
success(res) {
console.log('数据缓存是',res);
console.log(res.fetchedData) // 缓存数据
console.log(res.timeStamp) // 客户端拿到缓存数据的时间戳
console.log(res.path) // 页面路径
console.log(res.query) // query 参数
console.log(res.scene) // 场景值
}
})
},
比如我服务端是这样的返回数据
{
"msg": {
"hello": "这个是数据拉取的hello",
"age": 30,
"date": "2021-03-05T03:38:51.936383Z"
},
"code": 200,
"data": []
}
那么我刚才的 wx.getBackgroundFetchData
会返回如下
那么微信服务推到服务器或携带如下参数
{
"appid": "wx75a3f09626ab077e",
"timestamp": "1614915946",
"path": "pages/index/index",
"scene": "1001",
"token": "123321token"
}
这个是 query
参数
开发工具调试方法
版权提示
1.除了标识原创之外,其他可能来源于网友的分享,仅供学习使用2.如您发现侵犯了您的权利,请联系我们删除
3.转载必须带本文链接,否则你将侵权
4.关于会员或其发布的相关内容均由会员自行提供,会员依法应对其提供的任何信息承担全部责任,本站不对此承担任何法律责任
0 人点赞
评论区 (0)
最新视频教程
-
-
黑白课堂
- Laravel6 全套入门实战
- 4642 2
-
-
-
黑白课堂
- Laravel6 全套入门实战
- 4557 5
-
-
-
黑白课堂
- Laravel6 全套入门实战
- 4443 0
-
-
-
黑白课堂
- Laravel6 全套入门实战
- 4066 0
-
-
-
黑白课堂
- Laravel6 全套入门实战
- 4063 0
-
最新视频课程
-
Laravel 消息通知使用
黑白课堂
284615 03年前
-
ace.js 打造一款属于你的 Web 编辑器,入门文档。
黑白课堂
15257 04年前
-
Laravel 实现 RBAC 权限管理功能 Permission 包操作
黑白课堂
14111 04年前
-
微信小程序等比例图片压缩上传,100%可用,非官方压缩方法
黑白课堂
12162 14年前
-
宝塔面板强制绑定账号修改为不强制绑定方案
黑白课堂
11348 02年前
-
wap2App 入门讲解,100%速成,全面为你讲解。
黑白课堂
9187 04年前
-
Laravel 设置请求头 header 参数
黑白课堂
8314 03年前
-
Laravel 的 PhpSpreadsheet 包入门
黑白课堂
8309 04年前
-
Laravel 表格操作 Maatwebsite/Laravel-Excel 3.1 最新版本的操作指南
黑白课堂
8286 04年前
-
Linux 下如何监听我们的脚本是否掉线了
黑白课堂
7550 02年前
-
KongQi Laravel Admin2.0 文档安装
黑白课堂
3905 23年前
-
KongQi Laravel admin2.0 layui admin 版本序言
黑白课堂
3330 03年前
-
易语言入门拖入文件导入到超级列表框表格内
哪吒
8375 13年前
-
易语言入门易语言定时任务模块
哪吒
6464 03年前
-
postman 使用手册cookie 使用
哪吒
4970 03年前
-
谷歌浏览器插件教程proxy 代理
哪吒
4506 01年前
-
易语言入门判断文件夹是否存在的方法
哪吒
4216 02年前
-
易语言入门TAB 标签页制作
哪吒
4192 03年前
-
Visual Studio Code 入门和使用教程插件安装使用
哪吒
4122 13年前
-
Visual Studio Code 入门和使用教程安装下载
哪吒
4092 03年前
