<!-- 剩余可销售商品数量 大于 0,且购买未达上限-->
<view wx:if="{{(detaildata.boughtNum < detaildata.buy_limit) && detaildata.stock_num > 0}}">
<button class="nav-detail add-car" open-type="getUserInfo" bindgetuserinfo="addcar" plain="true">加入购物车</button>
<button open-type="getUserInfo" class="nav-detail go-buy" bindgetuserinfo="toBuy" plain="true">马上购买</button>
</view>
<!-- 达到购买上限 -->
<view wx:if="{{detaildata.boughtNum >= detaildata.buy_limit && detaildata.stock_num > 0}}" class="inline-block maincolor achievelimit">本商品已达到个人购买上限 逛逛其他的吧</view>
<!-- 已抢光了 -->
<view wx:if="{{detaildata.stock_num == 0}}" class="inline-block maincolor achievelimit" style="line-height:60rpx;text-align:center;">宝贝已抢光了</view>




// 加入购物车
async addcar(){
var self = this;
let result = await api.shoppingCardList({}).then(res=>res)
if(result.data.code == 200){
self.carlist = result.data.data.onsale
self.carlistnum = result.data.data.onsale.length > 0?String(result.data.data.onsale.length):0
self.$apply();
if(self.carlist.length > 0){ //当购物车列表有数据,判断购物车是否有该商品
for(var i=0;i < self.carlist.length;i++){
if(self.carlist[i].prdId == self.prdId){ //当购物车已有该商品
if(parseInt(self.carlist[i].buy_num) >= self.detaildata.buy_limit_remain || parseInt(self.carlist[i].buy_num) >= self.detaildata.buy_limit){
//判断购物车该商品的购买量是否已达上限
self.$parent.toasttips('你已达到每人限购的数量', 'none')
return;
}
}
}
}
// 没达到上限,可继续购买
self.addincar(); }else if(result.data.code == 204){
// 无记录
self.carlist = []
self.$apply();
self.addincar();
}else if(result.data.code == 401){
// 存储触发登录的来源
wx.setStorageSync('prodetailsource','addbuy')
// 未登录
self.$broadcast('userLogin')
}
}
 // 添加购物车
addincar(){
var self = this;
const add2ShoppingCard = api.add2ShoppingCard(self.prdId,1); add2ShoppingCard.then((result) => { if(result.data.code == 200){
this.$parent.globalData.is_shoppingCard_update = true; self.$parent.toasttips('添加成功,在购物车等亲', 'none')
self.getcarlist() }else if(result.data.code == 401){
// 存储触发登录的来源
wx.setStorageSync('prodetailsource','addbuy')
// 未登录
self.$broadcast('userLogin')
} }).catch((err) => { });
}

封装好的api

//获取购物车商品列表
const shoppingCardList = params => {
return requestData(`${baseBuyUrl}/cart/list`)
} //购物车add
const add2ShoppingCard = (prdId, num) => {
return requestData(`${baseBuyUrl}/cart/add`,{
data:{
prdId: prdId,
num: num
},
header: {
'content-type': 'application/x-www-form-urlencoded',
'skey':wx.getStorageSync('getstoreskey')
},
method:'POST'
})
}

主要是在点击购物车的时候,先获取购物车所有的数据,如果没有再去调添加到购物车的接口.

最新文章

  1. DPA 9.1.85 升级到DPA 10.0.352流程
  2. showModalDialog 刷新问题,在页面中跳转问题
  3. Hadoop HDFS编程 API入门系列之简单综合版本1(四)
  4. 【BZOJ】1927: [Sdoi2010]星际竞速(费用流)
  5. js中String.prototype.format類似于.net中的string.formitz效果
  6. Eclipse中添加web dynamic project
  7. linux驱动分离分层的概念
  8. mysqldump常用参数
  9. 1561:The more, The Better - hdu
  10. Groovy学起来,这要和GRAILS,RUNDECK打成一片
  11. iOS开源 框架
  12. mysql优化 - mysql 的 hint
  13. 1、Servlet 2、ServletConfig 3、ServletContext 4、HttpUrlConnection
  14. grep, egrep, fgrep笔记
  15. HibernateTemplate 常用方法
  16. Scrambled Polygon(凸多边形,斜率)
  17. 怎样在android实现uc和墨迹天气那样的左右拖动效果
  18. 当@PathVariable遇上中文和点
  19. opencv批处理提取图像的特征
  20. Java数组的应用2:数组的最大,最小,求和,平均值,倒置

热门文章

  1. BUAA OO 2019 第四单元作业总结
  2. vue 生命周期的详解
  3. XML 约束
  4. day31-python之内置函数
  5. ssh修改端口
  6. Python学习日记(十三) 递归函数和二分查找算法
  7. mybatis的XML中注释需谨慎
  8. 【CMDB】高级配置
  9. Java Decompiler反编译Jar文件
  10. Linux命令——rsync