From 72c9af72e4164e232714948aef01bdb2f444f6e9 Mon Sep 17 00:00:00 2001 From: yvan.ni Date: Mon, 6 Sep 2021 16:43:03 +0800 Subject: [PATCH] 1. 商品分组 自动加载更多 2. 购物车卡慢优化 3. 自定有模板的时候顶部的文字颜色自定义 --- components/diy_goodsGroup/diy_goodsGroup.wxml | 2 ++ pages/cart/cart/cart.js | 75 ++++++++++++++++++++++++++++++++++++++++----------------------------------- pages/cart/cart/cart.wxss | 2 +- pages/index/index/index.js | 7 ++++++- pages/index/index/index.wxml | 2 +- pages/index/index/index.wxss | 2 +- pages/template/index.js | 8 +++++++- 7 files changed, 58 insertions(+), 40 deletions(-) diff --git a/components/diy_goodsGroup/diy_goodsGroup.wxml b/components/diy_goodsGroup/diy_goodsGroup.wxml index 4d6aede..8f6347c 100644 --- a/components/diy_goodsGroup/diy_goodsGroup.wxml +++ b/components/diy_goodsGroup/diy_goodsGroup.wxml @@ -615,6 +615,8 @@ + -- 没有更多 -- + diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index bd76b36..3d6b546 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -218,9 +218,40 @@ Page({ var all_num = 0; if(carr && carr.length>0) { + var g_arr=[]; + for (var i = 0; i < carr.length; i++) { + if(g_arr.length==0) g_arr.push(carr[i].goods_id); + else{ + var ind=g_arr.findIndex(function (ele) { + return ele.goods_id==carr[i].goods_id + }) + if(ind>-1) continue; + g_arr.push(carr[i].goods_id) + } + } + + var by_map=null; + //--要获得商品,该用户买了多少件,同步应用-- + await getApp().request.promiseGet("/api/weshop/ordergoods/listUserBuyGoodsNum", { + data: { + store_id: oo.stoid, + user_id: user_id, + goods_ids: g_arr.join(','), + + }, + }).then(res => { + if(res.data.code && res.data.data && res.data.data.length>0){ + by_map={}; + for(let i in res.data.data){ + let item=res.data.data[i]; + by_map[item.goods_id]=item; + } + } + }) + for (var i = 0; i < carr.length; i++) { var item = carr[i]; - var good = null; + var good = item; if(item.is_gift){ var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; getApp().request.delete(url, { @@ -231,18 +262,6 @@ Page({ continue; } - await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + item.goods_id, {}).then(res => { - good = res.data.data; - }) - if(!good){ - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; - getApp().request.delete(url, { - success: function (t) { - } - }); - continue; - } - var tt = ut.gettimestamp(); //如果商品下架了,或者商品是赠品,一开始都要清除 if ((good.down_time > 0 && good.down_time < tt) || good.is_on_sale == 0) { @@ -255,24 +274,11 @@ Page({ continue; } var goodsbuynum=0,promgoodsbuynum=0,limit=0; + if(by_map && by_map[good.goods_id]){ + goodsbuynum=by_map[good.goods_id].goodsbuynum; + promgoodsbuynum=by_map[good.goods_id].promgoodsbuynum; + } - - //--要获得商品,该用户买了多少件,同步应用-- - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { - data: { - store_id: oo.stoid, - user_id: user_id, - goods_id: item.goods_id, - prom_type: item.prom_type, - prom_id: item.prom_id - }, - }).then(res => { - var buy_num_data = res.data.data; - if (buy_num_data.promgoodsbuynum) { - promgoodsbuynum = buy_num_data.promgoodsbuynum; - } - goodsbuynum = buy_num_data.goodsbuynum; - }) limit=good.viplimited; //判断商品的限购 if(item.goods_num+goodsbuynum>limit && limit>0){ @@ -283,7 +289,7 @@ Page({ continue; } //-- 购物车更新 -- - var updata1={id: item.id,goods_num:cbuy }; + var updata1={id: item.id,goods_num:cbuy,store_id:os.stoid,user_id:getApp().globalData.userInfo.user_id }; getApp().request.put("/api/weshop/cart/update", { data: updata1, }) @@ -316,7 +322,7 @@ Page({ continue; } //-- 购物车更新 -- - var updata1={id: item.id,goods_num:cbuy }; + var updata1={id: item.id,goods_num:cbuy,store_id:os.stoid,user_id:getApp().globalData.userInfo.user_id }; getApp().request.put("/api/weshop/cart/update", { data: updata1, }) @@ -437,7 +443,6 @@ Page({ }) } - all_num += item.goods_num; item.original_img = oo.imghost + item.original_img; item.selected = 0; @@ -446,13 +451,13 @@ Page({ //当商品要计算等级价的售 if(item.prom_type == 0 || item.prom_type == 3 || item.prom_type == 5 || item.prom_type == 7){ - if(th.data.card_field){ + if(th.data.card_field && good[th.data.card_field]){ item.goods_price=good[th.data.card_field]; //要同步下线商品的id }else{ item.goods_price=good.shop_price; } - var t=item; + var t={id:item.id,store_id:os.stoid,user_id:getApp().globalData.userInfo.user_id,goods_price:item.goods_price} getApp().request.put("/api/weshop/cart/update", {isShowLoading:0,data: t,}) } diff --git a/pages/cart/cart/cart.wxss b/pages/cart/cart/cart.wxss index ad51080..f20149c 100644 --- a/pages/cart/cart/cart.wxss +++ b/pages/cart/cart/cart.wxss @@ -153,7 +153,7 @@ radio { height: 110rpx; position: fixed; left: 0; - bottom: 110rpx; + bottom: 100rpx; font-size: 28rpx; color: #666; background-color: rgb(255, 255, 255); diff --git a/pages/index/index/index.js b/pages/index/index/index.js index 05e9df8..a7360d1 100644 --- a/pages/index/index/index.js +++ b/pages/index/index/index.js @@ -376,8 +376,13 @@ Page({ //---如果有设定顶部的颜色的时候-- if(temp_data.top_color && temp_data.top_color!='null' ){ + + var top_w_color="#ffffff"; + if(temp_data.top_word_color && temp_data.top_word_color=='black'){ + top_w_color="#000000"; + } wx.setNavigationBarColor({ - frontColor: '#ffffff', // 必写项 + frontColor: top_w_color, // 必写项 backgroundColor: temp_data.top_color, // 必写项 }) } diff --git a/pages/index/index/index.wxml b/pages/index/index/index.wxml index 10213e3..80e8d29 100644 --- a/pages/index/index/index.wxml +++ b/pages/index/index/index.wxml @@ -312,7 +312,7 @@ - + diff --git a/pages/index/index/index.wxss b/pages/index/index/index.wxss index fb87eb7..ee02ba1 100644 --- a/pages/index/index/index.wxss +++ b/pages/index/index/index.wxss @@ -969,7 +969,7 @@ page { overflow-x: hidden; - padding-bottom: 120rpx; + padding-bottom: 100rpx; /* background-color: #f7f8fa; */ } diff --git a/pages/template/index.js b/pages/template/index.js index 75a3f69..3bd7694 100644 --- a/pages/template/index.js +++ b/pages/template/index.js @@ -59,8 +59,14 @@ Page({ //---如果有设定顶部的颜色的时候-- if(temp_data.top_color && temp_data.top_color!='null' ){ + + var top_w_color="#ffffff"; + if(temp_data.top_word_color && temp_data.top_word_color=='black'){ + top_w_color="#000000"; + } + wx.setNavigationBarColor({ - frontColor: '#ffffff', // 必写项 + frontColor: top_w_color, // 必写项 backgroundColor: temp_data.top_color, // 必写项 }) } -- libgit2 0.21.4