// pages/cart/paymentPage/index.js import Toast from 'tdesign-miniprogram/toast/index'; const app = getApp() import { getPublicImage } from '../../../assets/js/middleGround/tool'; Page({ /** * 页面的初始数据 */ data: { loading: true, hidden: true, myOrderOrderNumber: [], orderNumber: null, navBarHeight: '', barHeight: '', selectedIds: '', purchasedIds: [], productList: [], payPrice: '', orderGoods: '', isPaySuccess: false, isPayComplete: false, type: '', onNorderSaleMethod: '', ImmediatelyReceive: '' }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { wx.setNavigationBarTitle({ title: '提交订单' }); 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), ImmediatelyReceive: res.payPrice }) console.log(this.data.ImmediatelyReceive); 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'); if (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() } } }); } else { Toast({ context: this, selector: '#t-toast', message: '支付失败', theme: 'warning', direction: 'column', }); } }) } }) } }, // 页面返回 navToBack() { this.getOrderByOrderNumData() // 返回 wx.navigateBack() }, onReceive() { let query = { orderNum: this.data.orderGoods } app.MG.store.confirmOrder(query).then(res => { Toast({ context: this, selector: '#t-toast', message: '领取成功', theme: 'success', direction: 'column', }); wx.navigateBack() }) } })