Commit b441f9ba6321408429f1ab5826e58716f947cf4f

Authored by yvan.ni
1 parent 6e5013a2

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

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
1 1 .collects {
2 2 margin-top: 40rpx;
  3 + margin-bottom: 40rpx;
3 4 }
4 5  
5 6 .ib {
... ...
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
... ...