From b441f9ba6321408429f1ab5826e58716f947cf4f Mon Sep 17 00:00:00 2001 From: yvan.ni <765199919@qq.com> Date: Tue, 9 Jun 2020 17:37:36 +0800 Subject: [PATCH] 购物车和商品推荐列表的优化 --- components/goods_list/goods_list.js | 19 ++++++++++--------- components/goods_list/goods_list.wxss | 1 + pages/cart/cart/cart.js | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------- 3 files changed, 89 insertions(+), 84 deletions(-) diff --git a/components/goods_list/goods_list.js b/components/goods_list/goods_list.js index 3fe92f1..60e5404 100644 --- a/components/goods_list/goods_list.js +++ b/components/goods_list/goods_list.js @@ -146,16 +146,17 @@ Component({ var card_name_map = new Map(); var user = getApp().globalData.userInfo; - - for (var i = 0; i < plusCard.length; i++) { - if ((user.card_field==null || user.card_field=="") && (plusCard[i].IsStopBuy==true)) { - continue; + if(plusCard) { + for (var i = 0; i < plusCard.length; i++) { + if (user && (user.card_field == null || user.card_field == "") && (plusCard[i].IsStopBuy == true)) { + continue; + } + var name = "card" + plusCard[i].CorrPrice.toLowerCase(); + card_name_map.set(name, plusCard[i].CardName); + new_arr.push(plusCard[i]); + + } - var name = "card" + plusCard[i].CorrPrice.toLowerCase(); - card_name_map.set(name, plusCard[i].CardName); - new_arr.push(plusCard[i]); - - } var ob = { "card_list": new_arr, diff --git a/components/goods_list/goods_list.wxss b/components/goods_list/goods_list.wxss index 2814822..0c7f8dc 100644 --- a/components/goods_list/goods_list.wxss +++ b/components/goods_list/goods_list.wxss @@ -1,5 +1,6 @@ .collects { margin-top: 40rpx; + margin-bottom: 40rpx; } .ib { diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index c8fef47..5fb75d9 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -145,102 +145,105 @@ Page({ carr = su.data.data.pageData; var all_num = 0; - for (var i = 0; i < carr.length; i++) { - var item = carr[i]; - var good=null; - await getApp().request.promiseGet("/api/weshop/goods/get/"+os.stoid+"/"+item.goods_id,{}).then(res=>{ - good=res.data.data; - }) - var tt=ut.gettimestamp(); - //如果商品下架了,或者商品是赠品,一开始都要清除 - if((good.down_time>0 && good.down_time0) { + for (var i = 0; i < carr.length; i++) { + var item = carr[i]; + var good = null; + await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + item.goods_id, {}).then(res => { + good = res.data.data; + }) + var tt = ut.gettimestamp(); + //如果商品下架了,或者商品是赠品,一开始都要清除 + if ((good.down_time > 0 && good.down_time < tt) || good.is_on_sale == 0 || item.is_gift) { var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; getApp().request.delete(url, { - success: function(t) { } + success: function (t) { + } }); //商品已经下架 continue; - } - //如果秒杀活动都去掉了,或者结束了,那么这个商品也没有必要留着 - if(item.prom_type==1){ - var prom=null; - await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+item.prom_id,{ - }).then(res=>{ - if(res.data.code==0) prom=res.data.data; - }) - //---如果有活动,不算在一起--- - if(!prom && prom.is_end==0 && prom.end_time>now && prom.start_time { - if(res.data.code==0){ - var r_data=res.data.data; - if(!r_data.promGoodsLists){ - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; - a.delete(url, {}); - //商品已经下架 - isok=0; - } + } + //如果秒杀活动都去掉了,或者结束了,那么这个商品也没有必要留着 + if (item.prom_type == 1) { + var prom = null; + await getApp().request.promiseGet("/api/ms/flash_sale/get/" + os.stoid + "/" + item.prom_id, {}).then(res => { + if (res.data.code == 0) prom = res.data.data; + }) + //---如果有活动,不算在一起--- + if (!prom && prom.is_end == 0 && prom.end_time > now && prom.start_time < now) { + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; + a.delete(url, { + success: function (t) { } - else{ + }); + //商品已经下架 + continue; + } + } + //--判断优惠活动有没有过期-- + else if (item.prom_type == 3) { + var isok = 1; + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + item.goods_id + "/1", {}).then(res => { + if (res.data.code == 0) { + var r_data = res.data.data; + if (!r_data.promGoodsLists) { var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; - a.delete(url, { }); + a.delete(url, {}); //商品已经下架 - isok=0; + isok = 0; } + } else { + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; + a.delete(url, {}); + //商品已经下架 + isok = 0; + } }) - if(!isok) continue; - } + if (!isok) continue; + } - all_num += item.goods_num; - item.original_img = oo.imghost + item.original_img; - item.selected = 0; + all_num += item.goods_num; + item.original_img = oo.imghost + item.original_img; + item.selected = 0; - var pcid = item.pick_id; - var find = 0; - //---------循环查找门店--- - if (arr.length > 0) { - for (var j = 0; j < arr.length; j++) { - if (arr[j].pid == pcid) { - arr[j].goods.push(item); - find = 1; - break; + var pcid = item.pick_id; + var find = 0; + //---------循环查找门店--- + if (arr.length > 0) { + for (var j = 0; j < arr.length; j++) { + if (arr[j].pid == pcid) { + arr[j].goods.push(item); + find = 1; + break; + } } } - } - //------如果没有找到----- - if (find == 0) { - var pikname = ''; - //找到门店名称 - for (var k = 0; k < th.data.allsto.length; k++) { - if (pcid == th.data.allsto[k].pickup_id) { - pikname = th.data.allsto[k].pickup_name; - break; + //------如果没有找到----- + if (find == 0) { + var pikname = ''; + //找到门店名称 + for (var k = 0; k < th.data.allsto.length; k++) { + if (pcid == th.data.allsto[k].pickup_id) { + pikname = th.data.allsto[k].pickup_name; + break; + } } + var narr = new Array(); + narr.push(item); + var ie = { + pid: pcid, + pname: pikname, + goods: narr, + selected: 0 + }; + arr.push(ie); } - var narr = new Array(); - narr.push(item); - var ie = { - pid: pcid, - pname: pikname, - goods: narr, - selected: 0 - }; - arr.push(ie); } } + if(arr.length==0) { setTimeout(function () { var goods_list = th.selectComponent("#goods_list"); //组件的id -- libgit2 0.21.4