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,6 +35,7 @@ Component({ | ||
35 | ylp_img: "https://mshopimg.yolipai.net/", | 35 | ylp_img: "https://mshopimg.yolipai.net/", |
36 | imghost: os.imghost, | 36 | imghost: os.imghost, |
37 | timer: null, | 37 | timer: null, |
38 | + user_id:0 | ||
38 | }, | 39 | }, |
39 | 40 | ||
40 | pageLifetimes: { | 41 | pageLifetimes: { |
@@ -43,7 +44,12 @@ Component({ | @@ -43,7 +44,12 @@ Component({ | ||
43 | //会员身份变化 | 44 | //会员身份变化 |
44 | var th = this; | 45 | var th = this; |
45 | var g_id = this.data.object; | 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 | setTimeout(function () { | 53 | setTimeout(function () { |
48 | if (th.data.goods_array && th.data.goods_array.length > 0) { | 54 | if (th.data.goods_array && th.data.goods_array.length > 0) { |
49 | th.data.timer = setInterval(function () { | 55 | th.data.timer = setInterval(function () { |
@@ -62,6 +68,7 @@ Component({ | @@ -62,6 +68,7 @@ Component({ | ||
62 | ready: function () { | 68 | ready: function () { |
63 | var g_id = this.data.object; | 69 | var g_id = this.data.object; |
64 | this.init(g_id); | 70 | this.init(g_id); |
71 | + this.data.user_id=getApp().globalData.user_id; | ||
65 | }, | 72 | }, |
66 | detached() { | 73 | detached() { |
67 | // 页面被被销毁的时候,清除定时器 | 74 | // 页面被被销毁的时候,清除定时器 |
custom-tab-bar/index.js
@@ -9,33 +9,43 @@ Component({ | @@ -9,33 +9,43 @@ Component({ | ||
9 | list:app.def_list, | 9 | list:app.def_list, |
10 | cartGoodsNum:0, | 10 | cartGoodsNum:0, |
11 | }, | 11 | }, |
12 | - | ||
13 | 12 | ||
14 | lifetimes: { | 13 | lifetimes: { |
15 | attached: function() { | 14 | attached: function() { |
16 | var th=this; | 15 | var th=this; |
17 | - | ||
18 | getApp().promiseGet("/api/weshop/storeDistribut/get/"+os.stoid,{}).then(rs=>{ | 16 | getApp().promiseGet("/api/weshop/storeDistribut/get/"+os.stoid,{}).then(rs=>{ |
19 | var dis=rs.data.data; | 17 | var dis=rs.data.data; |
20 | if( dis && dis.switch==0){ | 18 | if( dis && dis.switch==0){ |
21 | th.setData({is_no_distri:1}) | 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 | this.setData({cartGoodsNum:getApp().globalData.cartGoodsNum}); | 50 | this.setData({cartGoodsNum:getApp().globalData.cartGoodsNum}); |
41 | var th=this; | 51 | var th=this; |
@@ -47,24 +57,37 @@ Component({ | @@ -47,24 +57,37 @@ Component({ | ||
47 | this.set_list(custum_data); | 57 | this.set_list(custum_data); |
48 | } | 58 | } |
49 | }else{ | 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 | module.exports = { | 1 | module.exports = { |
2 | //判断要不要显示全屏广告 | 2 | //判断要不要显示全屏广告 |
3 | get_the_full_screen(th){ | 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 | return false; | 9 | return false; |
7 | } | 10 | } |
11 | + | ||
8 | //获取全屏的广告 | 12 | //获取全屏的广告 |
9 | getApp().promiseGet("/api/weshop/ad/page?pid=1001&store_id=" + stoid,{ | 13 | getApp().promiseGet("/api/weshop/ad/page?pid=1001&store_id=" + stoid,{ |
10 | data: { enabled: 1 } | 14 | data: { enabled: 1 } |
11 | }).then(res=>{ | 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 | \ No newline at end of file | 43 | \ No newline at end of file |
pages/index/index/index.js
@@ -318,74 +318,99 @@ Page({ | @@ -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 | th.setData({ | 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 | th.setData({ | 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,7 +419,7 @@ Page({ | ||
394 | var json_d = JSON.parse(e.switch_list); | 419 | var json_d = JSON.parse(e.switch_list); |
395 | th.setData({ is_closecoupon: json_d.is_closecoupon }) | 420 | th.setData({ is_closecoupon: json_d.is_closecoupon }) |
396 | th.setData({ is_topstore: json_d.is_show_storeselect }) | 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 | }, 1) | 423 | }, 1) |
399 | 424 | ||
400 | if (typeof this.getTabBar === 'function' && this.getTabBar()) { | 425 | if (typeof this.getTabBar === 'function' && this.getTabBar()) { |
@@ -403,7 +428,7 @@ Page({ | @@ -403,7 +428,7 @@ Page({ | ||
403 | active: index //数字是当前页面在tabbar的索引 | 428 | active: index //数字是当前页面在tabbar的索引 |
404 | }) | 429 | }) |
405 | 430 | ||
406 | - //sty | 431 | + |
407 | getApp().requestCardNum(this); | 432 | getApp().requestCardNum(this); |
408 | } | 433 | } |
409 | 434 | ||
@@ -434,22 +459,6 @@ Page({ | @@ -434,22 +459,6 @@ Page({ | ||
434 | } | 459 | } |
435 | }, 1500) | 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 | //当隐藏的时候就关闭计时器 |