微信小程序——版本更新

相信很多的小程序開發者都遇到過這種情況:小程序已經發布了新的正式版本,但依舊有很多用戶使用的是舊版本的小程序。舉個例子:如果說版本管理比較混亂的話,多個版本的小程序都指向同一個後臺服務器,那麼新老版本之間就可能存在着不兼容的問題,給用戶帶來不好的體驗。

產生上述情況的原因:小程序發佈了最新版本之後,用戶本地還存在舊版本的小程序,微信在這時可能沒有檢查小程序的版本更新,這就會導致用戶依舊在使用舊的版本。結果就是:小程序的新版本發佈,無法保證立即影響到所有的小程序用戶

解決方法:開發者可以使用wx.getUpdateManager的API來更新小程序。示例代碼如下:

截圖和代碼是一樣的。

/**

* 檢查小程序版本更新

* @param isForce 是否強制更新

*/

function versionUpdate(isForce = false) {

// 判斷當前版本getUpdateManager的API是否可用

if (wx.canIUse("getUpdateManager")) {

// 獲取全局唯一的版本更新管理器,用於管理小程序更新

const updateManager = wx.getUpdateManager();

// 監聽向微信後臺請求檢查更新結果事件

updateManager.onCheckForUpdate(function(res) {

// 請求完新版本信息的回調

if (res.hasUpdate) {

// 存在新的版本。監聽小程序有版本更新事件

updateManager.onUpdateReady(function() {

if (isForce) {

// 強制小程序重啓並使用新版本

updateManager.applyUpdate();

} else {

// 提示用戶版本更新信息

wx.showModal({

title: "版本更新提示",

content: "新版本已經準備好,是否重啓應用?",

success(res) {

if (res.confirm) {

// 新的版本已經下載好,調用 applyUpdate 應用新版本並重啓

updateManager.applyUpdate();

}

}

});

}

});

// 監聽小程序更新失敗事件。後續操作,開發者可自行處理。

updateManager.onUpdateFailed(function() {

wx.showModal({

title: "已經有新版本了喲~",

content: "新版本已經上線啦~,請您刪除當前小程序,重新搜索打開喲~"

});

});

}

});

} else {

// 提示用戶升級版本

wx.showModal({

title: "提示",

content: "當前微信版本過低,無法使用該功能,請升級到最新微信版本後重試。"

});

}

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章