takeGroupBuy.js 5.4 KB
// pages/my/takeGroupBuy/takeGroupBuy.js
const app = getApp()
const time = require('../../../utils/util.js');
Page({

  /**
   * 页面的初始数据
   */
  data: {
    group_info: "",
    take_info: '',
    is_agree: false,
    rule: '',
    group_id: '',
    countDownList: [],
    actEndTimeList: [],
    goodsList: [{
      actEndTime: ''
    }],
    countdown: '',
    endDate2: ''
  },

           
  //查看详情
  listDetail(e) {
    var id = e.currentTarget.dataset.id
    wx.navigateTo({
      url: '/pages/my/groupBuyDetail/groupBuyDetail?id=' + id,
    })
  },

  //参与的组团
  takeGroup() {
    var that = this
    let url = '/portal/Group/group_detail'
    let params = {
      // id: wx.getStorageSync('group_id')
      id: this.data.group_id
    }
    let header = {
      "XX-Token": wx.getStorageSync('token')
    }
    app.post(url, params, header).then((res) => {
      console.log(res.info.over_time)
      that.setData({
        group_info: res.info,
        endDate2: res.info.over_time.replace(/-/g, "/")
      })
      this.countTime()
    })
  },


  //团购规则
  getRule() {
    let url = '/wxapp/public/arc_group'
    let params = {}
    let header = {
      "XX-Token": wx.getStorageSync('token')
    }
    app.post(url, {}, {}).then((res) => {
      console.log('团购规则', res)
      this.setData({
        rule: res
      })
    })
  },

  //发起团购
  goPay() {
    let url = '/portal/Group/group_join'
    let params = {
      // id: wx.getStorageSync('group_id')
      id: this.data.group_id
    }
    let header = {
      "XX-Token": wx.getStorageSync('token')
    }
    app.post(url, params, header).then((res) => {
      console.log(res)
      this.setData({
        take_info: res.info
      })
      this.wxPay(res.pay)
    })
  },

  //发起团购支付
  wxPay(data) {
    const self = this;
    if (self.data.is_agree) {
      wx.requestPayment({
        'timeStamp': data.timeStamp,
        'nonceStr': data.nonceStr,
        'package': data.package,
        'signType': 'MD5',
        'paySign': data.paySign,
        'success': function(res) {
          console.log(res)
          wx.showToast({
            title: '支付成功',
            icon: 'success',
            success: function() {
              setTimeout(function() {
                const params = {
                  rule: self.data.rule,
                  pay_info: self.data.pay_info,
                }
                wx.navigateTo({
                  url: '/pages/my/groupBuy/groupBuy',
                })
              }, 500)
            }
          });
        },
        'fail': function(res) {}
      })
    } else {
      wx.showToast({
        title: '请同意服务协议',
        icon: 'none'
      })
    }
  },

  //同意协议按钮
  agree() {
    this.setData({
      is_agree: !this.data.is_agree
    })
  },

  //服务协议
  serviceProtocol() {
    wx.navigateTo({
      url: '/pages/my/protocol/protocol',
    })
  },

  checkMobile(){
    let url = '/portal/Index/check_mobile'
    let params = {}
    let header = {
      "XX-Token": wx.getStorageSync('token')
    }
    app.post(url, params, header).then((res) => {
      if (res.is_binding==0){
        wx.navigateTo({
          url: '/pages/index/phone-code/phone-code',
        })
      }
    })
  },

  countTime() {
    var that = this;
    var date = new Date();
    var now = date.getTime();
    var endDate = new Date(that.data.endDate2);//设置截止时间
    var end = endDate.getTime();
    var leftTime = end - now; //时间差                              
    var d, h, m, s, ms;
    if (leftTime >= 0) {
      d = Math.floor(leftTime / 1000 / 60 / 60 / 24);
      h = Math.floor(leftTime / 1000 / 60 / 60 % 24);
      m = Math.floor(leftTime / 1000 / 60 % 60);
      s = Math.floor(leftTime / 1000 % 60);
      ms = Math.floor(leftTime % 1000);
      ms = ms < 100 ? "0" + ms : ms
      s = s < 10 ? "0" + s : s
      m = m < 10 ? "0" + m : m
      h = h < 10 ? "0" + h : h
      that.setData({
        countdown:  h + ":" + m + ":" + s,
      })
      //递归每秒调用countTime方法,显示动态时间效果
      setTimeout(that.countTime, 100);
    } else {
      console.log('已截止')
      that.setData({
        countdown: '00:00:00'
      })
    }

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    console.log(options.group_id)
    this.setData({
      group_id: options.group_id
    })
    this.takeGroup()
    this.getRule()
    wx.getSetting({
      success: (res) => {
        console.log(res)
        if (res.authSetting['scope.userInfo'] == undefined) {
          wx.navigateTo({
            url: '/pages/start/start',
          })
        }
      },
      fail: (res) => {
        console.log(res)
        wx.navigateTo({
          url: '/pages/start/start',
        })
      }
    })


  },

 

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {
    this.checkMobile()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {

  }
})