uni-app 實現APP的版本更新


在index.vue 中的onload方法里面或者app.vue中的onLaunch中添加如下部分:

update() {
    var _this = this;
    uni.request({
    url: `${this.$store.state.apiBaseUrl}/users/versions`,  //請求接口
    method: 'POST',
    success: result => {
        if (result.data.code == 1) {
            plus.runtime.getProperty(plus.runtime.appid, function(inf) {
                if(inf.version != result.data.data.versions){
                    uni.showModal({
                        title: "發現新版本",
                        content: "確認下載更新",
                        success: (res) => {
                            if (res.confirm == true) {//當用戶確定更新,執行更新
                                _this.doUpData();
                            }
                        }
                    })
                }
            });
        }
    },
    })
},
 
doUpData() {
    uni.showLoading({
        title: '更新中……'
    })
    uni.downloadFile({//執行下載
        url: '***', //下載地址
        success: downloadResult => {//下載成功
            uni.hideLoading();
            if (downloadResult.statusCode == 200) {
                uni.showModal({
                    title: '',
                    content: '更新成功,確定現在重啟嗎?',
                    confirmText: '重啟',
                    confirmColor: '#EE8F57',
                    success: function(res) {
                        if (res.confirm == true) {
                            plus.runtime.install(//安裝
                                downloadResult.tempFilePath, {
                                    force: true
                                },
                                function(res) {
                                    utils.showToast('更新成功,重啟中');
                                    plus.runtime.restart();
                                }
                            );
                        }
                    }
                });
            }
        }
    });
}

 


免責聲明!

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



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