uniapp -app 内部更新下载

        eventdetcourse() {
        let that = this;
        axios(url地址).then(res => {
            if (res.statusCode == 200) {
                if (res.data.code == 0 && uni.getStorageSync('appversion') < res.data.data.version) {
       //获取系统版本对比线上接口版本
                    uni.showModal({
                        //提醒用户更新
                        title: '更新提示',
                        content: '修复已知问题,优化用户体验。',
                        showCancel: false,
                        confirmText: '升级',
                        success: res1 => {
                            if (res1.confirm) {
                                // 更新操作,resetURL 是app更新的接口地址
                                let resetURL = res.data.data.path;
                                //   1.跳转浏览器下载
                                // plus.runtime.openURL(resetURL);
                              //2. 系统内部更新下载
                                that.doUpData(resetURL);
                                uni.clearStorageSync();
                            }
                        }
                    });
                }
            }
        });
    },
    doUpData(resetURL) {
        var showLoading = plus.nativeUI.showWaiting('正在下载');
        // uni.showLoading({
        //     title: '更新中……'
        // })
        const downloadTask = uni.downloadFile({
            //执行下载
            url: resetURL, //下载地址
            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();
                                    }
                                );
                            }
                        }
                    });
                }
            }
        });
        downloadTask.onProgressUpdate(res => {
            showLoading.setTitle('  正在下载' + res.progress + '%  ');
            console.log('下载进度' + res.progress);
            // 测试条件,取消下载任务。
            if (res.progress == 100) {
                plus.nativeUI.closeWaiting();
                // downloadTask.abort();    //暂停下载
            }
        });
    },
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容