h5 app 热更新

之前刚来公司修改碰到的问题,app版本更替需要热更新。查阅了一些资料。

首先这里的Hbuilder打包的那种。


// 下载wgt文件
const downWgt = () => {
    var wgtUrl = "http://xx.xx.xxx.xx/zy/H5CA0AC70.wgt";
    plus.nativeUI.showWaiting("下载更新文件...");
    plus.downloader.createDownload(wgtUrl, {
        filename: "_doc/update/"
    }, function (d, status) {
        if (status == 200) {
            console.log("下载更新文件成功:" + d.filename);
            installWgt(d.filename); //安装wgt包

        } else {
            console.log("下载失败!");
            plus.nativeUI.alert("下载失败!");
            plus.nativeUI.alert(JSON.stringify(d));
            plus.nativeUI.alert(status);
        }
        plus.nativeUI.closeWaiting();
    }).start();
}

const installWgt = (path) => {
    plus.nativeUI.showWaiting("安装更新文件...");
    plus.runtime.install(path, {}, function () {
        plus.nativeUI.closeWaiting();
        console.log("安装更新文件成功!");
        plus.nativeUI.alert("应用资源更新完成!", function () {
            plus.runtime.restart();
        });
    }, function (e) {
        plus.nativeUI.closeWaiting();
        console.log("安装更新文件失败[" + e.code + "]:" + e.message);
        plus.nativeUI.alert("安装更新文件失败[" + e.code + "]:" + e.message);
        if (e.code == 10) {
            alert('请清除临时目录');
        }
    });
}
//主要入口
const Main = () => {
    if (isIos) {
        console.log("ios环境下");
        window.location.href = "itms-apps://itunes.apple.com/app/idxxxxxxxxxxxxxx";
    } else {
        downWgt();
    }
}

export default Main;

以上代码中的 wgtUrl 中的wgt文件需要从 Hbuilder => (发行>原生app-制作应用wgt包)
这是用来版本升级的
plus 这个东西应该是手机系统自带的。

用来记录,后面遇到问题用来查阅

你可能感兴趣的:(h5-app,前端)