数据预拉取

预拉取能够在小程序冷启动的时候通过微信后台提前向第三方服务器拉取业务数据,当代码包加载完时可以更快地渲染页面,减少用户等待时间,从而提升小程序的打开速度 。

使用流程

1. 配置数据下载地址

登录小程序 MP 管理后台,进入设置 -> 开发设置 -> 数据预加载,点击开启,填写数据下载地址,只支持 HTTPS 。

2. 设置 TOKEN

第一次启动小程序时,调用 wx.setBackgroundFetchToken() 设置一个 TOKEN 字符串,可以跟用户态相关,会在后续微信客户端向开发者服务器请求时带上,便于给后者校验请求合法性。

示例:

App({  onLaunch() {    wx.setBackgroundFetchToken({      token: 'xxx'    })  }})

3. 微信客户端提前拉取数据

当用户打开小程序时,微信服务器将向开发者服务器(上面配置的数据下载地址)发起一个 HTTP GET 请求,其中包含的 query 参数如下,数据获取到后会将整个 HTTP body 缓存到本地。

参数 类型 必填 说明
appid String 小程序标识。
token String 前面设置的 TOKEN。
code String 用户登录凭证,未设置TOKEN时由微信侧预生成,可在开发者后台调用 auth.code2Session,换取 openid 等信息。
timestamp Number 时间戳,微信客户端发起请求的时间
path String 打开小程序的路径。
query String 打开小程序的query。
scene Number 打开小程序的场景值。

query 参数会使用 urlencode 处理

token和code只会存在一个,用于标识用户身份。

开发者服务器接口返回的数据类型应为字符串,且大小应不超过 256KB,否则将无法缓存数据

4. 读取数据

用户启动小程序时,调用 wx.getBackgroundFetchData() 获取已缓存到本地的数据。

示例:

App({  onLaunch() {    wx.getBackgroundFetchData({      fetchType: 'pre',      success(res) {        console.log(res.fetchedData) // 缓存数据        console.log(res.timeStamp) // 客户端拿到缓存数据的时间戳        console.log(res.path) // 页面路径        console.log(res.query) // query 参数        console.log(res.scene) // 场景值      }    })  }})

调试方法

为了方便调试数据预拉取,工具提供了下面的调试能力给到开发者。

微信小程序数据拼接_微信小程序 数据预拉取相关推荐

  1. 微信小程序数据拼接_微信小程序使用原生WebSokcet实现断线重连及数据拼接

    以前做小程序为了应急找了个插件去链接WebSokcet,文章传送门. 回过头在新项目中再次使用时出现了些许问题,不一一赘述.遂决定好好用一下原生的WebSokcet. 一.说明 1.小程序原生的Web ...

  2. 微信小程序数据拼接_微信小程序用户数据解密算法Java版

    打开官方文档,开心~ 腾讯爸爸竟然给提供了解密算法 然而我下载解压后人傻了 可能鹅厂没养Java程序猿吧 那就看这C++改造吧 public class AnthCodeVerify { privat ...

  3. 微信小程序数据拼接_最佳方式实现微信小程序分页加载数据

    一般小程序做分页加载数据,会做一些下拉加载更多.然后上拉刷新的操作.数据放在一个for循环里去加载,数据源是一个数组对象.在加载下一页数据时,将下一页的数据拼到当前数组后面.这样的确可以实现分页加载数 ...

  4. 微信小程序页面栈_微信小程序使用页面栈改变上一页面的数据

    微信小程序中如果从一个页面中进入下一个页面,如果下个页面的数据有删除或者增加再返回上一个页面的时候,就会导致页面不刷新(数据加载函数在onload中),从而造成数据不一致的情况.其实在微信小程序中是可 ...

  5. php 小程序 运动步数_【小程序+ thinkphp5】 获取微信运动数据

    配置.请参看上篇文章.这里直接上代码 PHP 代码: //获取微信运动数据: public functiontest(){$code = input("code");$signat ...

  6. 微信小程序 java 传值_微信小程序传值获取值的实例方法

    微信小程序传值以及获取值方法的详解 微信小程序传值以及获取值方法,传值有两种方法,对应也有获取值得方法, 1.设置id的方法标识跳转后传递的参数值: 2.通过使用data - xxxx 的方法来标识要 ...

  7. 微信小程序python自动化测试_微信小程序的自动化测试框架

    微信小程序的自动化测试框架 微信发布了小程序的自动化测试框架Minium,提供了多种运行验证方式,其特点: 支持一套脚本,iOS & Android & 模拟器,三端运行 提供丰富的页 ...

  8. 快手小店电脑版_微信PC版更新!支持在小程序中使用微信支付 | 一周资讯

    小程序1. 微信PC版更新,支持在小程序中使用微信支付.12月19日,微信PC端推出内测版2.7.2.73,新版本支持以下新功能:新增看一看精选内容,新的订阅号浏览体验,支持在小程序中使用微信支付.( ...

  9. php 小程序 运动步数_微信小程序步数运动-收益讲解

    不得不佩服,步数小程序的厉害之处. 把闲散的运动步数,转化成一种可量化的社交货币,流动保存起来,探索出一种门槛低,又健康的经济模式. 对用户,真金白银的刺激,免费步数换取/抵现商品,红包,充值卡等. ...

最新文章

  1. [数据结构复习]树_二叉树
  2. python语言属于-python属于解释语言吗
  3. mysql peferences_MySQL初次实践
  4. Python 操作redis
  5. HOG(方向梯度直方图)
  6. APP技巧:微信10个实用小技巧,太实用了,赶紧收藏!
  7. [Java基础]自然排序Comparable的使用
  8. Entity Framework安装方法
  9. JSK-16501 扫雷游戏【谜题】
  10. DotNetNuke(DNN)皮肤制作--如何修改DNN中众多的CSS文件
  11. django基础窗口类的使用
  12. 隔行换色+删除+批量删除+排序+模糊查询+修改+添加
  13. 教材推荐 PRML_模式识别与机器学习
  14. 室外宽温1口千兆光纤收发器工业导轨式发送机接收机单模单纤单电口
  15. error: Exited sync due to fetch errors
  16. unity编辑器莫名崩溃
  17. 找到解决办法了,特回来写总结,the import cannot be resolved问题可以通过以下方法解决
  18. mysql数据库如何查看表空间_MYSQL:查看的数据库表空间
  19. Gprs通信协议服务器,GPRS协议简介
  20. python利用try_except打印错误信息,并继续执行

热门文章

  1. 关于使用JQ scrollTop方法进行滚动定位
  2. jQuery -- 光阴似箭(五):AJAX 方法
  3. vue todolist
  4. 课时28.假链接(掌握)
  5. Vue2.0 --- vue-cli脚手架中全局引入JQ
  6. css 小知识点:inline/inline-block/line-height
  7. HTML引入vue.js,在ie浏览器中不显示
  8. 用递归方式判断字符串是否是回文
  9. silverligh的数据访问
  10. BI-SqlServer