Getters
| Getter | Tipo | Descrição |
|---|---|---|
cart | Object | Objeto completo do carrinho, retornado pela API do checkout. |
cartType | String | Tipo do carrinho: 'suspended' (padrão) ou outros tipos do checkout. |
Actions
| Action | Parâmetros | Descrição |
|---|---|---|
redirectToCart | — | Redireciona o usuário para o checkout (inclui UTMs e tokens). |
addProductsToCart | { skus, products, value, quantities?, extras?, showModal? } | Adiciona um ou mais SKUs ao carrinho. Dispara evento de pixel após sucesso. |
loadCart | — | Carrega o estado atual do carrinho da API. Em preview, usa dados de placeholder. |
updateItemQuantity | { item, quantity, extras? } | Atualiza a quantidade de um item no carrinho. |
removeItem | { item, items?, totalPrice } | Remove um item do carrinho. Dispara evento GA4 após sucesso. |
Uso
// Em um componente Vue
this.$store.dispatch('cart/addProductsToCart', {
skus: this.selectedSku,
products: this.product,
value: this.selectedSku.price,
quantities: 1,
showModal: true,
});
// Ler o carrinho
this.$store.getters['cart/cart'];
// Via mixin (acesso direto ao Vuex)
import { mapGetters, mapActions } from 'vuex';
export default {
computed: {
...mapGetters('cart', ['cart']),
},
methods: {
...mapActions('cart', ['addProductsToCart', 'redirectToCart']),
},
};