Commit b441f9ba6321408429f1ab5826e58716f947cf4f

Authored by yvan.ni
1 parent 6e5013a2

购物车和商品推荐列表的优化

components/goods_list/goods_list.js
@@ -146,16 +146,17 @@ Component({ @@ -146,16 +146,17 @@ Component({
146 var card_name_map = new Map(); 146 var card_name_map = new Map();
147 147
148 var user = getApp().globalData.userInfo; 148 var user = getApp().globalData.userInfo;
149 -  
150 - for (var i = 0; i < plusCard.length; i++) {  
151 - if ((user.card_field==null || user.card_field=="") && (plusCard[i].IsStopBuy==true)) {  
152 - continue; 149 + if(plusCard) {
  150 + for (var i = 0; i < plusCard.length; i++) {
  151 + if (user && (user.card_field == null || user.card_field == "") && (plusCard[i].IsStopBuy == true)) {
  152 + continue;
  153 + }
  154 + var name = "card" + plusCard[i].CorrPrice.toLowerCase();
  155 + card_name_map.set(name, plusCard[i].CardName);
  156 + new_arr.push(plusCard[i]);
  157 +
  158 +
153 } 159 }
154 - var name = "card" + plusCard[i].CorrPrice.toLowerCase();  
155 - card_name_map.set(name, plusCard[i].CardName);  
156 - new_arr.push(plusCard[i]);  
157 -  
158 -  
159 } 160 }
160 var ob = { 161 var ob = {
161 "card_list": new_arr, 162 "card_list": new_arr,
components/goods_list/goods_list.wxss
1 .collects { 1 .collects {
2 margin-top: 40rpx; 2 margin-top: 40rpx;
  3 + margin-bottom: 40rpx;
3 } 4 }
4 5
5 .ib { 6 .ib {
pages/cart/cart/cart.js
@@ -145,102 +145,105 @@ Page({ @@ -145,102 +145,105 @@ Page({
145 carr = su.data.data.pageData; 145 carr = su.data.data.pageData;
146 var all_num = 0; 146 var all_num = 0;
147 147
148 - for (var i = 0; i < carr.length; i++) {  
149 - var item = carr[i];  
150 - var good=null;  
151 - await getApp().request.promiseGet("/api/weshop/goods/get/"+os.stoid+"/"+item.goods_id,{}).then(res=>{  
152 - good=res.data.data;  
153 - })  
154 - var tt=ut.gettimestamp();  
155 - //如果商品下架了,或者商品是赠品,一开始都要清除  
156 - if((good.down_time>0 && good.down_time<tt) || good.is_on_sale==0 || item.is_gift ){ 148 + if(carr && carr.length>0) {
  149 + for (var i = 0; i < carr.length; i++) {
  150 + var item = carr[i];
  151 + var good = null;
  152 + await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + item.goods_id, {}).then(res => {
  153 + good = res.data.data;
  154 + })
  155 + var tt = ut.gettimestamp();
  156 + //如果商品下架了,或者商品是赠品,一开始都要清除
  157 + if ((good.down_time > 0 && good.down_time < tt) || good.is_on_sale == 0 || item.is_gift) {
157 var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; 158 var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
158 getApp().request.delete(url, { 159 getApp().request.delete(url, {
159 - success: function(t) { } 160 + success: function (t) {
  161 + }
160 }); 162 });
161 //商品已经下架 163 //商品已经下架
162 continue; 164 continue;
163 - }  
164 - //如果秒杀活动都去掉了,或者结束了,那么这个商品也没有必要留着  
165 - if(item.prom_type==1){  
166 - var prom=null;  
167 - await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+item.prom_id,{  
168 - }).then(res=>{  
169 - if(res.data.code==0) prom=res.data.data;  
170 - })  
171 - //---如果有活动,不算在一起---  
172 - if(!prom && prom.is_end==0 && prom.end_time>now && prom.start_time<now){  
173 - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;  
174 - a.delete(url, {  
175 - success: function(t) { }  
176 - });  
177 - //商品已经下架  
178 - continue;  
179 - }  
180 - }  
181 - //--判断优惠活动有没有过期--  
182 - else if(item.prom_type==3){  
183 - var isok=1;  
184 - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+item.goods_id+"/1", {}).then(res => {  
185 - if(res.data.code==0){  
186 - var r_data=res.data.data;  
187 - if(!r_data.promGoodsLists){  
188 - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;  
189 - a.delete(url, {});  
190 - //商品已经下架  
191 - isok=0;  
192 - } 165 + }
  166 + //如果秒杀活动都去掉了,或者结束了,那么这个商品也没有必要留着
  167 + if (item.prom_type == 1) {
  168 + var prom = null;
  169 + await getApp().request.promiseGet("/api/ms/flash_sale/get/" + os.stoid + "/" + item.prom_id, {}).then(res => {
  170 + if (res.data.code == 0) prom = res.data.data;
  171 + })
  172 + //---如果有活动,不算在一起---
  173 + if (!prom && prom.is_end == 0 && prom.end_time > now && prom.start_time < now) {
  174 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  175 + a.delete(url, {
  176 + success: function (t) {
193 } 177 }
194 - else{ 178 + });
  179 + //商品已经下架
  180 + continue;
  181 + }
  182 + }
  183 + //--判断优惠活动有没有过期--
  184 + else if (item.prom_type == 3) {
  185 + var isok = 1;
  186 + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + item.goods_id + "/1", {}).then(res => {
  187 + if (res.data.code == 0) {
  188 + var r_data = res.data.data;
  189 + if (!r_data.promGoodsLists) {
195 var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; 190 var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
196 - a.delete(url, { }); 191 + a.delete(url, {});
197 //商品已经下架 192 //商品已经下架
198 - isok=0; 193 + isok = 0;
199 } 194 }
  195 + } else {
  196 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  197 + a.delete(url, {});
  198 + //商品已经下架
  199 + isok = 0;
  200 + }
200 }) 201 })
201 - if(!isok) continue;  
202 - } 202 + if (!isok) continue;
  203 + }
203 204
204 - all_num += item.goods_num;  
205 - item.original_img = oo.imghost + item.original_img;  
206 - item.selected = 0; 205 + all_num += item.goods_num;
  206 + item.original_img = oo.imghost + item.original_img;
  207 + item.selected = 0;
207 208
208 209
209 - var pcid = item.pick_id;  
210 - var find = 0;  
211 - //---------循环查找门店---  
212 - if (arr.length > 0) {  
213 - for (var j = 0; j < arr.length; j++) {  
214 - if (arr[j].pid == pcid) {  
215 - arr[j].goods.push(item);  
216 - find = 1;  
217 - break; 210 + var pcid = item.pick_id;
  211 + var find = 0;
  212 + //---------循环查找门店---
  213 + if (arr.length > 0) {
  214 + for (var j = 0; j < arr.length; j++) {
  215 + if (arr[j].pid == pcid) {
  216 + arr[j].goods.push(item);
  217 + find = 1;
  218 + break;
  219 + }
218 } 220 }
219 } 221 }
220 - }  
221 222
222 - //------如果没有找到-----  
223 - if (find == 0) {  
224 - var pikname = '';  
225 - //找到门店名称  
226 - for (var k = 0; k < th.data.allsto.length; k++) {  
227 - if (pcid == th.data.allsto[k].pickup_id) {  
228 - pikname = th.data.allsto[k].pickup_name;  
229 - break; 223 + //------如果没有找到-----
  224 + if (find == 0) {
  225 + var pikname = '';
  226 + //找到门店名称
  227 + for (var k = 0; k < th.data.allsto.length; k++) {
  228 + if (pcid == th.data.allsto[k].pickup_id) {
  229 + pikname = th.data.allsto[k].pickup_name;
  230 + break;
  231 + }
230 } 232 }
  233 + var narr = new Array();
  234 + narr.push(item);
  235 + var ie = {
  236 + pid: pcid,
  237 + pname: pikname,
  238 + goods: narr,
  239 + selected: 0
  240 + };
  241 + arr.push(ie);
231 } 242 }
232 - var narr = new Array();  
233 - narr.push(item);  
234 - var ie = {  
235 - pid: pcid,  
236 - pname: pikname,  
237 - goods: narr,  
238 - selected: 0  
239 - };  
240 - arr.push(ie);  
241 } 243 }
242 } 244 }
243 245
  246 +
244 if(arr.length==0) { 247 if(arr.length==0) {
245 setTimeout(function () { 248 setTimeout(function () {
246 var goods_list = th.selectComponent("#goods_list"); //组件的id 249 var goods_list = th.selectComponent("#goods_list"); //组件的id