cart.js 6.3 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) {
    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
}