angularjs – 如果用户已登录离子,如何跳过登录页面
发布时间:2020-12-17 18:04:49 所属栏目:安全 来源:网络整理
导读:嗨,我是离子框架的新手.我在离子中使用会话管理器.但是如果用户已经登录,我想跳过登录页面. app.js angular.module('grocery',['ionic','grocery.controller','ngCordova','ngCordovaOauth']).run(function($ionicPlatform,$cordovaSQLite,$cordovaToast,$ro
嗨,我是离子框架的新手.我在离子中使用会话管理器.但是如果用户已经登录,我想跳过登录页面.
app.js angular.module('grocery',['ionic','grocery.controller','ngCordova','ngCordovaOauth']) .run(function($ionicPlatform,$cordovaSQLite,$cordovaToast,$rootScope,mainItemsList,$state) { $ionicPlatform.ready(function() { if (window.cordova && window.cordova.plugins.Keyboard) { cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); stops the viewport // from snapping when text inputs are focused. Ionic handles this internally for // a much nicer keyboard experience. cordova.plugins.Keyboard.disableScroll(true); } if (window.StatusBar) { StatusBar.styleDefault(); } }); }); $rootScope.$on('$locationChangeStart',function(event,newUrl,oldUrl) { if (mainItemsList.isLoggedIn() != true) { $state.go('app.login'); } }) .config(function($stateProvider,$urlRouterProvider) { $stateProvider .state('app',{ url: "/app",abstract: true,templateUrl: "templates/navigationDrawer.html",controller: 'AppCtrl' }) .state('app.masterList',{ url: "/masterList",views: { 'menuContent': { templateUrl: "templates/masterList.html",controller: 'indexCtrl' } } }) .state('app.login',{ url: "/login",views: { 'menuContent': { templateUrl: "templates/login.html",controller: 'loginCtrl' } } }) .state('app.register',{ url: "/register",views: { 'menuContent': { templateUrl: "templates/register.html",controller: 'registerCtrl' } } }) $urlRouterProvider.otherwise("/app/masterList"); }); angular.module('grocery.services',[]) .factory('mainItemsList',function($cordovaSQLite,$cordovaPreferences) { return { isLoggedIn: function(sessionEmail) { $cordovaPreferences.store('email',sessionEmail).success(function(value) { //$cordovaToast.showShortTop('stored'); }) .error(function(error) { $cordovaToast.showShortTop("Error " + error); }) return true; } } }) 我尝试了现有的stackoverflow答案.但不行.请帮我,我错了. 解决方法
创建一个新控制器和一个名为autologin的新状态.将此设为默认状态.在自动登录控制器中,检查用户是否已登录.如果是,则重定向到某个页面.如果不是,请重定向登录.
.state('app.autologin',{ url: "/autologin",controller: 'autologinCtrl' }) $urlRouterProvider.otherwise("/app/autologin"); 控制器: angular.module('grocery').controller('autologinCtrl,function($scope,$state){ //check if user is logged in if (userLoggedIn){ state.go('app.masterList'); } else { state.go('app.login'); } }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Scala宏:检查Java字段是否标记为瞬态
- Angular http post请求内容类型从’text / plain’到’appl
- 如何将Angular 2(angular-cli)应用程序集成到Sails.js中
- angular – RxJS:立即开始的间隔
- 如何在Angular 2上没有FormBuilder的情况下推送FormArray
- 在Snipmate.vim片段中更改案例?
- the consideration of AngularJS in CSS, ng-model, Confir
- 使用Ansible部署docker时如何设置运行参数?
- -viewWillAppear:和 -viewDidAppear:区别
- 码头上的jenkins可以进入码头码头