eapp
Version:
187 lines (173 loc) • 6.28 kB
JavaScript
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;
};
});