const {
  default: api
} = require("../../js/api");
const util = require('../../utils/util.js')

// pages/orderConfirm/orderConfirm.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    nozzleId: 0,
    type: '预支付',
    order: null
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.setData({
      nozzleId:options.nozzleId
    })
    const that = this;
    const eventChannel = this.getOpenerEventChannel();
    eventChannel.on('acceptDataFromQuantify', function (data) {
      console.log("获取到下单页的订单",data)
      that.setData({
        order:data
      })
    });
  },

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

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

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

  },

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

  },

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

  },

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

  },

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

  },

  /** 支付按钮点击事件 */
  toPay() {
    this.subMessage()
    // var that = this;
    // api.request_wechatPay(this.data.order.orderId).then(res => {
    //   console.log("支付结果", res)
    //   that.subMessage()
    //   // this.pay()
    // }).catch(err => {
    //   console.log("支付失败", err)
    // })
  },
  /** 订阅消息模板 */
  subMessage() {
    const that = this;
    wx.requestSubscribeMessage({
      tmplIds: ['V0tl-4n-5hwNZc4SrEttvrmawAyM-SB0pQWZNwp54Ks'], // 最多支持3条
      success(res) {
        that.pay()
        // 'accept'表示用户同意订阅该条id对应的模板消息
        if (res['V0tl-4n-5hwNZc4SrEttvrmawAyM-SB0pQWZNwp54Ks'] === 'accept') {
          // 用户同意订阅，调用云函数或服务器接口发送订阅消息
          // wx.cloud.callFunction({
          //   name: 'sendSubscribeMessage',
          //   data: {
          //     templateId: '配置好的模板ID',
          //     openid: 'o8pFb5cWH1KkBDvGls2X7yMiFkGA',
          //     data: {
          //       thing1: {
          //         value: '活动名称'
          //       },
          //       // 其他参数...
          //     }
          //   },
          //   success(res) {
          //     console.log('订阅消息发送成功', res)
          //   },
          //   fail(err) {
          //     console.error('订阅消息发送失败', err)
          //   }
          // })

        }
      },
      fail(err) {
        that.pay()
      }
    })


  },
  pay() {
    const that = this;
    api.request_wechatPay(this.data.order.orderId)
      .then(res => {
        wx.requestPayment({
          timeStamp: res.data.data.unifiedOrderResult.timeStamp,
          nonceStr: res.data.data.unifiedOrderResult.nonceStr,
          package: res.data.data.unifiedOrderResult.package,
          signType: res.data.data.unifiedOrderResult.signType,
          paySign: res.data.data.unifiedOrderResult.paySign,
          success: res => {
            wx.hideLoading()
            that.sendMessage()
            that.toPayResult(1)

          },
          fail: res => {
            wx.hideLoading()
            that.toPayResult(2)
          }
        })
      });
  },

  /** 发送消息模板 */
  sendMessage() {
    const message = {
      trxid: this.data.order.orderId,
      orderType: '支付'
    }
    api.request_sendMessage(message).then(res => {
      console.log("发送消息模板结果", res)
    }).catch(err => {
      console.log("发送消息模板失败", err)
    })
  },

  /** 跳到支付结果页面 */
  toPayResult(type){
    const that = this;
    setTimeout(() => {
      wx.navigateTo({
        url: '../payStatus/payStatus?id='+type+'&nozzleId='+that.data.nozzleId,
        success:function(res){
          res.eventChannel.emit('acceptDataFromAuthorization',that.data.order)
        }
      })
    },500)
  }
})