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