關於微信小程序更新內容后手機上不能及時顯示的辦法


  這幾天一直在做微信小程序的二次開發,每天都要發布程序,但是發布之后微信上查看小程序和以前的一模一樣,絲毫沒有改變,但是我再本地上卻改變了,而且沒有開的不校驗合法域名那個。這是為啥呢?????

  這是跟小程序的更新機制有關的,因為小程序的更新機制是異步的,所以說部分用戶不會馬上應用上新版本。

  小程序啟動會有兩種情況,一種是「冷啟動」,一種是「熱啟動」。 假如用戶已經打開過某小程序,然后在一定時間內再次打開該小程序,此時無需重新啟動,只需將后台態的小程序切換到前台,這個過程就是熱啟動;冷啟動指的是用戶首次打開或小程序被微信主動銷毀后再次打開的情況,此時小程序需要重新加載啟動。

  小程序的異步更新發生在冷啟動過程,當發現新版本后,會異步下載新版本的代碼包,但不會馬上應用上最新版本,需要等小程序下一次冷啟動,才會應用上新版本。

  所以我在網上找到了這個方法:

  異步更新 + 強制更新:同步檢查更新與模塊熱替換兩者之間的折衷方案,即還是維持異步更新機制,在異步下載完小程序代碼包后,提供重啟小程序的能力,這樣在遇到緊急問題時可以馬上解決。

  當小程序冷啟動時,會自動向微信后台請求新版本信息,如果有新版本,會馬上觸發新版本的下載。

  代碼:

 1 // wx.getUpdateManager 在 1.9.90 才可用,請注意兼容
 2 const updateManager = wx.getUpdateManager()
 3  
 4 updateManager.onCheckForUpdate(function (res) {
 5   // 請求完新版本信息的回調
 6   console.log(res.hasUpdate)
 7 })
 8  
 9 updateManager.onUpdateReady(function () {
10   wx.showModal({
11     title: '更新提示',
12     content: '新版本已經准備好,是否馬上重啟小程序?',
13     success: function (res) {
14       if (res.confirm) {
15         // 新的版本已經下載好,調用 applyUpdate 應用新版本並重啟
16         updateManager.applyUpdate()
17       }
18     }
19   })
20 })
21  
22 updateManager.onUpdateFailed(function () {
23   // 新的版本下載失敗
24 })

  那么如何在本地測試這個東西呢?

 

  然后下次編譯的時候就能模擬更新了。

  點擊此處查看官方文檔

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM