千鋒教育-做有情懷、有良心、有品質的職業教育機構
當小程序發布新的版本后,用戶如果之前訪問過該小程序,通過已打開的小程序進入(未手動刪除),則會彈出提示,提醒用戶更新新的版本。
用戶點擊確定就可以自動重啟更新,點擊取消則關閉彈窗,不再更新. 核心步驟:
- 打開小程序, 檢查小程序是否有新版本
updateManager.onCheckForUpdate(function (res) {}) 小程序有新版本,則靜默下載新版本,做好更新準備updateManager.onUpdateReady(function () {}) 新的版本已經下載好,調用applyUpdate應用新版本并重啟小程序updateManager.applyUpdate()
- 更新版本的模擬測試,微信開發者工具上可以通過「編譯模式」下的「下次編譯模擬更新」開關來調試. 點擊編譯模式設置下拉列表,然后點擊“添加編譯模式”,在自定義編譯條件彈窗界面,點擊下次編譯時模擬更新,然后點擊確定,重新編譯就可以了.
注: 需要注意的是,這種方式模擬更新一次之后就失效了,后邊再測試仍需要對這種編譯模式進行重新設置才可以.
- 核心代碼如下:
App({ onLaunch: function(options) { this.autoUpdate() }, autoUpdate:function(){ var self=this
// 獲取小程序更新機制兼容 if (wx.canIUse('getUpdateManager')) { const updateManager = wx.getUpdateManager()
//1. 檢查小程序是否有新版本發布 updateManager.onCheckForUpdate(function (res) { // 請求完新版本信息的回調 if (res.hasUpdate) {
//2. 小程序有新版本,則靜默下載新版本,做好更新準備 updateManager.onUpdateReady(function () { wx.showModal({ title: '更新提示', content: '新版本已經準備好,是否重啟應用?', success: function (res) { if (res.confirm) {
//3. 新的版本已經下載好,調用applyUpdate應用新版本并重啟 updateManager.applyUpdate() }else if (res.cancel) { //不應用 } } }) }) updateManager.onUpdateFailed(function () { // 新的版本下載失敗 wx.showModal({ title: '已經有新版本了喲~', content: '新版本已經上線啦~,請您刪除當前小程序,重新搜索打開喲~', }) }) } }) } else { // 如果希望用戶在最新版本的客戶端上體驗您的小程序,可以這樣子提示 wx.showModal({ title: '提示', content: '當前微信版本過低,無法使用該功能,請升級到最新微信版本后重試。' }) } } })
上一篇
小程序生命周期下一篇
小程序嵌入H5頁面怎么做相關推薦