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

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

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

  • 原理:在本页跳转到第三方网站www.996315.com/api/scan/,扫完后再跳转回到本页面,跳转回来的页面会带有二维码的路径参数。
  • 例如:如果本页面是localUrl,可以用a元素跳转(href为www.996315.com/api/scan/?r…过程很简单,2步就可以了。 **步骤一:**扫一扫 我项目中用的是vue,点击扫一扫时调用scanCode方法,其中redirect_uri参数是自己本页面地址(去掉路径参数的),以确保扫码回来后准确跳到本页面(不传redirect_uri有可能跳错页面)。
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')
      }
}


目录
相关文章
|
4天前
|
数据采集 JavaScript Android开发
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
29 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
8天前
|
人工智能 开发框架 机器人
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
AstrBot 是一个开源的多平台聊天机器人及开发框架,支持多种大语言模型和消息平台,具备多轮对话、语音转文字等功能。
2162 13
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
|
13天前
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
133 12
|
27天前
|
JavaScript 前端开发 安全
盘点原生JS中目前最没用的几个功能API
在JavaScript的发展历程中,许多功能与API曾风光无限,但随着技术进步和语言演化,部分功能逐渐被淘汰或被更高效的替代方案取代。例如,`with`语句使代码作用域复杂、可读性差;`void`操作符功能冗余且影响可读性;`eval`函数存在严重安全风险和性能问题;`unescape`和`escape`函数已被`decodeURIComponent`和`encodeURIComponent`取代;`arguments`对象则被ES6的剩余参数语法替代。这些变化体现了JavaScript不断优化的趋势,开发者应紧跟技术步伐,学习新技能,适应新技术环境。
43 10
|
1月前
|
JavaScript 前端开发
【Vue.js】监听器功能(EventListener)的实际应用【合集】
而此次问题的核心就在于,Vue实例化的时机过早,在其所依赖的DOM结构尚未完整构建完成时就已启动挂载流程,从而导致无法找到对应的DOM元素,最终致使计算器功能出现异常,输出框错误地显示“{{current}}”,并且按钮的交互功能也完全丧失响应。为了让代码结构更为清晰,便于后续的维护与管理工作,我打算把HTML文件中标签内的JavaScript代码迁移到外部的JS文件里,随后在HTML文件中对其进行引用。
52 8
|
2月前
|
JavaScript 容器
带方向感知功能的js图片遮罩层插件
带方向感知功能的js图片遮罩层插件
|
3月前
|
JavaScript 前端开发 容器
jQuery多功能滑块插件r-slider.js
r-slider.js是一款jQuery多功能滑块插件。使用该插件,可以制作出滑块、开关按钮、进度条、向导步骤等多种效果。
65 5
|
3月前
|
JavaScript 前端开发 开发者
JavaScript框架React vs. Vue:一场性能与易用性的较量
JavaScript框架React vs. Vue:一场性能与易用性的较量
67 0
|
3月前
|
JavaScript
js实现简洁实用的网页计算器功能源码
这是一款使用js实现简洁实用的网页计算器功能源码。可实现比较基本的加减乘除四则运算功能,界面简洁实用,是一款比较基本的js运算功能源码。该源码可兼容目前最新的各类主流浏览器。
56 2
|
存储 前端开发 JavaScript

热门文章

最新文章