// pages/cart/paymentPage/index.js const app = getApp() import { getPublicImage } from '../../../assets/js/middleGround/tool'; import drawQrcode from './js/weapp.qrcode' Page({ /** * 页面的初始数据 */ data: { orderNumber: null, navBarHeight: '', barHeight: '', selectedIds: '', purchasedIds: [], productList: [], payPrice: '', orderGoods: '', isPaySuccess: false, isPayComplete: false, type: '' }, /** * 生命周期函数--监听页面加载 */ 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 }) console.log('接收到的订单号:', this.data.orderNumber); this.getOrderByOrderNumData() }, /** * 生命周期函数--监听页面初次渲染完成 */ 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' }) }) }, confirmOrderGet() { 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); 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() }, })