摘要:开发项目的时候自动更新工鞥呢,需要获取的版本,可以用来的获取版本号,可以用命令行,或者在配置文件进行配置。但是有一点需要注意的是执行此语句,必须等待元素加载完毕。简单一点就是,若是在传统的中用到,需要配合着使用,或者中相关文章
开发项目的时候自动更新工鞥呢,需要获取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/51083.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...
阅读 2697·2021-10-26 09:50
阅读 2351·2021-10-11 11:08
阅读 2099·2019-08-30 15:53
阅读 1877·2019-08-30 15:44
阅读 2353·2019-08-28 18:12
阅读 2483·2019-08-26 13:59
阅读 2820·2019-08-26 12:19
阅读 2726·2019-08-26 12:09