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