WeChat(微信)二维码支付轮询

<script>


export default {
  data () {
    return {
      timer: '',
    }
  },
  methods: {
    payOrder (type) {
      let price = this.price;
      let ordernum = this.orderN;
      if (type == 2) { //支付宝支付  
        order.Alipay({ price, ordernum }).then(res => {
          if (res.status == 200) {
            $('#Alipay').html(res.data)   //注意支付宝返回的数据是一个页面
          } else {
            this.$message.error('支付失败')
          }
        })  
      } else(type == 3) { //微信支付
        order.weChatPay({ price, ordernum }).then(res => {
          let data = res.data;
          if (data.code === Code.CODE_SUCCESS) {
            this.centerDialogVisible = true;
            this.codeImg = data.data.img_url;
            //支付轮询
            this.timer = setInterval(() => {
              this.selectOrderStatus();
            }, 3000)
          } else {
            this.$message.error(data.msg)
          }
        })
      }
    },
    // 支付轮询函数
    selectOrderStatus () {
      let ordernum = this.orderN,timestamp = Date.parse(new Date()) / 1000,sign = this.$md5(makeSign.makeSign({ ordernum, timestamp }))
      order.selectOrderStatus({ ordernum, timestamp, sign }).then(res => {
        let data = res.data;
        if (data.code === Code.CODE_SUCCESS) {
          clearInterval(this.timer);
          this.timer = null;
          this.$message.success('支付成功,2秒后将自动跳转到订单管理页面')
          setTimeout(() => {
            this.$router.push({
              path: '/orderItem'
            })
          }, 2000)
        } else {
          return false
        }
      })
    },
    // 关闭弹窗清除轮询
    closeWXpay () {
      clearInterval(this.timer)
      this.timer = null
    },
  },
  mounted () {
  },

  filters: {
  },
  watch: {
  }
}
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值