Vue引入微信的sdk和jquery需要做:

1、引入微信sdk:安装依赖 npm i -S weixin-js-sdk
2、引入 import wx from ‘weixin-js-sdk’
3、引入jquery

<template>
    <div class="login_div">
        <mt-button id="wxsys" type="primary" v-on:click="sys_click()">扫一扫</mt-button>
    </div>
</template>

关注我的微信公众号【前端基础教程从0开始】,加我微信,可以免费为您解答问题。回复“1”,拉你进程序员技术讨论群。回复“小程序”,领取300个优秀的小程序开源代码+一套入门教程。回复“领取资源”,领取300G前端,Java,微信小程序,Python等资源,让我们一起学前端。

<script>
    import wx from 'weixin-js-sdk'
    import $ from 'jquery'
    export default {
        data(){
            return {
            }
        },
    methods : {
        sys_click : function()
        {
       	 //这里【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("获取微信认证参数的地址?url=去参的本网页地址(this.newUrl)", function(data){
        var jsondata=$.parseJSON(data);
            wx.config({
                // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
                debug: false,
                // 必填,公众号的唯一标识
                appId: jsondata.model.appId,
                // 必填,生成签名的时间戳
                timestamp: "" + jsondata.model.timestamp,
                // 必填,生成签名的随机串
                nonceStr: jsondata.model.nonceStr,
                // 必填,签名
                signature: jsondata.model.signature,
                // 必填,需要使用的JS接口列表,所有JS接口列表
                jsApiList: ['checkJsApi', 'scanQRCode']
            });
        });
        wx.error(function (res) {
            alert("出错了:" + res.errMsg);//这个地方的好处就是wx.config配置错误,会弹出窗口哪里错误,然后根据微信文档查询即可。
        });
        wx.ready(function () {
            wx.checkJsApi({
                jsApiList: ['scanQRCode'],
                success: function (res) {
 					 wx.scanQRCode({
	                    needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
	                    scanType: ["qrCode"], // 可以指定扫二维码还是一维码,默认二者都有
	                    success: function (res) {
	                        var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
	                        alert("扫描结果:"+result);
	                    }
	                });
                }
            });
        }); 
        }
    }
}
</script>

如有问题,欢迎大家加我微信交流或者:zhao17733750596

Logo

前往低代码交流专区

更多推荐