mirror of
https://gitee.com/elegant_wings/dbd-meeting-wx-small.git
synced 2025-06-22 04:19:36 +08:00
197 lines
4.3 KiB
JavaScript
197 lines
4.3 KiB
JavaScript
import Notify from '@vant/weapp/notify/notify';
|
|
|
|
import {
|
|
meetingRoomPayOrderRq,
|
|
selectReservationByIdRq,
|
|
} from "../../../../api/meeting/meetingRoom.js"
|
|
|
|
import {
|
|
wxPaySignRq,
|
|
wxMerchantOrderQueryRq
|
|
} from "../../../../api/pay/pay.js"
|
|
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
countdownTime: 0, // 单位毫秒
|
|
timeData: {},
|
|
showPay: false,
|
|
detail: {}
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad(options) {
|
|
let _this = this;
|
|
_this.setData({
|
|
...options
|
|
})
|
|
// 获取详细信息
|
|
_this.getDetail();
|
|
},
|
|
|
|
// 获取详细信息
|
|
getDetail() {
|
|
let _this = this;
|
|
selectReservationByIdRq(_this.data.id).then(res => {
|
|
let detail = res.data;
|
|
// 支付时间 = 订单创建时间 + 5分钟
|
|
let payTime = new Date(detail.createTime).getTime() + 5 * 60 * 1000
|
|
// 当前时间
|
|
let nowTime = new Date().getTime();
|
|
// 还剩多长时间
|
|
let residueTime = payTime - nowTime;
|
|
// 订单时间过期
|
|
if (residueTime < 0) {
|
|
residueTime = 1
|
|
}
|
|
_this.setData({
|
|
detail,
|
|
countdownTime: residueTime, // 单位毫秒
|
|
})
|
|
})
|
|
},
|
|
|
|
// 时间改变
|
|
changeTime(e) {
|
|
let _this = this;
|
|
this.setData({
|
|
timeData: e.detail,
|
|
});
|
|
// 倒计时
|
|
let hours = e.detail.hours
|
|
let minutes = e.detail.minutes
|
|
let seconds = e.detail.seconds
|
|
// 倒计时结束
|
|
if (hours <= 0 && minutes <= 0 && seconds <= 0) {
|
|
// 消息提示
|
|
Notify({
|
|
message: '订单已过期!',
|
|
color: '#FB4B4B',
|
|
background: '#FBE9E9',
|
|
duration: 5000,
|
|
});
|
|
_this.setData({
|
|
showPay: false,
|
|
});
|
|
} else {
|
|
_this.setData({
|
|
showPay: true,
|
|
});
|
|
}
|
|
},
|
|
|
|
// 确认支付
|
|
payComplete() {
|
|
let _this = this;
|
|
wxPaySignRq({
|
|
prepayId: _this.data.detail.prepayId
|
|
}).then(res => {
|
|
console.log('wxPaySignRq', res);
|
|
// 唤起支付
|
|
_this.callPay(res.data)
|
|
})
|
|
},
|
|
|
|
// 唤起支付
|
|
callPay(data) {
|
|
let _this = this;
|
|
wx.requestPayment({
|
|
timeStamp: data.timeStamp,
|
|
nonceStr: data.nonceStr,
|
|
package: data.prepayId,
|
|
signType: data.signType,
|
|
paySign: data.paySign,
|
|
success(res) {
|
|
console.log('success', res);
|
|
|
|
},
|
|
fail(res) {
|
|
console.log('fail', res);
|
|
|
|
},
|
|
complete(res) {
|
|
console.log('complete', res);
|
|
// 查询订单详情
|
|
_this.wxMerchantOrderQuery()
|
|
}
|
|
})
|
|
},
|
|
|
|
// 查询订单详情
|
|
wxMerchantOrderQuery() {
|
|
let _this = this
|
|
wxMerchantOrderQueryRq({
|
|
outTradeNo: _this.data.detail.oderNumber
|
|
}).then(res => {
|
|
console.log('wxMerchantOrderQuery', res);
|
|
if (res.code == '200') {
|
|
Notify({
|
|
type: 'primary',
|
|
message: res.msg
|
|
});
|
|
wx.reLaunch({
|
|
url: '/pages/meeting/pay/waitComplete/waitComplete',
|
|
})
|
|
} else {
|
|
Notify({
|
|
type: 'warning',
|
|
message: res.msg
|
|
});
|
|
}
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage() {
|
|
|
|
}
|
|
}) |