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 | //当隐藏的时候就关闭计时器 | ... | ... |