MUI——版本升级

时间:2024-02-23 08:43:09
版本升级

1.获取当前版本号

plus.runtime.getProperty(plus.runtime.appid, function(inf) {
    console.log(inf) // inf 当前版本号
})

2.发请求,获取线上发布的版本号,进行比对
3.发现新版本,进行更新下载
4.下载

var downObj = plus.downloader.createDownload(url, {
    filename: "_doc/update/"
}, function(d, status) {
    mui.toast("下载成功");
    plus.nativeUI.closeWaiting();
    if (status == 200) {
        installWgt(d.filename); // 安装wgt包
    } else {
        mui.toast("下载失败!")
    }

});
downObj.start();

5.安装

plus.runtime.install(path, {}, function() {
    plus.nativeUI.closeWaiting();
    plus.nativeUI.alert("安装成功!", function() {
        plus.runtime.restart();
    });
}, function(e) {
    plus.nativeUI.closeWaiting();
    plus.nativeUI.alert("更新失败===" + e.message);
});

下载

var dtask = plus.downloader.createDownload(
    fileUrl, {
        filename: "_doc/download/" + filename
    },
    function(d, status) {
        if (status == 200) {
            //下载成功逻辑
        }
    });
dtask.addEventListener("statechanged", function(task, status) {
    switch (task.state) {
        case 1:
            break;
        case 2:
            break;
        case 3:
            var size = bytesToSize(task.downloadedSize);
            //监听下载进度
            break;
        case 4:
            break;
    }
});
dtask.start();

function bytesToSize(bytes, flag) {
    if (flag) {
        bytes = bytes * 1024
    }
    if (bytes === 0) return \'0 B\';

    var k = 1024;

    sizes = [\'B\', \'KB\', \'MB\', \'GB\', \'TB\', \'PB\', \'EB\', \'ZB\', \'YB\'];

    i = Math.floor(Math.log(bytes) / Math.log(k));
    return (bytes / Math.pow(k, i)).toPrecision(3) + \' \' + sizes[i];
}

查看本应用下文件

苹果可能会出现打开失败,此步骤需要安装阅读软件

plus.io.resolveLocalFileSystemURL(\'_doc/download/\' + filename, function(entry) {
    var url = entry.toLocalURL();
    plus.runtime.openFile(url, {}, function(e) {
        plus.nativeUI.alert(\'打开失败,你未安装浏览软件,请安装后重试\');
    });
})
登录/自动登录
  • 验证码组件
    • 通过监听表单input/change事件实时监听电话号码输入格式,通过则放开获取验证码,否则置灰按钮。
获取设备信息
  • Appid: plus.runtime.appid
  • imei: plus.device.imei //设备标识
  • model:plus.device.model //设备型号
  • app_version: plus.runtime.version//应用版本