eapp
Version:
130 lines (119 loc) • 4.67 kB
JavaScript
Ibox("IEappApi.IUpdate", function (iboxLoad, exports, ibox) {
var utils = Ibox.utils;
/**
* 获取壳子版本和网络版本比对信息
* @param callback
*/
exports.getOldNewVersionNet = function (callback) {
log("getOldNewVersionNet");
};
/**
* 检查版本更新
* @param noUpdateTip 没有更新,是否弹框提示
*/
exports.checkVersionAndUpdate = function (noUpdateTip) {
var self = this;
// 获取壳子版本和网络版本比对信息
self.getOldNewVersionNet(function (curVersionJO, dataJO) {
// utils.showLog("IUpdate--checkVersionAndUpdate--dataJO--->", dataJO);
if (dataJO.success != true) {
if (noUpdateTip) {
self.showTipDialog(dataJO.errorMsg);
}
return;
}
// 是否是最新版本:1是;0不是
if (dataJO.data.is_last == 1) {
if (noUpdateTip) {
self.showTipDialog("当前版本v" + curVersionJO.version + "为最新版本,无需更新!");
}
return;
}
// android
if (EappApi.isAndroid()) {
var msgTip = 'android发现新版本v' + dataJO.data.version + ',立即更新?';
var newApkUrl = dataJO.data.apk_url;
// 1强制更新;
if (dataJO.data.is_strong == 1) {
self.showStrongUpdateDialog(msgTip, function () {
utils.showLog("android强制更新-->", "");
self.checkAndroidWritePermission(newApkUrl);
});
}
// 0选择性更新
else if (dataJO.data.is_strong == 0) {
self.showUpdateDialog(msgTip, function () {
utils.showLog("android选择性更新-->", "");
self.checkAndroidWritePermission(newApkUrl);
}, function () {
utils.showLog("android取消安装-->");
});
}
}
// ios
else if (EappApi.isIos()) {
var msg = 'ios发现新版本v' + dataJO.data.version + ',立即更新?';
var ios_update_url = dataJO.data.ipa_url;
// 1强制更新;
if (dataJO.data.is_strong == 1) {
self.showStrongUpdateDialog(msg, function () {
utils.showLog("ios强制更新-->", "");
self.gotoInstallIosPage(ios_update_url, "此版本有重要更新,需立即升级!请点击安装升级后再使用!");
});
}
// 2选择性更新
else if (dataJO.data.is_strong == 0) {
self.showUpdateDialog(msg, function () {
utils.showLog("ios选择性更新-->", "");
self.gotoInstallIosPage(ios_update_url, '');
}, function () {
// utils.showLog("取消安装-->");
});
}
}
});
};
/**
* ios安装更新页面,依赖/iframeDetail/页面;依赖AndBackUtil工具类
* @param url
* @param noBackMsg
*/
exports.gotoInstallIosPage = function (url, noBackMsg) {
EappApi.goInstallIosPage(url);
};
/**
* 申请写入权限,并且处理失败,弹框提示
* @param newApkUrl
*/
exports.checkAndroidWritePermission = function (newApkUrl) {
var self = this;
// 申请写入权限
EappApi.requestWriteStorage(function () {
// 下载apk,显示进度条
self.downloadApkAndShowProgress(newApkUrl);
}, function (error) {
// utils.showLog("申请失败:", error);
self.showTipDialog("申请写入sdk失败!");
});
};
/**
* 下载apk,显示进度条
* @param newApkUrl
*/
exports.downloadApkAndShowProgress = function (newApkUrl) {
log("downloadApkAndShowProgress", newApkUrl);
};
/**
* --------工具类-----------------------------------
*/
exports.showTipDialog = function (msg, callback) {
};
exports.showUpdateDialog = function (msg, okBack, cancelBack) {
};
exports.showStrongUpdateDialog = function (msg, okBack) {
};
// 打印
function log(method, obj) {
utils.showWarnLog("IUpdate--实现方法--->" + method + "", obj);
}
});