vue项目微信H5页面,解决IOS端第一次调取微信扫一扫失败,需要需要刷新页面后才能成功的问题

vue项目微信H5页面,解决IOS端第一次调取微信扫一扫失败,需要需要刷新页面后才能成功的问题

在App.vue文件中获取到页面到URL (微信调取扫一扫会用到)

window.localStorage.setItem('scanUrl',location.href.split('#')[0])

可以用缓存记住这个URL在调取微信扫一扫到时候再取出来使用即获取签名等信息的时候

async getSign(){
      //  解决IOS端第一次调取微信扫一扫失败,需要刷新当前页面后才能成功端问题
      let url =  /(Android)/i.test(navigator.userAgent) ? location.href.split('#')[0] : window.localStorage.getItem('scanUrl');
      try {
        let res = await this.$http.post('pay/signJsApi',{
          url: url
        })
        if(res.data.result_code==0){
          let signObj = res.data.data
          wx.config({
            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
            appId: signObj.appId, // 必填,公众号的唯一标识
            timestamp: signObj.timestamp, // 必填,生成签名的时间戳
            nonceStr: signObj.nonceStr, // 必填,生成签名的随机串
            signature: signObj.signature,// 必填,签名
            jsApiList: ['scanQRCode'] // 必填,需要使用的JS接口列表
          });
        } else {
          alert(JSON.stringify(res.data))
        }
      }catch(err){
        alert(JSON.stringify(err))
      }
    },

PS:欢迎加入vue技术交流群(864583465)进行更多问题的探讨,你的问题将是我们大家共同进步的关键。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值