日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Uniapp 之小程序版本更新检查——uni.getUpdateManager()

發(fā)布時間:2023/12/13 综合教程 22 生活家
生活随笔 收集整理的這篇文章主要介紹了 Uniapp 之小程序版本更新检查——uni.getUpdateManager() 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在開發(fā)小程序的時候,版本更新在所難免。所以,我們希望每次打開的小程序的時候,都可以進行版本檢測。如果有新版本,那么,就更新,并且讓用戶能夠重啟,并應(yīng)用新版本。

實現(xiàn)

開門見山,uni-app官方網(wǎng)站給了我們實現(xiàn)方法。以下是代碼示例。

const updateManager = uni.getUpdateManager();

updateManager.onCheckForUpdate(function (res) {
  // 請求完新版本信息的回調(diào)
  console.log(res.hasUpdate);
});

updateManager.onUpdateReady(function (res) {
  uni.showModal({
    title: '更新提示',
    content: '新版本已經(jīng)準(zhǔn)備好,是否重啟應(yīng)用?',
    success(res) {
      if (res.confirm) {
        // 新的版本已經(jīng)下載好,調(diào)用 applyUpdate 應(yīng)用新版本并重啟
        updateManager.applyUpdate();
      }
    }
  });

});

updateManager.onUpdateFailed(function (res) {
  // 新的版本下載失敗
});

根據(jù)實例,我把代碼封裝在一個方法里。

然后,根據(jù)場景,每次打開小程序 = 當(dāng)小程序啟動,或者小程序從后臺進入前臺 = 生命周期onShow。所以,在App.vue 的onShow函數(shù)下添加方法。當(dāng)然,如果對更新要求不那么實時,也可以選在在onLaunch生命周期下執(zhí)行。后文會詳述其區(qū)別。

uni.getUpdateManger()說明

官方給的示例代碼中中用到了uni.getUpdateManger() 是什么鬼?

這個API返回的是全局唯一的版本更新管理器對象: updateManage , 用于管理小程序更新。

平臺差異

APP H5 微信小程序 支付寶小程序 百度小程序 字節(jié)跳動小程序 QQ小程序
× ×

updateManager對象的方法列表

方法 參數(shù) 說明
onCheckForUpdate callback 當(dāng)向小程序后臺請求完新版本信息,會進行回調(diào)
onUpdateReady callback 當(dāng)新版本下載完成,會進行回調(diào)
onUpdateFailed callback 當(dāng)新版本下載失敗,會進行回調(diào)
applyUpdate 當(dāng)新版本下載完成,調(diào)用該方法會強制當(dāng)前小程序應(yīng)用上新版本并重啟

onCheckForUpdate(callback) 回調(diào)結(jié)果說明

屬性 類型 說明
hasUpdate Boolean 是否有新的版本

知識點

知識點1

當(dāng)用戶離開小程序時,小程序并沒有直接銷毀,而是進入了后臺,當(dāng)用戶再次進入小程序時,又會從后臺進入前臺。

只有當(dāng)小程序進入后臺一定時間后者系統(tǒng)資源占用過高,才會被真正的銷毀。

知識點2

小程序啟動分為“熱啟動”和“冷啟動”。

熱啟動指的是小程序打開后,在一段時間內(nèi)(目前:5分鐘)再次被打卡,此時將后臺小程序切換到前臺。對應(yīng)方法onShow。
冷啟動指的是小程序首次打開或銷毀后再次被打卡,對應(yīng)函數(shù)onLaunch。

知識點3

冷啟動時,如果發(fā)現(xiàn)有新版本,將會異步下載新版本的代碼包,并同時用客戶端本地的包進行啟動,即新版本的小程序需要等下一次冷啟動才會應(yīng)用上。
如果希望冷啟動后馬上使用最新版本,在App 的onLaunch生命周期中,調(diào)用用版本資源管理器uni.getUpdateManger()方法。
同理,希望每次打開小程序,都檢測更新,就使用onShow。

這樣看來,用代碼小程序中更新的方法不是必須的,就看你對版本更新的時效要求了。

知識點4

OnLaunch時間觸發(fā)在Onshow之前。

知識點5

在開發(fā)版和體驗版無法檢查版本更新。需要在開發(fā)者工具里,編譯時選擇“模擬更新編譯”。

打開方法。1)點擊菜單欄的添加編譯模式。2.勾選下次編譯時模擬更新。

參考網(wǎng)址

https://uniapp.dcloud.io/api/other/update?id=getupdatemanager

https://www.jianshu.com/p/ff711136544a

有志者,事竟成,破釜沉舟,百二秦關(guān)終屬楚; 苦心人,天不負(fù),臥薪嘗膽,三千越甲可吞吳。

總結(jié)

以上是生活随笔為你收集整理的Uniapp 之小程序版本更新检查——uni.getUpdateManager()的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。