摘要:开发项目的时候自动更新工鞥呢,需要获取的版本,可以用来的获取版本号,可以用命令行,或者在配置文件进行配置。但是有一点需要注意的是执行此语句,必须等待元素加载完毕。简单一点就是,若是在传统的中用到,需要配合着使用,或者中相关文章
开发项目的时候自动更新工鞥呢,需要获取app的版本,cordova-plugin-app-version可以用来的获取版本号,可以用命令行:cordova plugin add cordova-plugin-app-version,或者在配置文件config.xml、package.json进行配置。
getServerVersion: function (curVersion) {
var deferred = $q.defer(),
promise;
if (curVersion) {
promise = $http.get(CONFIG.url.version, {params: {version: curVersion}});
} else {
promise = $http.get(CONFIG.url.version);
}
promise.then(function (response) {
deferred.resolve(response.data.data.versions);
}).catch(function (error) {
deferred.reject(error);
});
return deferred.promise;
},
getLocalVersion: function () {
var deferred = $q.defer();
cordova.getAppVersion.getVersionNumber().then(function (localVersion) {
deferred.resolve(localVersion);
}).catch(function (error) {
deferred.reject(error);
});
return deferred.promise;
},
checkUpdate: function () {
var self = this,
localVersion;
this.getLocalVersion().then(function (response) {
localVersion = response;
return self.getServerVersion(response);
}).then(function (serverVersions) {
var latestVersion = _.isArray(serverVersions) ? _.first(serverVersions) : serverVersions,
laterThanServer = commonService.laterThan(localVersion, latestVersion.number),
isForceUpdate = _.some(_.initial(serverVersions), function (item) {
return item.flag === 1;
});
commonService.setItem("latestVersion", latestVersion);
return laterThanServer && isForceUpdate;
}).then(function (isForce) {
isForce && commonService.confirm(i18n.need_update_label, i18n.force_update_tip).then(function (res) {
if (res) {
checkUpdateEnv(isForce);
} else {
ionic.Platform.exitApp();
}
});
}).catch(function (reason) {
console.log("version compare filed : " + JSON.stringify(reason));
});
}
但是有一点需要注意的是执行此语句,必须等待DOM元素加载完毕。简单一点就是,若是在传统的javaScript中用到,需要配合着window.onload使用,或者 ionic.Platform.ready中
ionic.Platform.ready(function () {
if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
window.cordova.plugins.Keyboard.hideKeyboardAccessoryBar(false);
window.cordova.plugins.Keyboard.disableScroll(true);
apiService.checkUpdate();
}
try {
$cordovaStatusbar.style(0);
checkNetworkState();
checkSystemVersion();
$ionicPlatform.is("Android") && $ionicPlatform.registerBackButtonAction(registerBackButton, 101);
} catch (e) {
console.warn("some thing error when app launched: " + e.message);
}
autoLogin();
});
相关文章:
http://www.ionic.ren/2015/11/...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/112318.html
摘要:开发项目的时候自动更新工鞥呢,需要获取的版本,可以用来的获取版本号,可以用命令行,或者在配置文件进行配置。但是有一点需要注意的是执行此语句,必须等待元素加载完毕。简单一点就是,若是在传统的中用到,需要配合着使用,或者中相关文章 开发项目的时候自动更新工鞥呢,需要获取app的版本,cordova-plugin-app-version可以用来的获取版本号,可以用命令行:cordova pl...
摘要:开发项目的时候自动更新工鞥呢,需要获取的版本,可以用来的获取版本号,可以用命令行,或者在配置文件进行配置。但是有一点需要注意的是执行此语句,必须等待元素加载完毕。简单一点就是,若是在传统的中用到,需要配合着使用,或者中相关文章 开发项目的时候自动更新工鞥呢,需要获取app的版本,cordova-plugin-app-version可以用来的获取版本号,可以用命令行:cordova pl...
摘要:目前插件已超过几千种,由来自世界各地的开发者共同编写验证和完善。而对于开发者而言,直接使用这些插件将快速稳定架构系统,节约项目成本。也就是说,插件也是代码,通过文件引入的方式植入即可。现在我们就完成了一个下拉菜单的插件。 插件(Plugin)也成为 jQuery 扩展(Extension),是一种遵循一定规范的应用程序接口编写出来的程序。目前 jQuery 插件已超过几千种,由来自世界...
前言 从 9 月份开始,vuepress 源码进行了重新设计和拆分。先是开了个 next 分支,后来又合并到 master 分支,为即将发布的 1.x 版本做准备。 最主要的变化是:大部分的全局功能都被拆分成了插件的形式,以可插拔的方式来支撑 vuepress 的运作,这一点很像 webpack。 具体架构如下: showImg(https://user-gold-cdn.xitu.io/2019...
阅读 3914·2021-11-24 09:39
阅读 3148·2021-11-16 11:49
阅读 2208·2019-08-30 13:54
阅读 1264·2019-08-30 13:03
阅读 1233·2019-08-30 11:10
阅读 915·2019-08-29 17:10
阅读 1360·2019-08-29 15:04
阅读 1336·2019-08-29 13:02