Commit b441f9ba6321408429f1ab5826e58716f947cf4f
1 parent
6e5013a2
购物车和商品推荐列表的优化
Showing
3 changed files
with
89 additions
and
84 deletions
components/goods_list/goods_list.js
... | ... | @@ -146,16 +146,17 @@ Component({ |
146 | 146 | var card_name_map = new Map(); |
147 | 147 | |
148 | 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 | 161 | var ob = { |
161 | 162 | "card_list": new_arr, | ... | ... |
components/goods_list/goods_list.wxss
pages/cart/cart/cart.js
... | ... | @@ -145,102 +145,105 @@ Page({ |
145 | 145 | carr = su.data.data.pageData; |
146 | 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 | 158 | var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; |
158 | 159 | getApp().request.delete(url, { |
159 | - success: function(t) { } | |
160 | + success: function (t) { | |
161 | + } | |
160 | 162 | }); |
161 | 163 | //商品已经下架 |
162 | 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 | 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 | 247 | if(arr.length==0) { |
245 | 248 | setTimeout(function () { |
246 | 249 | var goods_list = th.selectComponent("#goods_list"); //组件的id | ... | ... |