小程序添加购物车,简单易懂且常用逻辑

144 阅读1分钟
 // 添加购物车
  add_cart() {
    // console.log(123);
    // 获取购物车数据或空,第一次获取是空,
    let getStorag = wx.getStorageSync('cart') || [];    
    // (如果从本地取出来的数据id===定义的总数据的id) == -1,
    if (getStorag.findIndex(v => v.goods_id === this.data.detailList.goods_id) == -1) {
      //不存在 第一次添加加字段num=1  push 追加
      this.data.detailList.num = 1;
      // 添加字段checked 购物车要用但是数据里没有
      this.data.detailList.checked = true;
      getStorag.push(this.data.detailList)
    } else {
      // 已存在 num++ 让当前的++
      getStorag[getStorag.findIndex(v => v.goods_id === this.data.detailList.goods_id)].num++;
    }
    // 添加到本地存储
    wx.setStorageSync('cart', getStorag)
    wx.showToast({
      title: '添加购物车', //提示的内容,
      icon: 'success', //图标,
      duration: 1500, //延迟时间,
      mask: true, //显示透明蒙层,防止触摸穿透,
      success: res => { }
    });

  }