90 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Vue
		
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Vue
		
	
	
	
 | 
						||
<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
 | 
						||
        .huiFuPay({
 | 
						||
          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: '支付成功',
 | 
						||
              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> |