Comment ignorer la page de connexion si l'utilisateur est déjà connecté au framework ionique
Je suis en train de travailler sur un IONIQUE demande où j'ai vérifié si l'utilisateur est déjà connecté, et si l'utilisateur est déjà connecté, puis l'application doit rediriger sur le tableau de bord. Cette fonctionnalité fonctionne bien, mais l'application de la première apparition de la page de login pour un couple de secondes et ensuite rediriger vers le tableau de bord.
app.js
$rootScope.$on("$locationChangeStart", function (event, next, current) {
var prefs = plugins.appPreferences;
prefs.fetch('iuserid').then(function (value) {
if (value != '') {
$state.go('app.dashboard');
}
});
.config(function ($stateProvider, $urlRouterProvider, $httpProvider) {
$stateProvider
.state('app', {
url: "/app",
abstract: true,
templateUrl: "templates/menu.html",
controller: 'AppCtrl'
})
.state('login', {
url: "/login",
templateUrl: "templates/login.html",
controller: 'LoginCtrl'
})
.state('app.dashboard', {
url: "/dashboard",
views: {
'menuContent': {
templateUrl: "templates/dashboard.html",
controller: 'DashboardCtrl'
}
}
})
;
//if none of the above states are matched, use this as the fallback
$urlRouterProvider.otherwise('/login');
});
});
Je ne sais pas où je fais erreur.
Edit: je suis en mesure d'authentifier et de rediriger vers le tableau de bord, mais mon problème est que la page de connexion s'affiche quelques (jusqu'à 2 secondes et ensuite rediriger vers le tableau de bord et je suis en train de travailler sur IONIQUE application
Deuxième Édition
J'ai trouvé le problème mais ne connaissez pas la solution. De préférence grandement dans $ionicPlatform.prêt, mais ne fonctionnent pas dans $locationChangeStart. Et j'ai besoin de préférence dans $locationChangeStart parce qu'il s'exécute avant $ionicPlatformReady. J'ai désespérément besoin de la solution.
source d'informationauteur Alpesh Trivedi
Vous devez vous connecter pour publier un commentaire.
Je ne les suivants:
dans le app.js
Auth est une usine, il stocke l'authentification de session dans localstorage.
Je pense que vous devriez écouter l'événement
$stateChangeStart
sur le$rootScope
vous pouvez écouter cet événement en cours d'exécution, comme ceci:Les gars, essayez cette solution élégante:
si l'utilisateur n'est pas connecté et de connexion est nécessaire qu'elle redirige vers la connexion.
si l'utilisateur essaie d'obtenir un login et il est déjà connecté, l'empêcher de le faire.
marque de chaque chemin d'accès comme "requireAuth" et cela fonctionnera.
placez votre code dans app.js
Supprimer
au bas de routes.js fichier.
À l'intérieur de votre "exécuter" bloc et à l'extérieur de $ionicPlatform.prêt vous pouvez utiliser ceci:
Après vous devez changer votre:
pour cela:
L'idée est de directement la route vers le tableau de bord et si n'est pas connecté, vous redirigera vers la page de connexion.