<script>
    import { API } from '@/util/api.js';
    export default {
        onLaunch: function() {
            console.log('App Launch');
        },
        onShow: function() {
            // #ifdef APP-PLUS
            var wms_version = uni.getStorageSync('wms_version') || '';
            this.request(API.getAppLatestVersion, 'POST', {}, false).then(res => {
                if (res.err_code === 0) {
                    //判断是否跟线上版本一样
                    if (wms_version != res.data.version) {
                        uni.showModal({
                            title: '更新提示',
                            content: res.data.remark,
                            confirmText: '确定更新',
                            cancelText: '取消更新',
                            success: data => {
                                if (data.confirm) {
                                    uni.setStorageSync('wms_version', res.data.version); //更新本地存储最新版本号
                                    this.downloadApk(res.data.download_url); //开始下载apk文件
                                    console.log('用户点击确定');
                                } else if (data.cancel) {}
                            }
                        });
                    }
                }
            });
            // #endif
        },
        onHide: function() {
            console.log('App Hide');
        },
        methods: {
            //下载apk文件
            downloadApk(url) {
                uni.showLoading({
                    title: '下载安装文件',
                    mask: true
                });
                let dtask = plus.downloader.createDownload(url, {}, (d, status) => {
                    if (status == 200) {
                        uni.hideLoading();
                        //下载成功后调用安装方法
                        this.installApk(d.filename);
                    } else {
                        uni.showToast({
                            title: '下载失败',
                            icon: 'error'
                        });
                        console.log('下载失败');
                    }
                });
                dtask.start();
            },
            //安装apk文件
            installApk(filePath) {
                plus.runtime.install(
                    filePath, {},
                    () => {
                        console.log('更新成功');
                    },
                    e => {
                        console.log('安装失败:' + JSON.stringify(e));
                    }
                );
            }
        }
    };
</script>

<style>
    @import './assets/css/font.css';

    page {
        height: 100%;
        background: #f1f4f6;
    }
</style>