Angular 爱奥尼亚3在app.component.ts中的登录和检查语句

Angular 爱奥尼亚3在app.component.ts中的登录和检查语句,angular,typescript,authentication,login,ionic3,Angular,Typescript,Authentication,Login,Ionic3,我查阅了很多登录教程,但都没有回答我的问题,即如何检查用户是否登录 我很感兴趣,如果有人可以告诉我,当然是可能的,如何在用户更改页面时签入主组件(app.component.ts)?所以我想在一个地方检查用户何时登录或未登录,何时登录,而不是在存储中存在令牌并可以继续,如果不将rootPage设置为login page。在这里,当你们在路上有警卫服务时,这是很好的,但这是不可能的,或者我错了。不管怎样,有人能帮我检查用户何时更改页面是否已登录,以及是否可以在app.component.ts中进行

我查阅了很多登录教程,但都没有回答我的问题,即如何检查用户是否登录

我很感兴趣,如果有人可以告诉我,当然是可能的,如何在用户更改页面时签入主组件(app.component.ts)?所以我想在一个地方检查用户何时登录或未登录,何时登录,而不是在存储中存在令牌并可以继续,如果不将rootPage设置为login page。在这里,当你们在路上有警卫服务时,这是很好的,但这是不可能的,或者我错了。不管怎样,有人能帮我检查用户何时更改页面是否已登录,以及是否可以在app.component.ts中进行检查吗

import {Component, ViewChild} from '@angular/core';
import {StatusBar} from '@ionic-native/status-bar';
import {SplashScreen} from '@ionic-native/splash-screen';
import {Platform, NavController, MenuController} from 'ionic-angular';
import { Storage } from '@ionic/storage';

import {SigninPage} from '../pages/auth/signin/signin';
import {SignupPage} from "../pages/auth/signup/signup";
import {AuthService} from "../services/auth";
import {HomePage} from "../pages/home/home";
@Component({
    templateUrl: 'app.html'
})
export class MyApp {
    rootPage:any = HomePage;
    signinPage = SigninPage;
    signupPage = SignupPage;
    isAuthenticated = false;
    @ViewChild('nav') nav:NavController;

    constructor(platform:Platform, statusBar:StatusBar,
                splashScreen:SplashScreen,
                private menuCtrl:MenuController,
                private authService:AuthService,
                private storage:Storage) {
        platform.ready().then(() => {
            // Okay, so the platform is ready and our plugins are available.
            // Here you can do any higher level native things you might need.
            statusBar.styleDefault();
            splashScreen.hide();
        });
    }
}

如果您在
存储
模块中维护用户的状态,则可以轻松完成此操作。然后你可以像下面这样检查

app.component.ts

注意:


如果您需要更多高级解决方案,那么您可以检查:

此解决方案仅在应用程序启动时使用还是适用于所有状态?这是适用于应用程序启动。但是如果您有
此.storage.get('loggedInUser')
,则您可以在整个应用程序编号中获得该值。但我必须在每个页面中都这样做。ts,我想在每次页面更改时,在app.component.ts中检查一个页面上是否存在某种解决方案如果您需要更多高级解决方案,则可以在此处检查官方应用程序:
constructor(private storage: Storage) {
    platform.ready().then(() => {
     this.storage.get('loggedInUser')
        .then((res: any) => {
          if (res) {//do whatever you want};
        }, () => {
        });
    });