vue使用微信扫一扫功能的实现代码


Posted in Javascript onApril 11, 2020

第一步: 安装weixin-js-sdk 和 jquery 包 npm install weixin-js-sdk jquery

第二部: 配置wx.config (配置都是后端返回来的,菜鸟前端只需要按需传值过去就可)

代码如下

import wx from “weixin-js-sdk”;
import $ from “jquery”;
goSao() {

 //这里【url参数一定是去参的本网址】,请求后端接口换取signature
 //(兼容安卓和ios)
 let url = "传值";
 let ua = navigator.userAgent.toLowerCase();
 if (/iphone|ipad|ipod/.test(ua)) {
  this.newUrl = window.location.href.split("#")[0];
 } else if (/android/.test(ua)) {
  this.newUrl = window.location.href;
 }
 //传值为了去掉#
 
 $.get(`后台需要的路径=${this.newUrl}`,
  function(response) {
   wx.config({
    // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
    debug: false,
    // 必填,公众号的唯一标识
    appId: response.data.appId,
    // 必填,生成签名的时间戳
    timestamp: response.data.timestamp,
    // 必填,生成签名的随机串
    nonceStr: response.data.nonceStr,
    // 必填,签名
    signature: response.data.signature,
    // 必填,需要使用的JS接口列表,所有JS接口列表
    jsApiList: ["scanQRCode"]
   });
   console.log(response)
  }
 );
 wx.error(function(res) {
  alert("出错了:" + res.errMsg); //这个地方的好处就是wx.config配置错误,会弹出窗口哪里错误,然后根据微信文档查询即可。
 });
 let _t = this
  wx.ready(function () {
    wx.checkJsApi({
      jsApiList: ['scanQRCode'],
      success: function (res) {

      }
    });
    wx.scanQRCode({
      needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
      scanType: ["qrCode"], // 可以指定扫二维码还是一维码,默认二者都有
      success: async (res)=>{
       var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
      alert(result )
      }
    });
  });
},

已测,可以使用

注:只能微信浏览器使用,其他浏览器不可

总结

到此这篇关于vue使用微信扫一扫功能的实现代码的文章就介绍到这了,更多相关vue 微信扫一扫内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
Jan 11 Javascript
javascript div 遮罩层封锁整个页面
Jul 10 Javascript
javascript appendChild,innerHTML,join性能比较代码
Aug 29 Javascript
Aptana调试javascript图解教程
Nov 30 Javascript
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
Jan 09 Javascript
简单实例处理url特殊符号&处理(2种方法)
Apr 02 Javascript
jQuery中:checkbox选择器用法实例
Jan 03 Javascript
AngularJS表单编辑提交功能实例
Feb 13 Javascript
JS弹出对话框实现方法(三种方式)
Dec 18 Javascript
JavaScript简单实现弹出拖拽窗口(二)
Jun 17 Javascript
vue分页组件table-pagebar使用实例解析
Nov 15 Javascript
vue flex 布局实现div均分自动换行的示例代码
Aug 05 Javascript
Vue 中 template 有且只能一个 root的原因解析(源码分析)
Apr 11 #Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
Apr 11 #Javascript
JavaScript实现轮播图特效
Apr 10 #Javascript
JavaScript实现图片伪异步上传过程解析
Apr 10 #Javascript
Vue实现Layui的集成方法步骤
Apr 10 #Javascript
如何基于layui的laytpl实现数据绑定的示例代码
Apr 10 #Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
Apr 10 #Javascript
You might like
用PHP和ACCESS写聊天室(三)
2006/10/09 PHP
PHP新手上路(三)
2006/10/09 PHP
mysql中存储过程、函数的一些问题
2007/02/14 PHP
php抓取页面的几种方法详解
2013/06/17 PHP
PHP获取不了React Native Fecth参数的解决办法
2016/08/26 PHP
PHP缓存工具XCache安装与使用方法详解
2018/04/09 PHP
用JavaScript计算在UTF-8下存储字符串占用字节数
2013/08/08 Javascript
jQuery的attr与prop使用介绍
2013/10/10 Javascript
理解Javascript闭包
2013/11/01 Javascript
fmt:formatDate的输出格式详解
2014/01/09 Javascript
学习JavaScript鼠标响应事件
2015/12/25 Javascript
jQuery双向列表选择器select版
2016/11/01 Javascript
深入理解Node中的buffer模块
2017/06/03 Javascript
详解React-Native解决键盘遮挡问题(Keyboard遮挡问题)
2017/07/13 Javascript
vue 点击按钮增加一行的方法
2018/09/07 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
2019/01/21 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
2019/01/24 Javascript
原生js代码能实现call和bind吗
2019/07/31 Javascript
vue接口请求加密实例
2020/08/11 Javascript
[02:22]《新闻直播间》2017年08月14日
2017/08/15 DOTA
[01:00:52]2018DOTA2亚洲邀请赛 4.4 淘汰赛 EG vs LGD 第一场
2018/04/05 DOTA
Python 操作MySQL详解及实例
2017/04/30 Python
关于python2 csv写入空白行的问题
2018/06/22 Python
利用nohup来开启python文件的方法
2019/01/14 Python
选择python进行数据分析的理由和优势
2019/06/25 Python
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
德国珠宝和手表在线商店:VALMANO
2019/03/24 全球购物
华为python面试题
2016/05/03 面试题
物流管理毕业生自荐信
2013/10/24 职场文书
电视购物广告词
2014/03/19 职场文书
商业街策划方案
2014/05/31 职场文书
民族团结演讲稿范文
2014/08/27 职场文书
小学班级特色活动方案
2014/08/31 职场文书
安徽导游词
2015/02/12 职场文书
爱的教育观后感
2015/06/17 职场文书
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python