Leanote's Blog
I love Leanote!
Toggle navigation
Leanote's Blog
Home
Chrome
Git
Linux
Windows
Others
工具大全
VsCode
Expo
Html
JavaScript
Npm
Node
Mock
React-Native
React
TypeScript
小程序
插件
正则
Dva
Ant-Design-React
Umi
Vue
Vux
Ant-Design-Vue
Http
Java
flutter
开发小工具
About Me
Archives
Tags
小程序版本自动更新的实现
2019-11-14 07:46:41
27
0
0
admin
## 小程序运行机制 [文档](https://developers.weixin.qq.com/miniprogram/dev/framework/operating-mechanism.html) 小程序启动 小程序启动会有两种情况,一种是「冷启动」,一种是「热启动」。 热启动:假如用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时无需重新启动,只需将后台态的小程序切换到前台,这个过程就是热启动; 冷启动:用户首次打开或小程序被微信主动销毁后再次打开的情况,此时小程序需要重新加载启动,即冷启动。 小程序没有重启的概念。 ## 使用版本检测[UpdateManager](https://developers.weixin.qq.com/miniprogram/dev/api/UpdateManager.html)对象, 可以做处理 ## 可以在 `app.js` 的 `onLaunch()` 方法中进行调用下面的 `checkUpdateVersion()` /** * 检测当前的小程序 * 是否是最新版本,是否需要下载、更新 */ function checkUpdateVersion() { //判断微信版本是否 兼容小程序更新机制API的使用 if (wx.canIUse('getUpdateManager')) { //创建 UpdateManager 实例 const updateManager = wx.getUpdateManager(); //检测版本更新 updateManager.onCheckForUpdate(function(res) { // 请求完新版本信息的回调 if (res.hasUpdate) { //监听小程序有版本更新事件 updateManager.onUpdateReady(function() { //TODO 新的版本已经下载好,调用 applyUpdate 应用新版本并重启 ( 此处进行了自动更新操作) updateManager.applyUpdate(); }) updateManager.onUpdateFailed(function() { // 新版本下载失败 wx.showModal({ title: '已经有新版本喽~', content: '请您删除当前小程序,到微信 “发现-小程序” 页,重新搜索打开哦~', }) }) } }) } else { //TODO 此时微信版本太低(一般而言版本都是支持的) wx.showModal({ title: '溫馨提示', content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。' }) } } ## 注意 > 1. 小程序开发版/体验版没有「版本」概念,所以无法在开发版/体验版上测试更版本 更新情况 2. 准确来讲,版本自动更新的方法越早进行补充越合理, 尤其适合前期使用人数较少的时候就做补充 以避免后期使用人数太多时而旧版本依然无法检测更新及时替换的情况
Pre:
小程序处理状态的方式
Next:
小程序canvas使用中遇到的问题
0
likes
27
Weibo
Wechat
Tencent Weibo
QQ Zone
RenRen
Submit
Sign in
to leave a comment.
No Leanote account?
Sign up now.
0
comments
More...
Table of content
No Leanote account? Sign up now.