/
home
/
henzagold
/
site
/
store
/
File Upload :
llllll
Current File: /home/henzagold/site/store/cart.js
import axios from '~/plugins/axios'; export const state = () => ({ items: [], }); export const mutations = { ADD_TO_CART(state, data) { let index= state.items.findIndex((item)=>{ if(item.pid==data.pid && item.vid==data.vid) return true; }); if(index==-1){ state.items.push(data); } else { state.items[index].product=data.product; state.items[index].qty=data.qty } localStorage.setItem('cart_items', JSON.stringify(state.items)); }, SHOW(state, res) { state.model = res; }, INIT(state, res) { state.items = res; }, REMOVE(state, item) { let index= state.items.findIndex((vitem)=>{ if(vitem.pid==item.pid && vitem.vid==item.vid) return true; }); if(index>-1){ state.items.splice(index,1); } localStorage.setItem('cart_items', JSON.stringify(state.items)); //let items = JSON.parse(localStorage.getItem('cart_items')) || []; //let items = items.filter((i) => i.vid != item.v.id); // console.log('state.items' , state.items); // console.log('state.items.filter((i) => i.v.id != item.v.id)' , state.items.filter((i) => i.v.id != item.v.id)); //state.items = state.items.filter((i) => i.v.id != item.v.id); //localStorage.setItem('cart_items', JSON.stringify(items)); } } export const actions = { add({commit}, data) { commit('ADD_TO_CART', data); }, show({commit}, data) { commit('SHOW', data); }, remove({commit}, data) { commit('REMOVE', data); }, async init({commit}, data) { try { let items = JSON.parse(localStorage.getItem('cart_items')) || []; let ids = items.map( item => item.product.id ); let data = await axios.post('/get/products', {products_id: ids}); if (data) { let exp = []; for (let cartItem of items) { let product = data.find( (item) => item.id == cartItem.product.id) const variant = product.variants.find( (item)=>{ return item.id==cartItem.vid }) if (product && variant) { //console.log("this is product",product); exp.push({ vid: cartItem.vid, pid: product.id, product: product, qty: cartItem.qty }) } } localStorage.setItem('cart_items', JSON.stringify(exp)); commit('INIT', exp); } }catch (e) { console.log(`%c ${e}`,'color:blue;border:1px solid dodgerblue') }finally { } }, //old method }
Copyright ©2k19 -
Hexid
|
Tex7ure