Skip to content

Хранилища

Краткое описание

СторНазначение
useCartStoreСтор Pinia для управления корзиной товаров в магазине

Подробное описание

useCartStore

Стор useCartStore предоставляет реактивное состояние и методы для управления корзиной товаров: добавление, удаление, изменение количества, расчёт итоговых значений и очистка

Возвращаемые значения:

НазваниеТипОписание
productsCartRef<Array>Массив товаров, добавленных в корзину
itemAddCartFunctionДобавляет товар в корзину или увеличивает его количество
itemRemoveCartFunctionУдаляет товар из корзины по id
itemAddedCartFunctionОтмечает товар как добавленный (isAdded = true)
itemQtyChangeFunctionИзменяет количество товара в корзине, либо удаляет его при количестве 0
totalItemsCountsFunctionВозвращает общее количество товаров в корзине
totalItemsPriceFunctionВозвращает итоговую сумму всех товаров
totalItemsWeightFunctionВозвращает итоговый вес всех товаров в кг (с округлением до 1 знака)
cartClearFunctionОчищает корзину

Особенности:

  • Использует defineStore из Pinia в формате setup store
  • Корзина хранится в productsCart и автоматически сохраняется с помощью persist: { pick: ['productsCart'] } с поддержкой SSR
  • Поддерживает работу с весом как из item.weight, так и из item.sizes.weight, с учётом умножения на quantity
  • Методы addCartNotify и removeCartNotify зарезервированы для отображения уведомлений
  • При добавлении товара устанавливается свойство isAdded: true

Внутренний ресурс компании