Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

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

  1. Установка списка артикулов в корзины покупок. Для установки списка

    корзины

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

    Code Block
    languagejs
    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 на своей стороне. Пример:

    Code Block
    languagejs
    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. Добавление в корзину покупок. Формат данных события:

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

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

...