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 相关文章推荐
js网页中的(运行代码)功能实现思路
Feb 04 Javascript
原生js实现半透明遮罩层效果具体代码
Jun 06 Javascript
使用js判断TextBox控件值改变然后出发事件
Mar 07 Javascript
JavaScript中的console.assert()函数介绍
Dec 29 Javascript
数据结构中的各种排序方法小结(JS实现)
Jul 23 Javascript
JS 拼凑字符串的简单实例
Sep 02 Javascript
Node.js  REPL (交互式解释器)实例详解
Aug 06 Javascript
Vue页面骨架屏的实现方法
May 22 Javascript
浅谈redux以及react-redux简单实现
Aug 28 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
Jan 08 Javascript
微信小程序简单的canvas裁剪图片功能详解
Jul 12 Javascript
17道题让你彻底理解JS中的类型转换
Aug 08 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
Smarty模板语法详解
2019/07/20 PHP
如何解决PHP获取不到SESSION信息之一般情况
2019/10/10 PHP
javascript 常用关键字列表集合
2007/12/04 Javascript
使用 JScript 创建 .exe 或 .dll 文件的方法
2011/07/13 Javascript
ASP.NET jQuery 实例15 通过控件CustomValidator验证CheckBoxList
2012/02/03 Javascript
基于datagrid框架的查询
2013/04/08 Javascript
JS中判断null、undefined与NaN的方法
2014/03/24 Javascript
JavaScript中伪协议 javascript:使用探讨
2014/07/18 Javascript
jQuery实现数字加减效果汇总
2014/12/16 Javascript
JS如何实现文本框随文本的长度而增长
2015/07/30 Javascript
在jQuery中处理XML数据的大致方法
2015/08/14 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
2016/10/28 Javascript
JS 在数组指定位置插入/删除数据的方法
2017/01/12 Javascript
利用jQuery实现一个简单的表格上下翻页效果
2017/03/14 Javascript
JS传参及动态修改页面布局
2017/04/13 Javascript
jQuery访问json文件中数据的方法示例
2019/01/28 jQuery
JS实现长图上下滚动效果
2020/03/19 Javascript
如何在Express4.x中愉快地使用async的方法
2020/11/18 Javascript
[05:20]2018DOTA2亚洲邀请赛主赛事第三日战况回顾 LGD率先挺进胜者组决赛
2018/04/06 DOTA
[01:01:24]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python多线程实现同步的四种方式
2017/05/02 Python
python机器学习之神经网络(二)
2017/12/20 Python
python实现linux下抓包并存库功能
2018/07/18 Python
在pycharm中设置显示行数的方法
2019/01/16 Python
Python文件操作方法详解
2020/02/09 Python
python怎么删除缓存文件
2020/07/19 Python
python如何变换环境
2020/07/21 Python
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
个人简历自我评价八例
2013/10/31 职场文书
中级会计职业生涯规划范文
2014/01/16 职场文书
六一儿童节标语
2014/10/08 职场文书
四风查摆问题及整改措施
2014/10/10 职场文书
坎儿井导游词
2015/02/09 职场文书
小学数学国培研修日志
2015/11/13 职场文书
matplotlib如何设置坐标轴刻度的个数及标签的方法总结
2021/06/11 Python
Go语言编译原理之源码调试
2022/08/05 Golang