Добрый день, Эксперт. Пожалуйста, я новичок в Иони c и angular, и у меня есть небольшое беспокойство, Пожалуйста, помогите мне. Я использую плагины WordPress JWT для аутентификации пользователей в моих приложениях ioni c 4, но проблема в том, что когда пользователь пытается войти в систему в первый раз, он возвращает ноль, с этим сообщением об ошибке -
https://example.com/wp-json/wc/v3/customers/null?consumer_key=ck_xxxxxxxxxxxxxx&consumer_secret=cs_xxxxxxxxxxxxx. –HttpErrorResponse {headers: HttpHeaders, status: 404, statusText: «OK», URL: «https://example.com/wp-json/wc/v3/cu… ecret = cs_xxxxxxxxxxx», ok: false,…} ,
но локальное хранилище возвращает данные и идентификатор клиента с тостом, показывающим успешный вход в систему. Но пользователь пробует это во второй раз, именно тогда пользователь будет аутентифицирован, так что только когда пользователь пробует это дважды, прежде чем он аутентифицируется. Но я хочу, чтобы пользователь прошел аутентификацию после успешного входа в систему
Я не знаю, что я сделал неправильно. Это мой код Спасибо
login.page.ts
loginForm(){
this.platform.ready().then(() => {
if((this.password != '') && (this.CFS.validateEmail(this.email))) {
console.log('Email: ',this.email);
console.log('Password: ',this.password);
this.auth.loginCustomer(this.email,this.password).then((response) => {
if(response['token']){
console.log('Returned Token: ',response['token']);
console.log('Returned user enamil: ',response['user_email']);
this.CFS.presentToast('Login successful', 'buttom',2000, 'success');
this.auth.getUserData(this.email).subscribe((userData) => {
this.customerData = userData;
console.log('Customer Data: ', this.customerData);
let currentUserId = this.customerData[0].id;
localStorage.setItem('currentUserId', currentUserId);
let found = localStorage.getItem('currentUserId');
console.log('local storage id', found);
});
this.route.navigateByUrl('/home');
} else {
this.CFS.presentToast('Invalid username or password', 'buttom',2000,'danger');
}
});
} else {
this.CFS.presentToast('Please fill the form correctly', 'buttom',2000,'danger')
}
});
}
Home.page.ts
customerId:any;
customerData: any = {
avatar_url: 'not found',
}
constructor(private CFS: CommonfunctionService, private activatedRoute: ActivatedRoute, private auth: AuthService, private WC: WoocommerceService, private modalPop: ModalController) {
}
ngOnInit() {
let isUserLoggedIn = localStorage.getItem('currentUserId');
this.WC.getUserInfo(isUserLoggedIn).subscribe((data)=>{
this.customerData = data;
console.log('user data', this.customerData);
});
this.WC.getWalletBalance(isUserLoggedIn).subscribe((data) =>{
this.mybalance = data;
console.log('All Orders balance by a customer', this.mybalance);
});
}