Я делаю угловой вход в систему, когда служба использует php api и возвращает токен в ответе, поэтому этот токен я сохраняю в cookie-файле, используя angular ngx cookie, я могу установить, получить и уничтожить cookie-файл.Проблема здесь в том, что я не могу получить маршрут к входу в систему, он напрямую переходит на страницу внутри, а не направляется на вход в систему.Маршрут, по которому он перемещается без входа в систему, является следующим путем: '', компонент: PagesComponent, Присоединяемый код ниже Компонент входа
ngOnInit(): void {
this.loginForm = this.fb.group({
username: [, [Validators.required]],
password: [, [Validators.required]],
})
onSubmit() {
let formValue: any = {
user_code: this.loginForm.value.username,
password: this.loginForm.value.password,
// user_code: "INC01",
// password: "uatxyz",
}
}
//console.log(formValue)
let key = 'Item 1';
this.policyService.getLoginUser(formValue)
.pipe()
.subscribe(logindata => {
this.logindata = logindata,
console.log('logindata: ', logindata);
(error: any) => this.errorMessage = <any>error;
this.cookieService.set('Test', this.logindata.data.token);
this.cookieValue = this.cookieService.get('Test');
console.log(this.cookieService.get('Test'));
console.log(this.cookieService.get('Test'));
this.router.navigateByUrl('/dlr');
}
)
}
Модуль маршрутизации
const routes: Routes = [
{
path: '',
component: PagesComponent,
data :{
redirectTo: '/login'
},
children: [
{
path: 'dlr',
loadChildren: './components/dashboard/dashboard.module#DashboardModule'
},
{
path: 'mail',
loadChildren: './components/apps/mail/mail.module#MailModule'
},
{
path: 'ecommerce',
loadChildren: './components/apps/e-commerce/e-commerce.module#ECommerceModule'
},
{
path: 'ngbootstrap',
loadChildren: './components/ngbootstrap/ngbootstrap.module#NgbootstrapModule'
},
{
path: 'material',
loadChildren: './components/material/material.module#MaterialModule'
},
{
path: 'metronic',
loadChildren: './components/metronic/metronic.module#MetronicModule'
},
{
path: 'profile',
component: ProfileComponent
},
]
},
{
path: 'login',
loadChildren: './auth/auth.module#AuthModule',
},
{
path: '404',
component: ErrorPageComponent
},
{
path: 'error/:type',
component: ErrorPageComponent
},
];
Служба входа
getLoginUser(formValue): Observable<PolicyData[]> {
const headers = new HttpHeaders({ 'Content-Type': 'application/json'});
let body = {"auth": { "accesskey": "TTIBI", "signature": "" }, "data": formValue};
console.log(formValue)
return this.http
.post<PolicyData[]>(this.apiphpUrl + this.loginUrl, body, { headers: headers })
.pipe(
tap(data => console.log(' LoginUser: ' + JSON.stringify(data))),
catchError(this.handleError),
);
}
Компонент выхода из системы
getLogoutUser(){
this.policyService.getLogoutUser().pipe()
.subscribe(logoutdata => {
this.logoutdata = logoutdata,
console.log('logoutdata: ', logoutdata); //
(error: any) => this.errorMessage = <any>error;
this.router.navigateByUrl('/login');
console.log(this.cookieService.get('Test'))
this.cookieService.delete('test');
console.log(this.cookieService.delete('test'));
}
)
}