微信公众号商城,调支付宝支付

1、在点击调取支付宝支付接口时

  页面先引入中间页的ap.js

  import _AP from 'components/pay/ap'
 
    let ua = window.navigator.userAgent.toLowerCase(); // 判断是否是微信浏览器
        if (ua.match(/MicroMessenger/i) == 'micromessenger') {
          let order_sn = {
            token: sessionStorage.getItem('userId'),
            pay_sn: this.pay_sn,
            payment_code: this.payment_code
          }
          alipayOrder(order_sn).then(res => {
            // console.log(res.result)
            console.log(res)
            this.html = res
            var form = res
            const div = document.createElement('div')
            div.innerHTML = form//此处form就是后台返回接收到的数据
            // document.body.appendChild(div)
            // document.forms[0].submit() // 在微信浏览器中不要直接进行跳转
            //中间引导页
            var queryParam = '';
            Array.prototype.slice.call(document.querySelectorAll("input[type=hidden]")).forEach(function (ele) {
              queryParam += '&' + ele.name + "=" + encodeURIComponent(ele.value);
            });
            var gotoUrl = document.querySelector("#alipaysubmit").getAttribute('action') + queryParam;
            _AP.pay(gotoUrl); // 调取是中间页中的pay方法
          }).catch((err) => {
            console.log(err);
          });
        }

2、在页面新建一个文件夹,用来存放ap.js、pay.vue页面 (ap.js、pay.vue 支付宝官方会提供,

  这是需要根据自己项目需求进行修改ap.js

  b.pay = function (d) {
    var c = encodeURIComponent(a.encode(d));
    // ###################千万注意这个地方#################
    //location.replace (window.location.origin+"#/alipay?goto="+c)
    //####我的'#/alipay'是pay.htm页面改装过来的路由地址,需要自行替换
    //###################千万注意这个地方#################
    //由于微信浏览器 会在你带链接打开其他页面时截取掉 #后面的参数  所以需要一波处理
    // location.replace(window.location.origin + "/pay?goto=" + c)
    // location.replace(window.location.origin + "/#/pay?goto=" + c)
    var url = window.location.protocol + "//" + window.location.host + "/?time=" + new Date() + "#/pay?goto=" + c    // 由于微信会在部分ios手机上面截断#之后内容,页面就不能进行跳转了,所以加上随机数(红色字体的内容)来解决
    window.location.href = url 
  };
posted @ 2021-01-20 17:51  小小小~  阅读(544)  评论(0)    收藏  举报