• 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();
                                    }
                                );
                            }
                        }
                    });
                }
            }
        });
    }
  • 相关阅读:
    /bin/bash^M:损坏的解释器: 没有那个文件或目录
    QT槽函数处理线程
    Strategy策略模式
    Proxy代理模式
    Ubuntu系统修改BIOS时间问题
    Ubuntu下安装Goldendict(翻译软件)
    自定义QMenu
    C connect实现Timeout效果(Windows)
    059 Python计算生态概览
    058 程序设计方法学小结
  • 原文地址:https://www.cnblogs.com/happy2010/p/14073719.html
Copyright © 2020-2023  润新知