//引入微信jssdk const wx = require('@/js_sdk/jweixin-1.4.0.js') import { config } from './config/config'; //配置注册url const url = config.apiBaseurl + 'wechat/sign'; //http方法 import Request from '@/js_sdk/luch-request/luch-request/index.js'; const $http = new Request(); //系统域名url const href = location.href.split('#')[0]; // const href = location.href.split("?")[0] $http.get(url, {params: {url: href, list: 'scanQRCode',dataType: 'json'}}).then(res => { let str = JSON.parse( res.data.config) console.log( 'res.data.config',str ) wx.config({ // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 debug: true, // 必填,公众号的唯一标识 appId: str.appId, // 必填,生成签名的时间戳 timestamp: "" + str.timestamp, // 必填,生成签名的随机串 nonceStr: str.nonceStr, // 必填,签名 signature: str.signature, // 必填,需要使用的JS接口列表,所有JS接口列表 jsApiList: ['checkJsApi', 'scanQRCode'] }); }).catch(err => { console.log(err) }) //系统域名url export default { ...wx, isOk: true, async config() { wx.config({ debug: true, jsApiList: [ "scanQRCode", ], ...(await JSON.parse( $http.get(url, {params: {url: href, list: 'scanQRCode',dataType: 'json'}}).data.config)), }); wx.ready(e => { this.isOk = true; alert('wxapi'); wx.checkJsApi({ jsApiList: ['scanQRCode'], success: function (res) { alert('checkJsApi'+res) } }); // this.hideMenu(); }); wx.error(e => { console.log("失败") alert("出错了:" + res.errMsg); this.isOk = false; }); }, hideMenu() { wx.hideAllNonBaseMenuItem(); }, showMenu() { wx.showMenuItems({ menuList: [ "menuItem:share:appMessage", "menuItem:profile", "menuItem:addContact", "menuItem:dayMode", "menuItem:nightMode", "menuItem:share:timeline", "menuItem:favorite" ] // 要显示的菜单项,所有menu项见附录3 }); }, // JSAPI() { console.log('1111'); let result; return new Promise(r => { wx.scanQRCode({ needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果, scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码,默认二者都有 success: function (res) { alert('333'+res); result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果 // return result; }, fail:function(err){ alert(err) } }); }); alert('444'+result); return result; }, }