微信公众号首页扫一扫功能
前话: 微信公众号首页扫一扫,如果是直接在首页扫码,直接跳到扫码结果,我们开发者不能对扫码结果做处理,比如不想让它扫其他的除了自己的规定的二维码,那么就要对这个二维码的扫码结果做出处理。
入正题 =>> 既然首页不能做处理,那么我们就可以做一个静态页面,在这个页面中调起扫一扫的功能,再对扫码结果做处理。
步骤如下:
1. 首页把type类型扫一扫功能改为页面点击;
"button":[
{
"name":"扫码",
"sub_button":[
{
"type":"scancode_push",
"name":"扫一扫",
"key":"borrow",
"sub_button": [ ]
}
]
} ]
//==> 上面的代码改成下面的
"button":[
{
"name":"扫码",
"sub_button":[
{
"type":"view",
"name":"扫一扫",
"key":"borrow",
"url": "这里填你要调扫一扫功能的静态页面的地址" //例如 http://www.abc.com/userinfo/sao
}
]
} ]
2. 在点击跳转的静态页面调起扫一扫
//要引入微信的JS-SDK
//<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>测试</title>
</head>
<body>
<div onclick="sao()">
<span>扫一扫</span>
</div>
</body>
</html>
<script src="/asset/js/jquery-2.1.0.js"></script>
<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script type="text/javascript">
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息通过log打出,仅在pc端时才会打印。
appId: "", // 必填,公众号的唯一标识
timestamp: "", // 必填,生成签名的时间戳
nonceStr: "", // 必填,生成签名的随机串
signature: "",// 必填,签名,见附录1
jsApiList: [
"scanQRCode" //扫一扫功能这个就可以
] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
wx.ready(function(){
});
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不要放在ready函数中。
wx.scanQRCode({
needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果; 这里我们要处理扫码结果,所以一定要设为 1
scanType: ["qrCode"], // 可以指定扫二维码还是一维码,默认二者都有
success: function (res) {
var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
//在这里我们就可以对 result 这个扫码结果做处理了
处理代码如下。。。
}
});
});
</script>
【注】以上微信开发老手请忽略!礼毕。
你的坚持 ------ 终将美好 ~