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() { 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) } })