小程序的運行機制,分為冷啟動和熱啟動,
熱啟動:如果用戶已經打開過某小程序,然后在一定時間內再次打開該小程序,此時小程序並未被銷毀,只是從后台狀態進入前台狀態,這個過程就是熱啟動。銷毀的時間一般是5分鍾,但是銷毀會受手機內存或者其他原因影響。
冷啟動: 如果用戶首次打開,或小程序銷毀后被用戶再次打開,此時小程序需要重新加載啟動,即冷啟動。
所以當用戶熱啟動,下次打開的時候,也想去更新小程序,我們就可以使用下面的方法:
//可在onLaunch方法中調用如下方法 // 獲取小程序更新機制兼容 if (wx.canIUse("getUpdateManager")) { const updateManager = wx.getUpdateManager(); updateManager.onCheckForUpdate(function (res) { // 請求完新版本信息的回調 if (res.hasUpdate) { updateManager.onUpdateReady(function () { wx.showModal({ title: "更新提示", content: "新版本已經准備好,是否重啟應用?", success: function (result) { if (result.confirm) { // 新的版本已經下載好,調用 applyUpdate 應用新版本並重啟 updateManager.applyUpdate(); } } }); }); updateManager.onUpdateFailed(function () { // 新的版本下載失敗 wx.showModal({ title: "已經有新版本了喲~", content: "新版本已經上線啦~,請您刪除當前小程序,重新搜索打開喲~" }); }); } }); } else { // 如果希望用戶在最新版本的客戶端上體驗您的小程序,可以這樣子提示 wx.showModal({ title: "提示", content: "當前微信版本過低,無法使用該功能,請升級到最新微信版本后重試。" }); }