123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- // pages/specialDiscount/specialDiscount.js
- var http = require('../../utils/http.js');
- var util = require('../../utils/util.js');
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- discountList: [], //优惠活动列表
- current: 1, // 当前页数
- pages: 1, // 总页数
- endTimeList: [], //结束时间
- timer: ''
- },
- // 获取优惠活动列表
- getDiscountPage (cur) {
- wx.showLoading();
- var ths = this;
- http.request({
- url: "/marking/discount/getDiscountList",
- data: {
- current: cur, //当前页
- size: 10
- },
- method: "GET",
- callBack: (res) => {
- var list = [];
- if (res.current == 1) {
- list = res.records;
- } else {
- list = ths.data.discountList;
- Array.prototype.push.apply(list, res.records);
- }
- var endTimeList = [];
- list.forEach(item => {
- endTimeList.push({ endTime: item.endTime });
- })
- this.setData({
- discountList: list,
- pages: res.pages,
- endTimeList: endTimeList,
- current: res.current
- })
- this.countTime()
- wx.hideLoading()
- }
- })
- },
- // 倒计时
- countTime () {
- var endTimeList = this.data.endTimeList
- endTimeList.forEach((item, index) => {
- // 获取当前时间
- let date = new Date()
- let now = date.getTime()
- // 设置截止时间
- let end = util.dateToTimestamp(item.endTime)
- // 时间差
- let leftTime = end - now
- // 定义变量 d,h,m,s保存倒计时的时间
- if (leftTime >= 0) {
- // 天
- item.day = Math.floor(leftTime / 1000 / 60 / 60 / 24)
- // 时
- let h = Math.floor(leftTime / 1000 / 60 / 60 % 24)
- item.hour = h < 10 ? '0' + h : h
- // 分
- let m = Math.floor(leftTime / 1000 / 60 % 60)
- item.min = m < 10 ? '0' + m : m
- // 秒
- let s = Math.floor(leftTime / 1000 % 60)
- item.second = s < 10 ? '0' + s : s
- } else {
- item.day = 0
- item.hour = '00'
- item.min = '00'
- item.second = '00'
- }
- })
- this.setData({
- endTimeList: endTimeList
- })
- // 递归每秒调用countTime方法,显示动态时间效果,
- this.setData({
- timer: setTimeout(this.countTime, 1000)
- })
- },
- //跳转活动详情
- toDiscountDetail (e) {
- var discountId = e.currentTarget.dataset.discountid
- wx.navigateTo({
- url: '../discountDetail/discountDetail?discountId=' + discountId
- })
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- this.getDiscountPage(1) //默认加载第一页
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady: function () {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () {
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function () {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function () {
- clearTimeout(this.data.timer)
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom: function () {
- if (this.data.current < this.data.pages) {
- this.getDiscountPage(this.data.current + 1);
- }
- },
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage: function () {
- }
- })
|