收藏
回答

微信公众号H5开发调用微信扫一扫,IOS进入网页调用没反应,刷新页面之后才调用扫码正常,什么原因?

安卓及开发者工具都没有问题,只有IOS由此问题,查了很多资料,没能解决,进入页面wx.config是成功的,刷新后URL跟刷新前也是一致的,没有所谓的变化

mounted() {
    const that = this
    that.onConfig()
  },
 methods: {
    onConfig() {
          const that = this
          const url = window.location.href.split('#')[0]
          that.$axios
            .post('/system/wechat/getSignature', {
              appId: that.$config.appId,
              url,
            })
            .then((res) => {
              const result = res.data
              wx.config({
                appId: result.appId,
                nonceStr: result.nonceStr,
                signature: result.signature,
                timestamp: result.timestamp,
                debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
                jsApiList: [
                  // 必填,需要使用的JS接口列表
                  'scanQRCode',
                ],
              })
            })
          wx.ready(() => {
            Notify({ type: 'success', message: '微信成功' })
          })
          wx.error(function (res) {
            Notify({ type: 'danger', message: res })
          })
        },
        scanQRcode() {
          Notify({ type: 'success', message: '点击成功' })
          setTimeout(function () {
            wx.scanQRCode({
              needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
              scanType: ['qrCode', 'barCode'], // 可以指定扫二维码还是一维码,默认二者都有
              success: function (res) {
                const result = res.resultStr // 当needResult 为 1 时,扫码返回的结果
                Notify({ type: 'success', message: result })
              },
              error: (err) => {
                Notify({ type: 'danger', message: err })
              },
            })
          }, 500)
        },
}


最后一次编辑于  2023-08-15
回答关注问题邀请回答
收藏

2 个回答

  • PJF
    PJF
    2023-12-21

    出现这个问题需要把wx.scanQRCode()写在wx.ready(function () {}里即可解决

    2023-12-21
    有用 1
    回复
  • 旧巷幽草{香
    旧巷幽草{香
    06-26

    苹果15也不能使用wx.scanQRCode()扫一扫

    06-26
    有用
    回复
登录 后发表内容