// pages/cart/paymentPage/index.js
|
import Toast from 'tdesign-miniprogram/toast/index';
|
const app = getApp()
|
import {
|
getPublicImage
|
} from '../../../assets/js/middleGround/tool';
|
import drawQrcode from './js/weapp.qrcode'
|
Page({
|
|
/**
|
* 页面的初始数据
|
*/
|
data: {
|
loading: true,
|
hidden: true,
|
myOrderOrderNumber: [],
|
orderNumber: null,
|
navBarHeight: '',
|
barHeight: '',
|
selectedIds: '',
|
purchasedIds: [],
|
productList: [],
|
payPrice: '',
|
orderGoods: '',
|
isPaySuccess: false,
|
isPayComplete: false,
|
type: '',
|
onNorderSaleMethod: ''
|
},
|
|
/**
|
* 生命周期函数--监听页面加载
|
*/
|
onLoad(options) {
|
const systInfo = wx.getSystemInfoSync();
|
const menu = wx.getMenuButtonBoundingClientRect(); // 胶囊信息
|
const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 导航栏高度
|
this.setData({
|
orderNumber: options.orderNumber,
|
navBarHeight: navBarHeight,
|
barHeight: systInfo.statusBarHeight,
|
selectedIds: options.selectedIds,
|
onNorderSaleMethod: options.onNorderSaleMethod
|
})
|
console.log(this.data.onNorderSaleMethod, 'options');
|
this.getOrderByOrderNumData()
|
this.getDataList()
|
},
|
|
/**
|
* 生命周期函数--监听页面初次渲染完成
|
*/
|
onReady() {
|
|
},
|
|
/**
|
* 生命周期函数--监听页面显示
|
*/
|
onShow() {
|
|
},
|
|
/**
|
* 生命周期函数--监听页面隐藏
|
*/
|
onHide() {
|
|
},
|
|
/**
|
* 生命周期函数--监听页面卸载
|
*/
|
onUnload() {
|
|
},
|
|
/**
|
* 页面相关事件处理函数--监听用户下拉动作
|
*/
|
onPullDownRefresh() {
|
|
},
|
|
/**
|
* 页面上拉触底事件的处理函数
|
*/
|
onReachBottom() {
|
|
},
|
|
/**
|
* 用户点击右上角分享
|
*/
|
onShareAppMessage() {
|
|
},
|
goBack() {
|
wx.navigateBack();
|
},
|
|
|
getOrderByOrderNumData() {
|
console.log(this.data.orderNumber, 'this.data.orderNumber');
|
let query = {
|
orderNum: this.data.orderNumber,
|
fields: {
|
content: [],
|
subtitle: [],
|
|
|
}
|
}
|
app.MG.store.getOrderByOrderNum(query).then(res => {
|
console.log(res, 'res');
|
this.setData({
|
orderGoods: res.orderNumber
|
})
|
console.log(this.data.orderGoods, 'res.orderNumber');
|
|
console.log(res.payPrice);
|
this.setData({
|
payPrice: res.payPrice.toFixed(2)
|
})
|
res.saleMethodLinks.forEach(item => {
|
console.log(item.type, 'item.type');
|
|
const type = item.orderSaleMethod.type == 'createProductItemSaleMethod' ? 'item' : 'product';
|
item.type = type; // 将type设置为item对象的属性,而不是使用setData
|
item.paymentIcon = getPublicImage(item.orderSaleMethod.product.icon)
|
console.log(item.type, 'item');
|
})
|
this.setData({
|
productList: res.saleMethodLinks,
|
// type: item.orderSaleMethod.type == 'createProductItemSaleMethod' ? 'item' : 'product'
|
loading: false,
|
hidden: false,
|
})
|
|
})
|
},
|
getDataList() {
|
let data = {
|
start: 0,
|
size: 999,
|
filterList: [{
|
field: 'State',
|
value: 'WaitPay'
|
}],
|
sort: {
|
type: 'Desc',
|
field: 'CreateDate'
|
}
|
}
|
app.MG.store.getUserOrderList(data).then((res) => {
|
res.datas.forEach((item) => {
|
this.data.myOrderOrderNumber.push(item.saleMethodLinks[0].orderSaleMethod.id)
|
console.log(this.data.myOrderOrderNumber);
|
})
|
})
|
},
|
confirmOrderGet() {
|
if (this.data.myOrderOrderNumber.includes(parseInt(this.data.onNorderSaleMethod))) {
|
Toast({
|
context: this,
|
selector: '#t-toast',
|
message: '已经在订单中',
|
theme: 'warning',
|
direction: 'column',
|
});
|
} else {
|
var that = this;
|
let query = {
|
orderNum: this.data.orderGoods
|
}
|
app.MG.store.confirmOrder(query).then(res => {
|
console.log(res.orderNumber, 'res');
|
if (res.orderNumber) {
|
let resOrderNum = {
|
orderNum: res.orderNumber,
|
platform: "WeChatAppCustom"
|
};
|
console.log(resOrderNum, 'resOrderNum');
|
// 用户未绑定微信 报500
|
app.MG.store.makeWeChatPay(resOrderNum).then(payRes => {
|
console.log(payRes, 'payRes');
|
const payVal = JSON.parse(payRes);
|
console.log(payVal);
|
wx.requestPayment({
|
"appId": payVal.appId,
|
"timeStamp": payVal.timeStamp,
|
"nonceStr": payVal.nonceStr,
|
"package": payVal.package,
|
"signType": payVal.signType,
|
"paySign": payVal.paySign,
|
success: function (res) {
|
console.log('支付成功');
|
if (res.errMsg == 'requestPayment:ok') {
|
that.setData({
|
isPaySuccess: true
|
})
|
}
|
},
|
fail: function (res) {
|
console.log('支付失败');
|
},
|
// 无论支付成功失败都会调用
|
"complete": function (res) {
|
if (res.errMsg == 'requestPayment:ok') {
|
that.setData({
|
isPayComplete: true
|
})
|
}
|
if (that.data.isPaySuccess && that.data.isPayComplete) {
|
that.navToBack()
|
}
|
}
|
});
|
})
|
}
|
})
|
}
|
|
},
|
// 页面返回
|
navToBack() {
|
|
// 返回
|
wx.navigateBack()
|
},
|
})
|