UNPKG

eapp

Version:
130 lines (119 loc) 4.67 kB
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); } });