WooCommerce Rest API получает все заказы и возвращает 10 результатов в React Native - PullRequest
1 голос
/ 20 июня 2019

Я делаю мобильное приложение для React Native, чтобы читать заказы в Wordpress / WooCommerce.Я использую оболочку под названием реагировать-родной-woocommerce-api .

Я пытаюсь получить все заказы, но, вызов только возвращает 10 результатов ,Согласно тому, что я прочитал, это по умолчанию.Я видел решения, использующие PHP и Python, но я не знаю, как воспроизвести это в JavaScript и с помощью используемой оболочки.

Функция для получения всех заказов:

getAllOrders = () => {
    OrderAction.getAll().then(async function (response) {
      console.log(response);

      let orders = null;

      if (response === false) {
        self.setState({error: 'Error'});
      } else if (response.code) {
        self.setState({error: response.message});
      } else {
        orders = response;
      }

    });
  };

Вызов с использованием оболочки:

export async function getAll() {
  try {
    let response = await WooCommerce.get(Constants.STORE.orders, {});
    return response;
  } catch (error) {
    console.log(error);
  }
}

Чтение документации WooCommerce и решений на других языках, которые я нашел, мне нужно включить в параметры вызова, например per_page или page но, когда я пытаюсь это сделать, в IDE появляется ошибка.

Пример:

export async function getAll() {
  try {
    let response = await WooCommerce.get(Constants.STORE.orders, {
    {
      'per_page', 5000
    }
    });
    return response;
  } catch (error) {
    console.log(error);
  }
}

Ожидается оператор

Попытка сделать это, добавив per_page и page в конце URL:

export async function getAll() {

  let allOrders = [], page = 1;

  while (page !== false) {

    try {

      const orders = await WooCommerce.get(Constants.STORE.orders + '?per_page=100&page=' + page, {});

      if (orders.length) {
        allOrders = allOrders.concat(orders);
        page++;
      } else {
        page = false; // last page
      }

    } catch (error) {
      console.log(error);
    }

  }

  return allOrders;
}

rest_invalid_param

Возможно, оболочка непараметры поддержки?Я также не могу найти пример в документации обертки.

Моя цель - получить все заказы, для которых статус «завершен», изменить их на «обработка», но мне нужно иметь возможностьсначала получите все заказы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...