小程序迭代的比較快,每次發(fā)布了新的代碼于个,都更新不及時(shí)氛魁,著急的時(shí)候,得刪除了重新搜索才可以厅篓。覺(jué)得很麻煩秀存,就查了一些方法。
方法一:直接在app.ji中的onLanun:function(res){
// 獲取小程序更新機(jī)制兼容if(wx.canIUse('getUpdateManager')) {
? ? ? const updateManager = wx.getUpdateManager()
? ? ? updateManager.onCheckForUpdate(function (res) {
? ? ? ? // 請(qǐng)求完新版本信息的回調(diào)if (res.hasUpdate) {
? ? ? ? ? updateManager.onUpdateReady(function () {
? ? ? ? ? ? wx.showModal({
? ? ? ? ? ? ? title: '更新提示',
? ? ? ? ? ? ? content: '新版本已經(jīng)準(zhǔn)備好羽氮,是否重啟應(yīng)用或链?',
? ? ? ? ? ? ? success: function (res) {
? ? ? ? ? ? ? ? if (res.confirm) {
? ? ? ? ? ? ? ? ? // 新的版本已經(jīng)下載好,調(diào)用 applyUpdate 應(yīng)用新版本并重啟? ? ? ? ? ? ? ? ? updateManager.applyUpdate()
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? }
? ? ? ? ? ? })
? ? ? ? ? })
? ? ? ? ? updateManager.onUpdateFailed(function () {
? ? ? ? ? ? // 新的版本下載失敗? ? ? ? ? ? wx.showModal({
? ? ? ? ? ? ? title: '已經(jīng)有新版本了喲~',
? ? ? ? ? ? ? content: '新版本已經(jīng)上線啦~档押,請(qǐng)您刪除當(dāng)前小程序澳盐,重新搜索打開(kāi)喲~',
? ? ? ? ? ? })
? ? ? ? ? })
? ? ? ? }
? ? ? })
? ? } else {
? ? ? // 如果希望用戶在最新版本的客戶端上體驗(yàn)?zāi)男〕绦颍梢赃@樣子提示? ? ? wx.showModal({
? ? ? ? title: '提示',
? ? ? ? content: '當(dāng)前微信版本過(guò)低令宿,無(wú)法使用該功能叼耙,請(qǐng)升級(jí)到最新微信版本后重試。'? ? ? })
? ? }
}添加這行代碼就行
相對(duì)方法一這樣在app.js中代碼就看起來(lái)就過(guò)于浮腫了進(jìn)行封裝
在utils文件中找一js文件
const? ?checkUpdates =(res)=>{
// 獲取小程序更新機(jī)制兼容if(wx.canIUse('getUpdateManager')) {
? ? ? const updateManager = wx.getUpdateManager()
? ? ? updateManager.onCheckForUpdate(function (res) {
? ? ? ? // 請(qǐng)求完新版本信息的回調(diào)if (res.hasUpdate) {
? ? ? ? ? updateManager.onUpdateReady(function () {
? ? ? ? ? ? wx.showModal({
? ? ? ? ? ? ? title: '更新提示',
? ? ? ? ? ? ? content: '新版本已經(jīng)準(zhǔn)備好粒没,是否重啟應(yīng)用筛婉?',
? ? ? ? ? ? ? success: function (res) {
? ? ? ? ? ? ? ? if (res.confirm) {
? ? ? ? ? ? ? ? ? // 新的版本已經(jīng)下載好,調(diào)用 applyUpdate 應(yīng)用新版本并重啟? ? ? ? ? ? ? ? ? updateManager.applyUpdate()
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? }
? ? ? ? ? ? })
? ? ? ? ? })
? ? ? ? ? updateManager.onUpdateFailed(function () {
? ? ? ? ? ? // 新的版本下載失敗? ? ? ? ? ? wx.showModal({
? ? ? ? ? ? ? title: '已經(jīng)有新版本了喲~',
? ? ? ? ? ? ? content: '新版本已經(jīng)上線啦~革娄,請(qǐng)您刪除當(dāng)前小程序倾贰,重新搜索打開(kāi)喲~',
? ? ? ? ? ? })
? ? ? ? ? })
? ? ? ? }
? ? ? })
? ? } else {
? ? ? // 如果希望用戶在最新版本的客戶端上體驗(yàn)?zāi)男〕绦颍梢赃@樣子提示? ? ? wx.showModal({
? ? ? ? title: '提示',
? ? ? ? content: '當(dāng)前微信版本過(guò)低拦惋,無(wú)法使用該功能匆浙,請(qǐng)升級(jí)到最新微信版本后重試。'? ? ? })
? ? }
}
module.exports={
checkUpdates
}
最后到app,js中引用
checkUpdates(wx.canIUse('getUpdateManager'))搞定