html
js
(function(){
//获取网页所在路径
let url = location.href.split("#")[0];
$.ajax({
type:"get",
dataType: "JSON",
contentType: 'application/json;charset=UTF-8',
url:"/weChat/createWXConfig.do", //从后台获取wx.config相关信息赋值
async:false,
success: function(data) {
if(data){
var res = data;
wx.config({
beta: true, // 必须这么写,否则wx.invoke调用形式的jsapi会有问题
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: res.appId, // 必填,企业微信的corpID
timestamp: res.timestamp, // 必填,生成签名的时间戳
nonceStr: res.nonceStr, // 必填,生成签名的随机串
signature: res.signature, // 必填,签名,见 附录-JS-SDK使用权限签名算法
jsApiList: ["scanQRCode"] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
}
console.log(data)
},
});
wx.error(function (res) {
res = JSON.stringify(res)
alert("出错了:" + res); //这个地方的好处就是wx.config配置错误,会弹出窗口哪里错误,然后根据微信文档查询即可。
});
})()
function scanCode() {
wx.ready(() => {
wx.checkJsApi({
jsApiList: ["invoke", "scanQRCode"], // 需要检测的JS接口列表,所有JS接口列表见附录2,
success: res => {
// 以键值对的形式返回,可用的api值true,不可用为false
// 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
}
});
wx.invoke("enterpriseVerify", {}, res => {
// alert(JSON.stringify(res));
});
wx.scanQRCode({
desc: "scanQRCode desc",
needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果,
scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有
success: res => {
let data = JSON.parse(res.resultStr);
//扫码后的后续动作
alert(data)
},
error: res => {
if (res.errMsg.indexOf("function_not_exist") > 0) {
alert("版本过低请升级");
}
}
});
});
}
$(".btn-barcode").on("click",function(){
scanCode()
})