姜学平 發表於 2020-7-28 15:24:00

uni-app 实现APP的版本更新

<p>在index.vue 中的onload方法里面或者app.vue中的onLaunch中添加如下部分:</p>
<div class="cnblogs_Highlighter">
<pre class="brush:javascript;gutter:true;">update() {
        var _this = this;
        uni.request({
        url: `${this.$store.state.apiBaseUrl}/users/versions`,//请求接口
        method: 'POST',
        success: result =&gt; {
                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) =&gt; {
                                                        if (res.confirm == true) {//当用户确定更新,执行更新
                                                                _this.doUpData();
                                                        }
                                                }
                                        })
                                }
                        });
                }
        },
        })
},

doUpData() {
        uni.showLoading({
                title: '更新中……'
        })
        uni.downloadFile({//执行下载
                url: '***', //下载地址
                success: downloadResult =&gt; {//下载成功
                        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();
                                                                }
                                                        );
                                                }
                                        }
                                });
                        }
                }
        });
}
</pre>
</div>
<p>  </p>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/yeziyou/p/13391349.html
頁: [1]
查看完整版本: uni-app 实现APP的版本更新