gpt4 book ai didi

angular - 我如何获得当前用户登录 Angular 4 的名称?

转载 作者:行者123 更新时间:2023-12-04 03:00:49 24 4
gpt4 key购买 nike

我的 Angular4 应用程序应该获取当前登录的用户 我怎样才能将用户名获取到我的应用程序中。

 Signin(email: string, password:string ): Observable<boolean> {

// console.log(info);
var data = JSON.stringify({email: email, password: password});
return this.http.post(this.server +"user/signin" , data, this.options).map((response: Response) => {
// login successful if there's a jwt token in the response
let token = response.json() && response.json().token;
if (token) {
// set token property
this.token = token;

// store username and jwt token in local storage to keep user logged in between page refreshes
localStorage.setItem('currentUser', JSON.stringify({ email:email , token: token }));

// return true to indicate successful login
return true;
} else {
// return false to indicate failed login
return false;
}
});
}
在登录组件.ts

  onSignin() {
this.loading = true;
this.authService.Signin(this.model.email, this.model.password)
.subscribe(result => {
if (result === true) {
// login successful
this.router.navigate(['/']);
} else {
// login failed
this.error = 'Username or password is incorrect';
this.loading = false;
}

});

最佳答案

看起来您正在将用户电子邮件(我假设是您的用户名)存储在 currentUser 下的本地存储中。

因此,要获取该电子邮件,您需要在获取信息所需的任何组件或服务中执行以下操作。

通过服务来完成:

getUsername() {
return JSON.parse(localStorage.getItem('currentUser')).email;
}

直接在组件中获取:

username = JSON.parse(localStorage.getItem('currentUser')).email;

// or if you are using the service method above then in your component do following:

username = this.myService.getUsername();

就是这样。

关于angular - 我如何获得当前用户登录 Angular 4 的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49409566/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com