Commit 5452327e71aa86a7db07fc2d5de1b7791cbc472a
1 parent
c5458174
1. 秒杀,只有会员重新登陆之后,才重新调用,优化速度
2. 底部导航使用缓存技术,不实时调用接口 3. 首页再使用自定义模板的时候,就不能调用默认的接口 4. 判断要不要弹出全屏广告
Showing
4 changed files
with
182 additions
and
132 deletions
components/diy_seckill/diy_seckill.js
| ... | ... | @@ -35,6 +35,7 @@ Component({ |
| 35 | 35 | ylp_img: "https://mshopimg.yolipai.net/", |
| 36 | 36 | imghost: os.imghost, |
| 37 | 37 | timer: null, |
| 38 | + user_id:0 | |
| 38 | 39 | }, |
| 39 | 40 | |
| 40 | 41 | pageLifetimes: { |
| ... | ... | @@ -43,7 +44,12 @@ Component({ |
| 43 | 44 | //会员身份变化 |
| 44 | 45 | var th = this; |
| 45 | 46 | var g_id = this.data.object; |
| 46 | - this.init(g_id); | |
| 47 | + //只有再会员登陆之后,才重新调用接口 | |
| 48 | + | |
| 49 | + if(this.data.user_id!=getApp().globalData.user_id){ | |
| 50 | + this.data.user_id=getApp().globalData.user_id | |
| 51 | + this.init(g_id); | |
| 52 | + } | |
| 47 | 53 | setTimeout(function () { |
| 48 | 54 | if (th.data.goods_array && th.data.goods_array.length > 0) { |
| 49 | 55 | th.data.timer = setInterval(function () { |
| ... | ... | @@ -62,6 +68,7 @@ Component({ |
| 62 | 68 | ready: function () { |
| 63 | 69 | var g_id = this.data.object; |
| 64 | 70 | this.init(g_id); |
| 71 | + this.data.user_id=getApp().globalData.user_id; | |
| 65 | 72 | }, |
| 66 | 73 | detached() { |
| 67 | 74 | // 页面被被销毁的时候,清除定时器 | ... | ... |
custom-tab-bar/index.js
| ... | ... | @@ -9,33 +9,43 @@ Component({ |
| 9 | 9 | list:app.def_list, |
| 10 | 10 | cartGoodsNum:0, |
| 11 | 11 | }, |
| 12 | - | |
| 13 | 12 | |
| 14 | 13 | lifetimes: { |
| 15 | 14 | attached: function() { |
| 16 | 15 | var th=this; |
| 17 | - | |
| 18 | 16 | getApp().promiseGet("/api/weshop/storeDistribut/get/"+os.stoid,{}).then(rs=>{ |
| 19 | 17 | var dis=rs.data.data; |
| 20 | 18 | if( dis && dis.switch==0){ |
| 21 | 19 | th.setData({is_no_distri:1}) |
| 22 | 20 | } |
| 23 | - }) | |
| 24 | - | |
| 25 | - getApp().promiseGet("/store/storemoduleendtime/page?store_id=" +os.stoid + "&type=5",{}).then(res=>{ | |
| 26 | - if(res.data.code==0){ | |
| 27 | - var arr = res.data.data.pageData; | |
| 28 | - if (arr.length > 0) { | |
| 29 | - var item=arr[0]; | |
| 30 | - if(item.is_sy==0){ | |
| 31 | - var now = Date.parse(new Date());now = now / 1000; | |
| 32 | - if(item.end_time<now) th.setData({is_no_distri:1}) | |
| 33 | - } | |
| 34 | - } | |
| 35 | - } | |
| 36 | 21 | }) |
| 37 | - | |
| 38 | - | |
| 22 | + | |
| 23 | + //购买的信息用全局缓存 | |
| 24 | + if(getApp().globalData.dis_buy_obj){ | |
| 25 | + var arr = getApp().globalData.dis_buy_obj; | |
| 26 | + if (arr.length > 0) { | |
| 27 | + var item=arr[0]; | |
| 28 | + if(item.is_sy==0){ | |
| 29 | + var now = Date.parse(new Date());now = now / 1000; | |
| 30 | + if(item.end_time<now) th.setData({is_no_distri:1}) | |
| 31 | + } | |
| 32 | + } | |
| 33 | + }else{ | |
| 34 | + getApp().promiseGet("/store/storemoduleendtime/page?store_id=" +os.stoid + "&type=5",{}).then(res=>{ | |
| 35 | + if(res.data.code==0){ | |
| 36 | + var arr = res.data.data.pageData; | |
| 37 | + getApp().globalData.dis_buy_obj=arr; | |
| 38 | + if (arr.length > 0) { | |
| 39 | + var item=arr[0]; | |
| 40 | + if(item.is_sy==0){ | |
| 41 | + var now = Date.parse(new Date());now = now / 1000; | |
| 42 | + if(item.end_time<now) th.setData({is_no_distri:1}) | |
| 43 | + } | |
| 44 | + } | |
| 45 | + } | |
| 46 | + }) | |
| 47 | + } | |
| 48 | + | |
| 39 | 49 | //购物车显示商品金额 |
| 40 | 50 | this.setData({cartGoodsNum:getApp().globalData.cartGoodsNum}); |
| 41 | 51 | var th=this; |
| ... | ... | @@ -47,24 +57,37 @@ Component({ |
| 47 | 57 | this.set_list(custum_data); |
| 48 | 58 | } |
| 49 | 59 | }else{ |
| 50 | - var stoid=os.stoid | |
| 51 | - getApp().request.promiseGet("/api/weshop/storeFooter/get/"+stoid, { | |
| 52 | - }).then(res => { | |
| 53 | - getApp().globalData.is_read=true; | |
| 54 | - var e = res; | |
| 55 | - if(e.data.code != -1 && e.data.data && e.data.data.data){ | |
| 56 | - var itemList = e.data.data.data; | |
| 57 | - itemList = JSON.parse(itemList) | |
| 58 | - //如果是有定义自定义导航的小程序链接 | |
| 59 | - if(itemList[0].weappurl && itemList[0].weappurl!=""){ | |
| 60 | - getApp().globalData.custum_data=e.data.data; | |
| 61 | - var custum_data=e.data.data; | |
| 62 | - th.set_list(custum_data); | |
| 63 | - } | |
| 64 | - | |
| 65 | - } | |
| 66 | - | |
| 67 | - }) | |
| 60 | + | |
| 61 | + //全局缓存 | |
| 62 | + if(getApp().globalData.storeFooter) { | |
| 63 | + var itemList = getApp().globalData.storeFooter; | |
| 64 | + itemList = JSON.parse(itemList) | |
| 65 | + //-- 如果是有定义自定义导航的小程序链接 -- | |
| 66 | + if (itemList[0].weappurl && itemList[0].weappurl != "") { | |
| 67 | + getApp().globalData.custum_data = e.data.data; | |
| 68 | + var custum_data = e.data.data; | |
| 69 | + th.set_list(custum_data); | |
| 70 | + } | |
| 71 | + | |
| 72 | + }else{ | |
| 73 | + var stoid = os.stoid; | |
| 74 | + getApp().request.promiseGet("/api/weshop/storeFooter/get/" + stoid, {}).then(res => { | |
| 75 | + getApp().globalData.is_read = true; | |
| 76 | + var e = res; | |
| 77 | + if (e.data.code != -1 && e.data.data && e.data.data.data) { | |
| 78 | + var itemList = e.data.data.data; | |
| 79 | + getApp().globalData.storeFooter=itemList; | |
| 80 | + itemList = JSON.parse(itemList) | |
| 81 | + //-- 如果是有定义自定义导航的小程序链接 -- | |
| 82 | + if (itemList[0].weappurl && itemList[0].weappurl != "") { | |
| 83 | + getApp().globalData.custum_data = e.data.data; | |
| 84 | + var custum_data = e.data.data; | |
| 85 | + th.set_list(custum_data); | |
| 86 | + } | |
| 87 | + } | |
| 88 | + | |
| 89 | + }) | |
| 90 | + } | |
| 68 | 91 | } |
| 69 | 92 | }, |
| 70 | 93 | }, | ... | ... |
pages/index/index/full_screen.js
| 1 | 1 | module.exports = { |
| 2 | 2 | //判断要不要显示全屏广告 |
| 3 | 3 | get_the_full_screen(th){ |
| 4 | - var stoid=getApp().globalData.setting.stoid; | |
| 5 | - if(th.data.full_ad) { | |
| 4 | + var stoid=getApp().globalData.setting.stoid; | |
| 5 | + if(getApp().globalData.full_screen) { | |
| 6 | + return false; | |
| 7 | + } | |
| 8 | + if(th.data.full_ad) { | |
| 6 | 9 | return false; |
| 7 | 10 | } |
| 11 | + | |
| 8 | 12 | //获取全屏的广告 |
| 9 | 13 | getApp().promiseGet("/api/weshop/ad/page?pid=1001&store_id=" + stoid,{ |
| 10 | 14 | data: { enabled: 1 } |
| 11 | 15 | }).then(res=>{ |
| 12 | - //判断是不是有全屏广告 | |
| 13 | - if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0){ | |
| 14 | - th.setData({ | |
| 15 | - is_full_screen_show:1, | |
| 16 | - full_ad:res.data.data.pageData[0], | |
| 17 | - }) | |
| 18 | - //--定时关闭-- | |
| 19 | - th.data.full_screen=setInterval(function(){ | |
| 20 | - if(!th.data.sec_show) { | |
| 21 | - clearInterval(th.data.full_screen); | |
| 22 | - th.close_full_screen(); | |
| 23 | - return false; | |
| 24 | - } | |
| 25 | - th.data.sec_show--; | |
| 26 | - th.setData({sec_show:th.data.sec_show}); | |
| 27 | - },1000) | |
| 28 | - } | |
| 16 | + //判断是不是有全屏广告 | |
| 17 | + if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0){ | |
| 18 | + getApp().globalData.full_screen=res.data.data.pageData[0]; | |
| 19 | + th.setData({ | |
| 20 | + is_full_screen_show:1, | |
| 21 | + full_ad:res.data.data.pageData[0], | |
| 22 | + }) | |
| 23 | + //--定时关闭-- | |
| 24 | + th.data.full_screen=setInterval(function(){ | |
| 25 | + if(!th.data.sec_show) { | |
| 26 | + clearInterval(th.data.full_screen); | |
| 27 | + th.close_full_screen(); | |
| 28 | + return false; | |
| 29 | + } | |
| 30 | + th.data.sec_show--; | |
| 31 | + th.setData({sec_show:th.data.sec_show}); | |
| 32 | + },1000) | |
| 33 | + }else{ | |
| 34 | + getApp().globalData.full_screen=true; | |
| 35 | + } | |
| 29 | 36 | }) |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 30 | 41 | } |
| 31 | 42 | } |
| 32 | 43 | \ No newline at end of file | ... | ... |
pages/index/index/index.js
| ... | ... | @@ -318,74 +318,99 @@ Page({ |
| 318 | 318 | } |
| 319 | 319 | } |
| 320 | 320 | |
| 321 | - var pre_data={store_id:os.stoid,is_end:0,timetype:1,isuse:1}; | |
| 322 | - if(user_id){ | |
| 323 | - pre_data.user_id= user_id; | |
| 324 | - } | |
| 321 | + console.log(this.data.isTemplate,'首页'); | |
| 325 | 322 | |
| 326 | - getApp().request.get("/api/weshop/marketing/marketingPresellList/page",{ | |
| 327 | - data:pre_data, | |
| 328 | - success:function (e) { | |
| 329 | - if(e.data.code==0 && e.data.data.pageData && e.data.data.pageData.length>0 ){ | |
| 330 | - var pre_data=e.data.data.pageData; | |
| 331 | - var arr = new Array(); | |
| 332 | - //--三个三个一组--- | |
| 333 | - for (var i = 0; i < pre_data.length; i += 3) { | |
| 334 | - arr.push(pre_data.slice(i, i + 3)); | |
| 323 | + if(!this.data.isTemplate){ | |
| 324 | + var pre_data={store_id:os.stoid,is_end:0,timetype:1,isuse:1}; | |
| 325 | + if(user_id){ | |
| 326 | + pre_data.user_id= user_id; | |
| 327 | + } | |
| 328 | + | |
| 329 | + getApp().request.get("/api/weshop/marketing/marketingPresellList/page",{ | |
| 330 | + data:pre_data, | |
| 331 | + success:function (e) { | |
| 332 | + if(e.data.code==0 && e.data.data.pageData && e.data.data.pageData.length>0 ){ | |
| 333 | + var pre_data=e.data.data.pageData; | |
| 334 | + var arr = new Array(); | |
| 335 | + //--三个三个一组--- | |
| 336 | + for (var i = 0; i < pre_data.length; i += 3) { | |
| 337 | + arr.push(pre_data.slice(i, i + 3)); | |
| 338 | + } | |
| 339 | + th.setData({ | |
| 340 | + preGoods: arr | |
| 341 | + }); | |
| 342 | + }else{ | |
| 343 | + th.setData({ | |
| 344 | + preGoods: null | |
| 345 | + }); | |
| 335 | 346 | } |
| 347 | + } | |
| 348 | + }) | |
| 349 | + | |
| 350 | + // 获取幸运购活动列表 | |
| 351 | + getApp().request.promiseGet('/api/weshop/prom/luckyActivity/page', { | |
| 352 | + data: { | |
| 353 | + store_id: getApp().globalData.setting.stoid, | |
| 354 | + is_end: 0, | |
| 355 | + timetype: 1, | |
| 356 | + } | |
| 357 | + }).then(res => { | |
| 358 | + if(res.data.code == 0) { | |
| 336 | 359 | th.setData({ |
| 337 | - preGoods: arr | |
| 360 | + luckGo_list: res.data.data.pageData.slice(0,3), | |
| 361 | + }); | |
| 362 | + } | |
| 363 | + }); | |
| 364 | + | |
| 365 | + //-----秒杀----- | |
| 366 | + var flash_data = null; | |
| 367 | + var f_req={ | |
| 368 | + store_id: os.stoid, | |
| 369 | + timetype: 2, | |
| 370 | + is_end: 0, | |
| 371 | + is_show: 1, | |
| 372 | + pageSize: 9, | |
| 373 | + user_id:0 | |
| 374 | + }; | |
| 375 | + if(user_id) f_req.user_id=user_id; | |
| 376 | + //--获取活动-- | |
| 377 | + await getApp().request.promiseGet("/api/ms/flash_sale/spikepage", { | |
| 378 | + data:f_req , | |
| 379 | + }).then(res => { | |
| 380 | + var e = res; | |
| 381 | + if (e.data.code == 0) { | |
| 382 | + flash_data = e.data.data.pageData; | |
| 383 | + if (flash_data == null || flash_data.length <= 0) return false; | |
| 384 | + | |
| 385 | + //当前时间戳 | |
| 386 | + var nt = ut.gettimestamp(); | |
| 387 | + | |
| 388 | + flash_data.forEach(function (val, ind) { | |
| 389 | + | |
| 390 | + if(val.user_price) val.price=val.user_price; | |
| 391 | + if (val.start_time > nt) flash_data[ind].status = 0; | |
| 392 | + else if (val.end_time > nt) flash_data[ind].status = 1; | |
| 393 | + if (val.buy_num >= val.goods_num) flash_data[ind].status = 2; | |
| 338 | 394 | }); |
| 339 | - }else{ | |
| 395 | + | |
| 396 | + var arr = new Array(); | |
| 397 | + //--三个三个一组--- | |
| 398 | + for (var i = 0; i < flash_data.length; i += 3) { | |
| 399 | + arr.push(flash_data.slice(i, i + 3)); | |
| 400 | + } | |
| 340 | 401 | th.setData({ |
| 341 | - preGoods: null | |
| 402 | + saleGoods: arr | |
| 342 | 403 | }); |
| 343 | 404 | } |
| 344 | - } | |
| 345 | - }) | |
| 405 | + }); | |
| 406 | + | |
| 407 | + } | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 346 | 412 | |
| 347 | 413 | |
| 348 | - //-----秒杀----- | |
| 349 | - var flash_data = null; | |
| 350 | - var f_req={ | |
| 351 | - store_id: os.stoid, | |
| 352 | - timetype: 2, | |
| 353 | - is_end: 0, | |
| 354 | - is_show: 1, | |
| 355 | - pageSize: 9, | |
| 356 | - user_id:0 | |
| 357 | - }; | |
| 358 | - if(user_id) f_req.user_id=user_id; | |
| 359 | - //--获取活动-- | |
| 360 | - await getApp().request.promiseGet("/api/ms/flash_sale/spikepage", { | |
| 361 | - data:f_req , | |
| 362 | - }).then(res => { | |
| 363 | - var e = res; | |
| 364 | - if (e.data.code == 0) { | |
| 365 | - flash_data = e.data.data.pageData; | |
| 366 | - if (flash_data == null || flash_data.length <= 0) return false; | |
| 367 | - | |
| 368 | - //当前时间戳 | |
| 369 | - var nt = ut.gettimestamp(); | |
| 370 | - | |
| 371 | - flash_data.forEach(function (val, ind) { | |
| 372 | - | |
| 373 | - if(val.user_price) val.price=val.user_price; | |
| 374 | - if (val.start_time > nt) flash_data[ind].status = 0; | |
| 375 | - else if (val.end_time > nt) flash_data[ind].status = 1; | |
| 376 | - if (val.buy_num >= val.goods_num) flash_data[ind].status = 2; | |
| 377 | - }); | |
| 378 | - | |
| 379 | - var arr = new Array(); | |
| 380 | - //--三个三个一组--- | |
| 381 | - for (var i = 0; i < flash_data.length; i += 3) { | |
| 382 | - arr.push(flash_data.slice(i, i + 3)); | |
| 383 | - } | |
| 384 | - th.setData({ | |
| 385 | - saleGoods: arr | |
| 386 | - }); | |
| 387 | - } | |
| 388 | - }); | |
| 389 | 414 | |
| 390 | 415 | |
| 391 | 416 | |
| ... | ... | @@ -394,7 +419,7 @@ Page({ |
| 394 | 419 | var json_d = JSON.parse(e.switch_list); |
| 395 | 420 | th.setData({ is_closecoupon: json_d.is_closecoupon }) |
| 396 | 421 | th.setData({ is_topstore: json_d.is_show_storeselect }) |
| 397 | - th.setData({is_gz_h5:json_d.is_gz_h5}) | |
| 422 | + if(json_d.is_gz_h5) th.setData({is_gz_h5:json_d.is_gz_h5}) | |
| 398 | 423 | }, 1) |
| 399 | 424 | |
| 400 | 425 | if (typeof this.getTabBar === 'function' && this.getTabBar()) { |
| ... | ... | @@ -403,7 +428,7 @@ Page({ |
| 403 | 428 | active: index //数字是当前页面在tabbar的索引 |
| 404 | 429 | }) |
| 405 | 430 | |
| 406 | - //sty | |
| 431 | + | |
| 407 | 432 | getApp().requestCardNum(this); |
| 408 | 433 | } |
| 409 | 434 | |
| ... | ... | @@ -434,22 +459,6 @@ Page({ |
| 434 | 459 | } |
| 435 | 460 | }, 1500) |
| 436 | 461 | |
| 437 | - | |
| 438 | - // 获取幸运购活动列表 | |
| 439 | - getApp().request.promiseGet('/api/weshop/prom/luckyActivity/page', { | |
| 440 | - data: { | |
| 441 | - store_id: getApp().globalData.setting.stoid, | |
| 442 | - is_end: 0, | |
| 443 | - timetype: 1, | |
| 444 | - } | |
| 445 | - }).then(res => { | |
| 446 | - if(res.data.code == 0) { | |
| 447 | - th.setData({ | |
| 448 | - luckGo_list: res.data.data.pageData.slice(0,3), | |
| 449 | - }); | |
| 450 | - } | |
| 451 | - }); | |
| 452 | - | |
| 453 | 462 | |
| 454 | 463 | }, |
| 455 | 464 | //当隐藏的时候就关闭计时器 | ... | ... |