小程序檢測版本更新


小程序更新機制 https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/update-mechanism.html

好久沒寫過隨筆了,做前端也幾年了,技術一直沒長進,還是渣渣一枚,記錄一下最近開發的一些常見功能實現吧。

小程序版本更新這兩三年做過了兩次,大部分做小程序的應該都需要加上這么個功能,今天記錄一下。

方法寫在app.js就好,在小程序初始化onLaunch方法里調用,在開發工具上模仿更新打開會首先彈出代碼里設置的提示框,然后點擊“確定更新”后還會彈出小程序默認的一個更新提示框,具體在真機上是如何的還不太清楚,不知道安卓系統和ios系統是不是效果和開發工具上一樣,如果一樣的話可以把自身設置的提示框去掉,直接用系統的提示框就好。

//檢測版本更新
    autoUpdate: function () {
        var self = this
        // 獲取小程序更新機制兼容
        if (wx.canIUse('getUpdateManager')) {
            const updateManager = wx.getUpdateManager()
            //1. 檢查小程序是否有新版本發布
            updateManager.onCheckForUpdate(function (res) {
                // 請求完新版本信息的回調
                if (res.hasUpdate) {
                    updateManager.onUpdateReady(function () {
                        wx.showModal({
                            title: '更新提示',
                            content: '新版本已經准備好,是否重啟應用?',
                            showCancel: false, //隱藏取消按鈕
                            confirmText: "確定更新", //只保留確定更新按鈕
                            success: function (res) {
                                if (res.confirm) {
                                    updateManager.applyUpdate()
                                }
                            }
                        })
                        // 新的版本已經下載好,調用 applyUpdate 應用新版本並重啟
                        // updateManager.applyUpdate()
                    })

                    updateManager.onUpdateFailed(function () {
                        // 新版本下載失敗
                        wx.showModal({
                            title: '更新提示',
                            content: '新版本下載失敗,請您刪除當前小程序,重新搜索打開。',
                        })
                    })
                }
            })
        } else {
            // 如果希望用戶在最新版本的客戶端上體驗您的小程序,可以這樣子提示
            wx.showModal({
                title: '提示',
                content: '當前微信版本過低,無法使用該功能,請升級到最新微信版本后重試。'
            })
        }
    },

  


免責聲明!

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



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