生成服务
ng generate service auth/auth
import { Injectable } from '@angular/core';
import { Observable, of } from 'rxjs';
import { tap, delay } from 'rxjs/operators';
@Injectable({
providedIn: 'root',
})
export class AuthService {
login(): void {
}
}
生成路由守卫
ng generate guard auth/auth
import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, CanActivate, Router } from '@angular/router';
import { Observable } from 'rxjs';
import { NzMessageService } from 'ng-zorro-antd';
@Injectable({
providedIn: 'root'
})
export class AuthGuard implements CanActivate {
constructor(
private router: Router,
public msg: NzMessageService,
) { }
canActivate(
route: ActivatedRouteSnapshot,
state: RouterStateSnapshot): boolean | UrlTree | Observable<boolean | UrlTree> | Promise<boolean | UrlTree> {
if (window.localStorage.getItem('auth') === "oaksdnasndlk") {
return true;
} else {
this.msg.warning('请登录');
this.router.navigateByUrl('/login');
return false;
}
}
}
生成组件
ng generate component auth/auth