Boa noite,
Estou com um problema que é o seguinte.
após fazer o login e chegar no dashboard, a pagina nao esta carregando os dados. Para carregar os dados do payload no dashboard eu preciso dar um refresh na pagina.
Meu authservice esta assim:
import { Injectable } from '@angular/core';
import { Http,Headers } from '@angular/http';
import{tap} from 'rxjs/operators'
import { TokenService } from './token/token.service';
const API_URL = 'http://testett:8080/co-ws/';
@Injectable({
providedIn: 'root'
})
export class AuthService {
//userAdm: string;
rotaUser:String;
retorno:any = [];
constructor(private _http:Http,
private tokenService: TokenService) { }
authenticate(userName: string, password:any){
let headers = new Headers();
headers.append('Content-Type' , 'application/json');
return this._http.post(
API_URL + '/seguranca/login',
{login:userName, senha:password},
{headers: headers}
)
.pipe(tap(res =>{
this.retorno = res.json();
const tokenBody = this.retorno;
var userAdm = '';
userAdm = this.retorno.flagAdministrador;
console.log(userAdm);
if(userAdm == 'S'){
this.rotaUser = 'loginadm'
}else{
this.rotaUser = 'dashboard'
}
this.tokenService.setToken(tokenBody);
console.log(tokenBody);
}))
}
}``
e o login esta assim:
import { Component, OnInit } from '@angular/core'; import { Router } from '@angular/router'; import { routerTransition } from '../router.animations'; import { AuthService } from '../core/auth.service';
import {Md5} from 'ts-md5/dist/md5'
@Component({ selector: 'app-login', templateUrl: './login.component.html', styleUrls: ['./login.component.scss'], animations: [routerTransition()] })
export class LoginComponent implements OnInit { userName = 'financeiro.bef'; password = '1234';
//retorno:object = [];
constructor(public router: Router,
private authService: AuthService
) { }
ngOnInit() {
}
onLoggedin() {
let passmd5 = Md5.hashStr(this.password);
console.log(passmd5);
return this.authService
.authenticate(this.userName,passmd5)
.subscribe(
()=> this.router.navigateByUrl(`${this.authService.rotaUser}`),
err => {
console.log(err);
alert('Usuario ou senha invalido');
}
);
}
}
tem alguma solução para nao ser preciso toda fez que eu fizer o login dar um refresh manual na pagina para carregar os dados?