gpt4 book ai didi

angularjs - 如果用户已经登录 ionic ,如何跳过登录页面

转载 作者:行者123 更新时间:2023-12-03 17:40:50 25 4
gpt4 key购买 nike

嗨,我是 ionic 框架的新手。我在 ionic 中使用 session 管理器。但如果用户已经登录,我想跳过登录页面。

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, $cordovaToast, $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 答案。但不工作。请帮助我哪里我错了。

最佳答案

创建一个新 Controller 和一个名为 autologin 的新状态.将此设为您的默认状态。在 autologin Controller ,检查用户是否已经登录。如果是,则重定向到某个页面。如果他不是,则重定向到登录。

  .state('app.autologin', {
url: "/autologin",
controller: 'autologinCtrl'
})

$urlRouterProvider.otherwise("/app/autologin");

Controller :
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');
}
});

关于angularjs - 如果用户已经登录 ionic ,如何跳过登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36645811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com