最近寫小程序項(xiàng)目,用到了自動(dòng)更新,因?yàn)槲覒械米约喝ヒ粋€(gè)個(gè)搜文檔的方法,所以就去搜了一個(gè)現(xiàn)成的,畢竟知道原理。希望各位能在理解原理的情況下再直接拿來(lái)使用(項(xiàng)目趕緊的話當(dāng)我沒(méi)說(shuō)QAQ)
/**
* 檢測(cè)當(dāng)前的小程序
* 是否是最新版本,是否需要下載、更新
*/
function checkUpdateVersion() {
//判斷微信版本是否 兼容小程序更新機(jī)制API的使用
if (wx.canIUse('getUpdateManager')) {
//創(chuàng)建 UpdateManager 實(shí)例
const updateManager = wx.getUpdateManager();
//檢測(cè)版本更新
updateManager.onCheckForUpdate(function(res) {
// 請(qǐng)求完新版本信息的回調(diào)
if (res.hasUpdate) {
//監(jiān)聽(tīng)小程序有版本更新事件
updateManager.onUpdateReady(function() {
//TODO 新的版本已經(jīng)下載好,調(diào)用 applyUpdate 應(yīng)用新版本并重啟 ( 此處進(jìn)行了自動(dòng)更新操作)
updateManager.applyUpdate();
})
updateManager.onUpdateFailed(function() {
// 新版本下載失敗
wx.showModal({
title: '已經(jīng)有新版本嘍~',
content: '請(qǐng)您刪除當(dāng)前小程序,到微信 “發(fā)現(xiàn)-小程序” 頁(yè),重新搜索打開(kāi)哦~',
})
})
}
})
} else {
//TODO 此時(shí)微信版本太低(一般而言版本都是支持的)
wx.showModal({
title: '溫馨提示',
content: '當(dāng)前微信版本過(guò)低,無(wú)法使用該功能,請(qǐng)升級(jí)到最新微信版本后重試。'
})
}
}
建議在項(xiàng)目一開(kāi)始構(gòu)建時(shí)就加入哦,將方法放入小程序初始時(shí)就有的util.js中,然后可以在app.js的onLaunch()中調(diào)用就可以了!
//util.js中
function checkUpdateVersion(){...}
//util.js底下有導(dǎo)出方法
module.exports = {
checkUpdateVersion
}
//app.js中
import { checkUpdateVersion } from "./utils/util"
App({
//其他代碼
onLaunch() {
//自動(dòng)更新檢查
checkUpdateVersion()
},
//其他代碼
})
如果想要在開(kāi)發(fā)者工具上調(diào)試,可以選擇調(diào)試模式

步驟1

步驟2