Commit 5452327e71aa86a7db07fc2d5de1b7791cbc472a

Authored by yvan.ni
1 parent c5458174

1. 秒杀,只有会员重新登陆之后,才重新调用,优化速度

2.  底部导航使用缓存技术,不实时调用接口
3.  首页再使用自定义模板的时候,就不能调用默认的接口
4.  判断要不要弹出全屏广告
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 //当隐藏的时候就关闭计时器