java实现微信扫二维码登录完整代码分享
解决方法:
1.js发起获取ticket请求,获取到ticket后把图片标签追加到网页放置微信登录二维码的地方,然后开启定时器没3秒执行一次,循环10次来调用你的系统登录接口,把ticket参数带过去验证是否登录。用户扫码成功后我会将当前的ticket存放在redis。
$.ajax({
async : false,
url: '/wx/qrcode/ticket',
success: function (data) {
$("#loginbox").html('<form method="post" id="fm1" class="m-form"><input name="ticket" type="hidden" value="'+data+'"/><div style="text-align: center;color: white;" disabled id="showqrcode"><h3>微信扫码,登录xx网</h3><img style="width: 280px;height: 280px;" src="/wx/qrcode/create?ticket='+data+'"><div>扫码 > 关注 > 登录</div></div></form>');
var count=10;
var timeId=setInterval(function () {
count--
if(count<=0){
clearInterval(timeId)
}
//login();改成你的登录方法
}, 3000);
},
});
2.java代码都在这个文件里,基本复制就能用。
其中ticket()方法就是上面js的ajax调用的方法,上面js代码中的图片标签中的src属性调用的是createQrcode()方法生成二维码,callBack()方法就是用户扫码或者关注公众号后调用的接口,这个接口要在微信公众号后台的基本配置的服务器地址(URL)中配置。
java源码文件:
3.在微信公众号后台配置回调接口和Token,配置好之后要记得启用配置,可参考:http://www.yayihouse.com/yayishuwu/chapter/2886