| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 | 
							- // pages/snapUpList/snapUpList.js
 
- const app = getApp()
 
- var http = require('../../utils/http.js');
 
- var config = require('../../utils/config.js');
 
- var util = require('../../utils/util.js');
 
- Page({
 
-   /**
 
-    * 页面的初始数据
 
-    */
 
-   data: {
 
-     seckillList: [], // 秒杀商品列表
 
-     countDownList: [], // 秒杀倒计时列表
 
-     countDownEndTimeList:[],
 
-     timer: '',
 
-     current: 1,
 
-   },
 
-   /**
 
-    * 获取秒杀商品列表
 
-    */
 
-   getsklist() {
 
-     http.request({
 
-       url: "/seckill/pageProd",
 
-       method: "GET",
 
-       data: {
 
-         current: this.data.current,
 
-         size: 5,
 
-         lat: wx.getStorageSync('LATITUDE'),
 
-         lon: wx.getStorageSync('LONGITUDE'),
 
-         distance: wx.getStorageSync('DISTANCE')||0
 
-       },
 
-       callBack: (res) => {
 
-         let result = []
 
-         result = res.records.filter(item => util.dateToTimestamp(item.endTime) > new Date().getTime())
 
-         this.setData({
 
-           seckillList: res.current == 1 ? result : this.data.seckillList.concat(result),
 
-           pages: res.pages
 
-         })
 
-         let endTimeList = []; // 倒计时数组
 
-         for (let i = 0; i < this.data.seckillList.length; i++) {
 
-           var objs = {}
 
-           objs.eTime = this.data.seckillList[i].endTime
 
-           objs.sTime = this.data.seckillList[i].startTime
 
-           objs.countType = null //1表示秒杀活动正在进行,0表示秒杀活动未开始
 
-           endTimeList.push(objs)
 
-         }
 
-         this.setData({
 
-           countDownEndTimeList: endTimeList
 
-         })
 
-         this.countdown()
 
-       }
 
-     })
 
-   },
 
-   countdown() {
 
-     // 获取当前时间,同时得到活动结束时间数组
 
-     let newTime = new Date().getTime();
 
-     let endTimeList = this.data.countDownEndTimeList;
 
-     let countDownArr = [];
 
-     // 对结束时间进行处理渲染到页面
 
-     endTimeList.forEach(o => {
 
-       if (newTime - util.dateToTimestamp(o.sTime) > 0) {
 
-         let endTime = util.dateToTimestamp(o.eTime);
 
-         let obj = null;
 
-         // 如果活动未结束,对时间进行处理
 
-         if (endTime - newTime > 0) {
 
-           let time = (endTime - newTime) / 1000;
 
-           // 获取天、时、分、秒
 
-           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)}`,
 
-             type: 1 // 表示秒杀正在进行
 
-           }
 
-         }
 
-         // 活动已结束
 
-         else {
 
-           obj = {
 
-             day: '00',
 
-             hou: '00',
 
-             min: '00',
 
-             sec: '00'
 
-           }
 
-         }
 
-         countDownArr.push(obj);
 
-       }
 
-       // 活动未开始
 
-       else {
 
-         let startTime = util.dateToTimestamp(o.sTime);
 
-         let time = (startTime - newTime) / 1000;
 
-         let obj = null;
 
-         // 获取天、时、分、秒
 
-         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)}`,
 
-           type: 0 // 表示秒杀还没开始
 
-         }
 
-         countDownArr.push(obj);
 
-       }
 
-     })
 
-     // 渲染,然后每隔一秒执行一次倒计时函数
 
-     this.setData({
 
-       countDownList: countDownArr,
 
-       timer: setTimeout(this.countdown, 1000)
 
-     })
 
-   },
 
-   //小于10的格式化函数
 
-   timeFormat(times) {
 
-     return Number(times) < 10 ? '0' + times : times;
 
-   },
 
-   //跳转秒杀商品详情页
 
-   toSeckillDetaile: function(e) {
 
-     var seckillId = e.currentTarget.dataset.seckillid;
 
-     wx.navigateTo({
 
-       url: "../snapUpDetail/snapUpDetail?seckillid=" + seckillId,
 
-     })
 
-   },
 
-   /**
 
-    * 生命周期函数--监听页面加载
 
-    */
 
-   onLoad: function(options) {
 
-     this.getsklist(); //秒杀商品列表
 
-   },
 
-   /**
 
-    * 生命周期函数--监听页面初次渲染完成
 
-    */
 
-   onReady: function() {
 
-   },
 
-   /**
 
-    * 生命周期函数--监听页面显示
 
-    */
 
-   onShow: function() {
 
-   },
 
-   /**
 
-    * 生命周期函数--监听页面隐藏
 
-    */
 
-   onHide: function() {
 
-   },
 
-   /**
 
-    * 生命周期函数--监听页面卸载
 
-    */
 
-   onUnload: function() {
 
-     clearTimeout(this.data.timer)
 
-   },
 
-   /**
 
-    * 页面相关事件处理函数--监听用户下拉动作
 
-    */
 
-   onPullDownRefresh: function() {
 
-   },
 
-   /**
 
-    * 页面上拉触底事件的处理函数
 
-    */
 
-   onReachBottom: function() {
 
-     if(this.data.current < this.data.pages) {
 
-       this.setData({
 
-         current: this.data.current + 1
 
-       })
 
-       this.getsklist()
 
-     }
 
-   },
 
-   /**
 
-    * 用户点击右上角分享
 
-    */
 
-   onShareAppMessage: function() {
 
-   }
 
- })
 
 
  |