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) { const 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 }