<!--
 * @Descripttion: 
 * @version: 
 * @Author: 王三华
 * @Date: 2023-06-16 09:43:05
-->
<template>
  <div class="contain">
    <img src="@/static/images/pay_i2.png"
         alt="" />
    <div>宝付支付中...</div>
  </div>
</template>

<script>
import wx from 'weixin-js-sdk'
import * as pay from '@/config/pay.js'
export default {
  data() {
    return {
      code: '',
      state: '',
    }
  },
  mounted() {
    let allData = decodeURIComponent(window.location.href).split('=')
    console.log(
      '%c [ allData ]-34',
      'font-size:13px; background:#a3905c; color:#e7d4a0;',
      allData
    )
    this.code = allData[1].split('&')[0]
    this.state = allData[2].split('#')[0]
    this.getFiveCode()
  },
  methods: {
    getFiveCode() {
      pay
        .baoFuPay({
          code: this.code,
          state: this.state,
        })
        .then((res) => {
          let obj = res.data
          this.onBridgeReady(obj)
        })
    },
    onBridgeReady(data) {
      console.log('调用微信支付WeixinJSBridge')
      var vm = this
      WeixinJSBridge.invoke(
        'getBrandWCPayRequest',
        {
          // 下面参数内容都是后台返回的
          appId: data.appId, // 公众号名称，由商户传入
          timeStamp: data.timeStamp, // 时间戳
          nonceStr: data.nonceStr, // 随机串
          package: data.package, // 预支付id
          signType: data.signType, // 微信签名方式
          paySign: data.paySign, // 微信签名
        },
        function (res) {
          // 使用以上方式判断前端返回,微信团队郑重提示：res.err_msg将在用户支付成功后返回ok，但并不保证它绝对可靠。
          if (res.err_msg === 'get_brand_wcpay_request:ok') {
            uni.showToast({
              title: this.$t('w_0335'),
              icon: 'none',
            })
          } else {
            uni.showToast({
              title: '支付失败',
              icon: 'none',
            })
          }
        }
      )
    },
  },
}
</script>

<style lang="scss" scoped>
.contain {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 200px;
  font-size: 16px;
  img {
    width: 60px;
    height: 60px;
    margin-bottom: 20px;
  }
}
</style>