UNPKG

eapp

Version:
187 lines (173 loc) 6.28 kB
Ibox("IEappApi.IUpdate.f7.moco", function (iboxLoad, exports, ibox) { // 引用父类IEappApi // var IEappApi = iboxLoad('./'); // 工具类 var utils = Ibox.utils; /** * 获取壳子版本和网络版本比对信息 * @param callback */ exports.getOldNewVersionNet = function (callback) { // 获取apk壳子版本号 EappApi.getAppVersionNameAndCode(function (curVersionDataJO) { var curVersionCode = curVersionDataJO.code; // utils.showLog("当前版本code--->", curVersionCode); // 当前运行的系统 var osType = EappApi.curOs; // var curTime = new Date().getTime(); // 1 android;2 ios var type = "-1"; if (osType == EappApi.OS.ANDROID) { type = "1"; } else if (osType == EappApi.OS.IOS) { type = "2"; } var dataJO = { "data": { "is_strong": 0, "update_id": "NULL", "version_des": "2.0版本", "flag": 1, "update_time": "2019-10-11 13:47:07", "is_last": 0, "app_type": 1, "pkid": "E7F81A9DBCC14D74B18AB440B05C2917", "apk_url": "http://cq.12348.gov.cn/wechat/files/android/phone/cq12348.apk", "version": "2.0.0", "version_code": 20191011 }, "success": true }; // utils.showLog("dataJO-->", dataJO); var verJO = { curVersion: curVersionDataJO.version, curCode: curVersionDataJO.code, newVersion: dataJO.version || curVersionDataJO.version, newCode: dataJO.version_code || curVersionDataJO.code }; // 保存app当前版本 utils.saveItem(KEY.APP_VERSION, JSON.stringify(verJO)); // 回调 callback && callback(curVersionDataJO, dataJO); }); }; /** * ios安装更新页面,依赖/iframeDetail/页面;依赖AndBackUtil工具类 * @param url * @param noBackMsg */ exports.gotoInstallIosPage = function (url, noBackMsg) { noBackMsg = noBackMsg || ""; var params = { name: 'iframeDetail', params: {} }; var options = { // 携带context传参(可以直接页面展示) context: { title: "安装更新", url: url, noBackMsg: noBackMsg }, }; var mainView = app.views[0]; mainView.router.navigate(params, options); AndBackUtil.addBackListener('listener_Third', function() { return true; }); }; /** * 下载apk,显示进度条 * @param newApkUrl */ exports.downloadApkAndShowProgress = function (newApkUrl) { var pgDlg; // android下载并安装apk,可监控下载进度 EappApi.downloadAndInstallApk(newApkUrl, function (data) { if (data.status == 200) { utils.showLog("开始下载-->", data); // 显示下载进度条 pgDlg = showProgressDialog(); } else if (data.status == 201) { var per = data.progress; // 下载整数进度条 if (parseInt(per * 100) % 100 == 0) { var pg = parseInt(per); // utils.showLog("下载中-->" + pg + "%"); // 更新下载进度条 pgDlg.setProgress(pg); pgDlg.setText("当前进度:" + pg + "%"); } } else if (data.status == 202) { // 下载完成,关闭进度条 pgDlg.close(); utils.showLog("下载完成-->", data); } else if (data.status == 203) { utils.showLog("下载失败-->", data); } else if (data.status == 400) { utils.showLog("未知失败-->", data); } }); }; /** * --------工具类----------------------------------- */ exports.showTipDialog = function (msg, callback) { app.dialog.alert(msg, '提示', function () { callback && callback(); }); }; exports.showUpdateDialog = function (msg, okBack, cancelBack) { var params = { title: '提示', text: msg, buttons: [{ // close: false,// 对话框点击后不关闭 bold: true, text: '稍后再说', color: '', }, { // close: false, text: '立即更新', color: 'blue' }], verticalButtons: false, onClick: function (dialog, index) { // utils.showLog('index-->' + index, dialog); if (index == 0) { cancelBack && cancelBack(dialog); } else { okBack && okBack(dialog); } return true; } }; var myDialog = app.dialog.createGlobal(params); myDialog.open(); }; exports.showStrongUpdateDialog = function (msg, okBack) { var params = { title: '提示', text: msg, buttons: [{ // close: false,// 对话框点击后不关闭 text: '立即更新', color: 'blue' }], verticalButtons: false, onClick: function (dialog, index) { // utils.showLog('index-->' + index, dialog); okBack && okBack(dialog); } }; var myDlg = app.dialog.createGlobal(params); myDlg.open(); }; var showProgressDialog = function () { var progress = 0; var progressDlg = app.dialog.progress('下载安装包', progress); progressDlg.setText("当前进度:0%"); progressDlg.setProgress(progress); return progressDlg; }; });