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 | ... | ... |