Добрый день, эксперты, пожалуйста, мне нужна ваша помощь. Я использую формат объектов клиентов Woocoomerce для обновления пользовательских данных, и он работает нормально, но когда я попытался использовать тот же формат для обновления паролей пользователей после входа в систему, выдает ошибку, я не знаю, правильный ли метод, который я использовал метод. Это мой код ниже. Спасибо
// This worked fine updating user data
updateMethod(){
this.isUserLoggedIn = localStorage.getItem('currentUserId');
let customerDataUpdated = {
"first_name": `${this.user.first_name}`,
"last_name": `${this.user.last_name}`,
"email": `${this.user.email}`,
"username": `${this.user.username}`,
"billing": {
"first_name": `${this.user.billing.phone}`,
"last_name": `${this.user.value.billing_last_name}`,
"address_1": `${this.user.billing.address_1}`,
"address_2": `${this.user.value.billing_address_2}`,
"postcode": `${this.user.value.billing_postcode}`,
"email": `${this.user.value.billing_email}`,
"phone": `${this.user.billing.phone}`
},
}
//update user data
this.WC.updateCustomerData(this.isUserLoggedIn, customerDataUpdated).then((data)=>{
console.log('update', data);
}
}
Использование того же формата для обновления пароля пользователя выдает ошибку
passwordUpdate(){
if(( this.user.newpassword != '') && (this.user.newpassword == this.user.repassword)){
let customerDataUpdated = {
"password": `${this.user.newpassword}`,
}
this.auth.passwordUpdate(this.isUserLoggedIn, customerDataUpdated).then((data)=>{
this.CFS.presentToast('Update successful', 'buttom',2000, 'success');
console.log('update', data);
setTimeout(()=>{
this.modalCtrl.dismiss({
'dismissed': true
});
}, 3000);
});
}
}
Auth.service.ts
siteUrl:string ='https://example.com';
woocommercePath:string ='/wp-json/wc/v3/';
//users update
passwordUpdate(id, newpassword){
let headers = new HttpHeaders ({
'Content-Type': 'application/x-www-form-urlencoded'
});
this.apiUrl = `${this.siteUrl}${this.woocommercePath}customers/${id}?consumer_key=${this.consumerKey}&consumer_secret=${this.consumerSecret}`;
console.log('API URL for register a customer: ', this.apiUrl);
return new Promise ((resolve) => {
this.http.put(this.apiUrl, newpassword, {headers}).subscribe((successResp) => {
resolve(successResp);
},
(errorResp) => {
resolve(errorResp);
}
)
});
}