import wx from './weixin-js-sdk.js'; export default { scanCodeFun() { const promise = new Promise((resolve, reject) => { this.HTTP_GET("weixinapi/getweixinwebaccess_token?url=" + encodeURIComponent(window.location.href)).then((success)=>{ if(!success){ resolve(false) return } wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: success.appid, // 必填,公众号的唯一标识 timestamp: success.timestamp, // 必填,生成签名的时间戳 nonceStr: success.noncestr, // 必填,生成签名的随机串 signature: success.certificate, // 必填,签名 jsApiList: ["scanQRCode"] // 必填,需要使用的JS接口列表 }); wx.ready(() => { wx.scanQRCode({ needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果, scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有 success: function (res) { var result = res.resultStr; // 当 needResult 为 1 时,扫码返回的结果 var resultArr = result.split(','); // 扫描结果以逗号分割数组 var codeContent = resultArr[resultArr.length - 1]; // 获取数组最后一个元素,也就是最终的内容 resolve({result:codeContent}) }, fail: function (res) { this.TOAST("调用扫码失败") resolve(false) } }); }) }) }) return promise } }