Как обновить пароль пользователя в приложении Ioni c с помощью API woocommerce - PullRequest
0 голосов
/ 01 мая 2020

Добрый день, эксперты, пожалуйста, мне нужна ваша помощь. Я использую формат объектов клиентов 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);
            }
          )
        });
      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...