yiming
2024-04-11 a9bd2df4da1cf7b198db7bf2d67ce8adbbe89b32
pages/cart/paymentPage/index.js
@@ -1,4 +1,5 @@
// pages/cart/paymentPage/index.js
import Toast from 'tdesign-miniprogram/toast/index';
const app = getApp()
import {
  getPublicImage
@@ -10,6 +11,9 @@
   * 页面的初始数据
   */
  data: {
    loading: true,
    hidden: true,
    myOrderOrderNumber: [],
    orderNumber: null,
    navBarHeight: '',
    barHeight: '',
@@ -20,7 +24,8 @@
    orderGoods: '',
    isPaySuccess: false,
    isPayComplete: false,
    type: ''
    type: '',
    onNorderSaleMethod: ''
  },
  /**
@@ -34,10 +39,12 @@
      orderNumber: options.orderNumber,
      navBarHeight: navBarHeight,
      barHeight: systInfo.statusBarHeight,
      selectedIds: options.selectedIds
      selectedIds: options.selectedIds,
      onNorderSaleMethod: options.onNorderSaleMethod
    })
    console.log('接收到的订单号:', this.data.orderNumber);
    console.log(this.data.onNorderSaleMethod, 'options');
    this.getOrderByOrderNumData()
    this.getDataList()
  },
  /**
@@ -126,61 +133,93 @@
      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() {
    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()
              }
            }
          });
        })
    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);
            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() {