cart.js 5.57 KB
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,
};