yiming
2024-04-02 312fd09aaf90c0e52ab61bde22d0edbf105baa5e
pages/cart/paymentPage/index.js
@@ -1,6 +1,8 @@
// pages/cart/paymentPage/index.js
const app = getApp()
import { getPublicImage } from '../../../assets/js/middleGround/tool';
import {
  getPublicImage
} from '../../../assets/js/middleGround/tool';
import drawQrcode from './js/weapp.qrcode'
Page({
@@ -16,6 +18,9 @@
    productList: [],
    payPrice: '',
    orderGoods: '',
    isPaySuccess: false,
    isPayComplete: false,
    type: ''
  },
  /**
@@ -32,7 +37,7 @@
      selectedIds: options.selectedIds
    })
    console.log('接收到的订单号:', this.data.orderNumber);
    this.getOrderByOrderNum()
    this.getOrderByOrderNumData()
  },
  /**
@@ -88,7 +93,8 @@
  },
  getOrderByOrderNum() {
  getOrderByOrderNumData() {
    console.log(this.data.orderNumber, 'this.data.orderNumber');
    let query = {
      orderNum: this.data.orderNumber,
      fields: {
@@ -110,37 +116,76 @@
        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.orderSaleMethod.type);
        this.setData({
          productList: res.saleMethodLinks,
          type: item.orderSaleMethod.type == 'createProductItemSaleMethod' ? 'item' : 'product'
        })
        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) {
        const resOrderNum = {
        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()
              }
            }
          });
        })
      }
      // this.makeWeChatQrPayGet()
    })
    // 调取微信二维码支付
  },
  // 页面返回
  navToBack() {
    // 返回
    wx.navigateBack()
  },
})