Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Механизм полной синхронизации корзины покупок построен на механизме window.postMessage.

Веб-визуализатор вызывает метод window.postMessage при совершении действий с корзиной покупок.

  1. Установка списка артикулов в корзины покупок. Для установки списка артикулов в корзине покупок необходимо вызывать метод postMessage.

    window.frames.wizartFittingRoom.onload = (() => {
      window.frames.wizartFittingRoom.postMessage({
        eventName: 'setShoppingCartStore',
        payload: [
          {
            vendor_code: 'vendor_code', // type string,
            quantity: 1, // type number,
          },
        ],
      }, '*');
    });
  2. Для того чтобы получить список артикулов корзины покупок необходимо вызвать метод postMessage getShoppingCartStore. Веб-визуализатор отловит запрос на получиние списка артикулов корзины покупок и инициирует событие getShoppingCartStore на своей стороне. Пример:

    window.frames.wizartFittingRoom.onload = (() => {
        // Вызов события на получение артикул в корзине покупок.
        window.frames.wizartFittingRoom.postMessage({
          eventName: 'getShoppingCartStore'
        }, '*');
    });
      
    // Подписка на получение артикулов корзины покупок.  
    window.addEventListener('message', (event) => {
      if (event.data && event.data.eventName === 'getShoppingCartStore') {
        // Обработка события
      }
    }, false)
    
    Формат данных:
    event.data = {
      eventName: 'getShoppingCartStore',
      payload: { 
        vendor_code: 'vendor_code', // type string
        quantity: 1, // type boolean
      },
    }

События инициируемые веб-визуализатором:

  1. Добавление в корзину покупок. Формат данных события:

    // Подписка на событие добавления артикула в корзину покупок
    window.addEventListener('message', (event) => {
      if (event.data && event.data.eventName === 'addShoppigCartItem') {
        // Обработка события
      }
    }, false)
    
    Формат данных:
    event.data = {
      eventName: 'addShoppigCartItem',
      payload: { 
        vendor_code: 'vendor_code', // type string
      },
    }
  2. Удаление из корзины покупок. Формат данных события:

    // Подписка на событие удаления артикулов из корзины покупок
    window.addEventListener('message', (event) => {
      if (event.data && event.data.eventName === 'removeShoppigCartItem') {
        // Обработка события
      }
    }, false)
    
    Формат данных:
    event.data = {
      eventName: 'addShoppigCartItem',
      payload: { 
        vendor_code: 'vendor_code', // type string
        removeAll: true, // type boolean
      },
    }

  • No labels