diy_seckill.js 5.2 KB
// var e = function(e) {
//       return e && e.__esModule ? e : {
//         default: e
//       };
//     }(require("../../utils/LoadMore3.js")),
//     n = new e.default(),
var   t = getApp(),
    a = t.request,
    o = t.globalData.setting,
    os = o,
    i = require("../../utils/util.js"),
    ut = i,
    s = require("../../utils/common.js");
var regeneratorRuntime = require('../../utils/runtime.js');
Component({
  properties: {
    // 这里定义了innerText属性,属性值可以在组件使用时指定
    object: {
      type: Object,
      value: null,
    },
    goods_array: {
      type: Array,
      value: []
    },
    newTime: {
      type: Number,
      value: 0
    },
  },
  data: {
    // 这里是一些组件内部数据
    yc: false,
    someData: null,
    ylp_img: "https://mshopimg.yolipai.net/",
    imghost: os.imghost,
    timer: null,
  },
  ready: function() {
    console.log("ready");
    var g_id = this.data.object.data;
    console.log(g_id);
    this.init(g_id);
  },
  detached() {
    // 页面被被销毁的时候,清除定时器
    clearInterval(this.data.timer);
  },
  methods: {
    // 这里是一个自定义方法
    customMethod: function() {},
    init: function(g_id) {
      var th = this, app = getApp(),all_array = [], goodsidlist="";

      //--先把商品ID串起来--
      g_id.forEach(function(val, ind) {
        var item = {};
        goodsidlist+=val.goodsid+",";
      })

      //--调用接口,读取秒杀--
      app.request.promiseGet("/api/ms/flash_sale/getGoodsList?store_id="
        +os.stoid+"&goodsidlist="+goodsidlist, {}).then(res => {
        //如果秒杀的数组为空的时候
      
        var goodslist=res.data.data;
        if(goodslist.length==0) return false;

        // 判断火热,预热
        var newTime = ut.gettimestamp();
        th.setData({newTime:newTime});
        // for(var a=0;a< goodslist.length;a++){
        //   var starTime=goodslist[a].start_time;
        //   var msStr=[];
        //   console.log(2222222222)
        //   console.log(starTime+":"+newTime)
        //   if (starTime>newTime){
        //     msStr.push()
        //     //th.setData({msText:'即将开始'});
        //    }
        //   if (starTime<newTime){
        //     th.setData({msText:'火热进行'});
        //   }
        // }
        /*--商品队列按照添加的顺序排列--*/
        g_id.forEach(function(val, ind) {
          goodslist.forEach(function (vy,indy) {
            if(val.goodsid==vy.goods_id){
              all_array.push(vy);
              th.setData({goods_array:arr});
            }
          })
        })
        if(all_array.length==0){
          all_array=goodslist;
        }

        var arr = new Array();
        //--三个三个一组---
        for(var i=0;i< all_array.length;i+=3){
          arr.push(all_array.slice(i,i+3));
        }
        /*--熏染到前台--*/

        th.setData({goods_array:arr});

        th.data.timer = setInterval(function() {
          th.countDown2(th);
        }, 1000);
      });
    },
    //---小于10的格式化函数----
    timeFormat: function(param) {
      return param < 10 ? '0' + param : param;
    },
    //----秒杀倒计时函数-----
    countDown2: function(ob) {
      if (ob == undefined) return false;
      var ee = ob;
      // 获取当前时间,同时得到活动结束时间数组
      var newTime = ut.gettimestamp();
      var List = ee.data.goods_array;
      if (List.length == 0) return false;
      for (var j = 0; j < List.length; j++) {
        // 对结束时间进行处理渲染到页面
        var endTimeList = List[j];
        for (var i = 0; i < endTimeList.length; i++) {
          var o = endTimeList[i];
          var endTime = o.end_time;
          if (newTime< o.start_time) endTime = o.start_time;
          let obj = null;
          // 如果活动未结束,对时间进行处理
          if (endTime - newTime > 0) {
            let time = (endTime - newTime);
            // 获取天、时、分、秒
            let day = parseInt(time / (60 * 60 * 24));
            let hou = parseInt(time % (60 * 60 * 24) / 3600);
            let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
            let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
            obj = {
              day: this.timeFormat(day),
              hou: this.timeFormat(hou),
              min: this.timeFormat(min),
              sec: this.timeFormat(sec)
            }
          } else {
            //活动已结束,全部设置为'00'
            obj = {
              day: '00',
              hou: '00',
              min: '00',
              sec: '00'
            }
          }
          var txt = "goods_array[" + j + "][" + i + "].djs";
          ee.setData({
            [txt]: obj
          });
        }
      }
    },
    //图片失败,默认图片
    bind_bnerr3: function (e) {
      var _errImg = e.target.dataset.errorimg;
      var _errObj = {};
      _errObj[_errImg] = "/public/images/default_goods_image_240.gif";
      this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
    },

    go_to_skill:function () {
      wx.navigateTo({
        url:"/pages/activity/seckill_list/seckill_list"
      });
    }
  },


})