微信小程序是一种新型的应用,它可以帮助用户快速获取信息,提高工作效率。但是,微信小程序会定期更新,这会对用户的使用造成不便。因此,如何关闭微信小程序的周期性更新成为了一个重要的问题。
首先,在关闭微信小程序周期性更新之前,用户需要在手机上打开“设置”-“应用”-“微信小程序”-“自动更新”中将自动更新功能关闭。然后,在打开微信小程序时,可以看到一个叫做“版本更新”的选项。如果想要关闭周期性更新,可以将该选项设为不再检测版本升级。
// 关闭自动更新 wx.getUpdateManager().onCheckForUpdate(function (res) { // 请求完新版本信息的回调 console.log(res.hasUpdate) })
基础库 2.8.0 开始支持,低版本需做兼容处理。
生效条件:用户七天内使用过的小程序
周期性更新能够在用户未打开小程序的情况下,也能从服务器提前拉取数据,当用户打开小程序时可以更快地渲染页面,减少用户等待时间,增强在弱网条件下的可用性。
登录小程序 MP 管理后台,进入设置 -> 开发设置 -> 数据周期性更新,点击开启,填写数据下载地址。
第一次启动小程序时,调用 wx.setBackgroundFetchToken() 设置一个 TOKEN 字符串,可以跟用户态相关,会在后续微信客户端向开发者服务器请求时带上,便于给后者校验请求合法性。
示例:
App({
onLaunch() {
wx.setBackgroundFetchToken({
token: "xxx"
})
}
})
微信客户端会在一定的网络条件下,每隔 12 小时(以上一次成功更新的时间为准)向配置的数据下载地址发起一个 HTTP GET 请求,其中包含的 query 参数如下,数据获取到后会将整个 HTTP body 缓存到本地。
参数 | 类型 | 说明 |
---|---|---|
appid | String | 小程序标识 |
token | String | 前面设置的 TOKEN |
timestamp | Number | 时间戳,微信客户端发起请求的时间 |
query 参数会使用 urlencode 处理
开发者服务器接口返回的数据类型应为字符串,且大小应不超过 256KB,否则将无法缓存数据
用户启动小程序时,调用 wx.getBackgroundFetchData() 获取已缓存到本地的数据。
示例:
App({
onLaunch() {
wx.getBackgroundFetchData({
fetchType: "periodic",
success(res) {
console.log(res.fetchedData) // 缓存数据
console.log(res.timeStamp) // 客户端拿到缓存数据的时间戳
}
})
}
})
由于微信客户端每隔 12 个小时才会发起一次请求,调试周期性更新功能会显得不太方便。 因此为了方便调试周期性数据,工具提供了下面的调试能力给到开发者。
假设变量A为10,变量B为20,则: 运算符名称运算符简写描述例子自增++自增运算符,将整数值增加1A++ 将得出11自减--自减运算符,...
Arduino提供四种不同的时间操作函数。它们是:序号函数和描述1delay() 函数 delay()函数的工作方式非常简单。它接受单个整数(或...
一些 Electron 的行为受到环境变量的控制,因为他们的初始化比命令行和应用代码更早.POSIX shells 的例子:$ export ELECTRON_ENA...
Electron 使用gyp来生成项目 ,使用ninja来构建项目. 项目配置可以在.gyp和.gypi文件中找到.Gyp 文件下面的gyp文件包含了构建 El...