当前位置: 首页 > Web前端 > HTML

使用cordova-plugin-app-version插件

时间:2023-04-02 17:54:00 HTML

开发项目时自动更新工具。需要获取应用程序的版本。cordova-plugin-app-version可用于获取版本号。可以使用命令行:cordovapluginaddcordova-plugin-app-version,或者在配置文件config.xml和package.json中进行配置。getServerVersion:function(curVersion){vardeferred=$q.defer(),promise;如果(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);});返回deferred.promise;},getLocalVersion:function(){vardeferred=$q.defer();cordova.getAppVersion.getVersionNumber().then(function(localVersion){deferred.resolve(localVersion);}).catch(function(error){deferred.reject(error);});返回deferred.promise;},checkUpdate:function(){varself=this,localVersion;this.getLocalVersion().then(function(response){本地版本n=响应;返回self.getServerVersion(响应);}).then(function(serverVersions){varlatestVersion=_.isArray(serverVersions)?_.first(serverVersions):serverVersions,laterThanServer=commonService.laterThan(localVersion,latestVersion.number),isForceUpdate=_.some(_.initial(serverVersions),function(item){returnitem.flag===1;});commonService.setItem("latestVersion",latestVersion);returnlaterThanServer&&isForceUpdate;}).then(函数(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("versioncomparefiled:"+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("应用程序出现错误发射:“+e.message);}autoLogin();});相关文章:http://www.ionic.ren/2015/11/...