import urlAlias from '../url'; import request from '../request'; const { cartList , cartModi, cartDel, cartAdd } = urlAlias; const state = { cartList: [], }; const data = { data:{ // list 购物车列表 list:[ { goods_name: "1.56非球面防蓝光_黑01-8701志平防蓝光-防辐射电脑网课眼镜,TR90弹性漆,近视镜,青春潮流", //商品名称 pid: "6",//产品id real_price: 99, checked: true,//是否选中 name: "颜色 玫瑰金 /材质 钛合金 / 功能 防日光 / 配件 免费送 /折射防日光 / 配件 免费送 /折射",//属性名称 ,颜色 玫瑰金 /材质 钛合金 / 功能 防日光 / 配件 免费送 /折射 … cart_id: "39", //购物车唯一序列号 num: "1", //此购物 pics: "/static/myorder-paying-pic.png", //商品图片 goodsType:2,// 商品种类 }, { goods_name: "1.56非球面防蓝光_黑01-8701志平防蓝光-防辐射电脑网课眼镜,TR90弹性漆,近视镜,青春潮流", //商品名称 pid: "4",//产品id real_price: 189, checked: false,//是否选中 name: "颜色 玫瑰金 /材质 钛合金 / 功能 防日光 / 配件 免费送 /折射防日光 / 配件 免费送 /折射",//属性名称 ,颜色 玫瑰金 /材质 钛合金 / 功能 防日光 / 配件 免费送 /折射 … cart_id: "38", //购物车唯一序列号 num: "2", //此购物 pics: "/static/myorder-paying-pic.png", //商品图片 goodsType:3,// 商品种类 }, ], mp_id: "1", mp_list://使用人,一个产品只有一个使用人 [ { glassWidth: "54",//镜宽 img_url2: "http://localhost:8087/images/shop_1/1/",//使用人的头像,根据此头像,AI识别出数据。 in_time: "2020-02-22 03:19:38",//使用人加入的时间 leftAxi: "124",//左眼数据 leftCyl: "-2",//左眼数据 leftSph: "-1",//左眼数据 leftVis: "5",//左眼数据 legWidth: "158",//镜腿长 metal: null,//使用人的其它定义(材质过敏之类的) mp_id: "1",//使用的id name: "me",//使用人的名字 norseWidth: "18",//鼻宽 pd: "89.6",//瞳距 price: "0",//此人偏好的价格 rightAxi: "123",//右眼数据 rightCyl: "24",//右眼数据 rightSph: "-4",//右眼数据 rightVis: "5.1",//右眼数据 uid: "1",//购买人的uid } ], sk_id: "80",//此产品下的sku的唯一id skuList:[//sku清单 { discount: "45",//折扣,数据库中以int型存储,所以要除100 in_price: "6000",//进货价格,数据库中以int型存储,单位是分,所以显示时要除以100 kc: "0",//库存 model_pic: null,//模型试戴图 out_price: 191.8,//销售价格,元 pic: "https://glass.xiuyetang.com//upload_jk/6/6_321EB1.jpg",//可供查看图 pid: "6",//索引产品id real_price: 99,//真实可成交价格 sk_id: "74",//成交时的sku_id sku_name: "1.56非球面防蓝光_黑色",//sku名称 sku_shop_value: "",//sku商家定义值 sku_value: "47_51",//sku系统生成值 status: "1",//此产品下的sku状态 } ] }, // 一个产品下,会有多个sku,都在这个skuList数组下 msg: "ok", status: 1, } const mutations = { INIT: (state, cartList) => { state.cartList = cartList; }, DEL:(state,index)=>{ console.log('mutations====>',state.cartList) state.cartList.splice(index,1) console.log('mutations====>index',index) // state.cartList=delList }, MODI:(state,args) => { console.log('the num',state.cartList[args.index].num) console.log('mutations====>isadd',args) if(args.isadd) { state.cartList[args.index].num=args.num } else{ state.cartList[args.index].num=args.num } console.log('the num',state.cartList[args.index].num) }, }; const actions = { getCartList({ commit }, param) { request({ url: cartList, data:param, success: (res) => { console.log('cart===>接口数据',res.data.data) // const resData = { // ...res, // data, // } commit('INIT', res.data.data) }, fail: (res) => { console.log("fail status === > ", res); }, complete: (res) => { console.log("complete status === > ", res); }, }) }, modiCart({ commit }, param) { const args=Object.assign({num:param.num},param.args) delete param.args request({ url: cartModi, data: param, success: (res) => { console.log('modi-parm',param) commit('MODI',args) }, fail: (res) => { console.log("fail status === > ", res); }, complete: (res) => { console.log("complete status === > ", res); }, }) }, delCart({ commit },param ) { let arg = param.arg; delete param.arg request({ url: cartDel, data: param, success: (res) => { console.log('del-parm',param) console.log('del-myparms==>',arg) // console.log('deacart====>cartList',this.$store.state.cart.cartList) commit('DEL',arg) }, fail: (res) => { console.log("fail status === > ", res); }, complete: (res) => { console.log("complete status === > ", res); }, }) }, addCart({ commit }, param) { console.log('请求接口开始') request({ url: cartAdd, data:param, success: (res) => { console.log('add-parm',param) console.log('addcart===>res.data===>',res.data) // commit('INIT', res.data.data) }, fail: (res) => { console.log("fail status === > ", res); }, complete: (res) => { console.log("complete status === > ", res); }, }) }, } export default { namespaced: true, state, mutations, actions, };