h5+App强制弹框更新以及手动更新,带进度条

本文介绍了H5 App如何实现版本更新的自动弹框和手动更新,包括检查当前应用版本与线上最新版本的对比,点击更新后的资源下载过程,以及使用mixin混入更新配置文件来实现弹框提示。
摘要由CSDN通过智能技术生成

思路

  1. 先理清思路,自动出现版本更新的弹框需要检查当前应用的版本,获取线上发布的最新版本,对比之后判断是否出现弹框。
  2. 点击更新检查资源,显示进度条,下载完成之后系统自动跳转至安装
  3. 安装完成之后可替换之前的版本

检测更新文件配置

import AppService from "../../service/AppService";
import { Toast } from 'vant';
import store from "../../store/store";
import _this from '../../main';
import i18n from '../i18n/index';

var wgtUrl = "";
export default {
    data() {
        return {
            showProgress: false,
            percentageVal: 0,
            path:''
        }
    },
    methods: {
        // 应用检测更新
        appUpdate(ismanual) {
            // 根据ismanual判断是否为手动更新true为手动,false为自动检测
            if (!window.plus) return
            if (ismanual) {
                // 手动检测时,如果有新版本则开始下载安装,否则提示当前已为最新版本
                /* try {
                    window.plus.nativeUI.showWaiting("正在检测更新...");
                } catch (e) {
                    console.log(e)
                } */
            } else {
                // 自动检测时,如果有新版本则弹出弹框,否则不显示任何

            }
            // 查询当前应用的版本号
            var wgtVer = null;
            window.plus.runtime.getProperty(window.plus.runtime.appid, (inf) => {
                wgtVer = inf.version;
                this.checkUpdate(ismanual, wgtVer);
            });
        },

        // 通过接口检测是否有更新版本
        async checkUpdate(ismanual, version) {
            // 根据接口获取最新版本,并与当前版本对比,如果有更新,则开始更新
            var wgtVer = null, updateInfo = null, updateInfoEn = null;//
            try {
                let res = await AppService.appUpdate();
                window.plus.nativeUI.closeWaiting();
                if (res) {
                    wgtVe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值