VUE中最简单的js调用微信扫一扫功能

2022-03-07  本文已影响0人  sysdzw

之前以为扫码很复杂,后面找到了一个最简单的扫码功能,但是H5页面只能用微信打开,其他浏览器不支持。

is_weixn() {
      return navigator.userAgent.toLowerCase().indexOf('micromessenger') !== -1
    },
scanCode() {
      if (!this.is_weixn()) {
        alert('请用微信打开页面,扫码功能仅支持微信页面')
        return
      }
      sessionStorage.setItem('isInSerach', '1')
      let hrefStr = location.href
      let href = hrefStr
      if (hrefStr.indexOf('?') !== -1) {
        href = hrefStr.split('?')[0]
      }
      location.href = `https://www.996315.com/api/scan/?redirect_uri=${encodeURIComponent(href)}`
},

步骤二:获取扫到的二维码数据
我这里直接在mounted里调用initData方法,用获取vue-router的路径参数qrresult,其中code就是获取到的二维码。如果不用vue,也可以在页面刚加载完的时候,用原生的location获取本页面地址及和路径参数qrresult。

initData() {
      let isInSerach = sessionStorage.getItem('isInSerach')
      if (isInSerach) {
        let code = this.$route.query.qrresult
        if (code) {
          this.form.serialNumber = code
          this.searchInfo('ruleForm')
        }
        else {
          //没有扫码成功
          alert('二维码内容格式不对,请扫描正确的二维码')
        }
        sessionStorage.removeItem('isInSerach')
      }
},
上一篇 下一篇

猜你喜欢

热点阅读