这个帖子网上很多了,但是都是讲理论知识,我呢,喜欢搞代码。既然搞完了,就贴出来备忘一下,也可以分享一下。
重复理论步骤:
1、进入网站-生成UUID
2、跳转到二维码页面(二维码包含UUID)
3、二维码页面写一个js,自动请求服务器查询二维码是否被扫
4、服务器收到请求,查询,如果还没被扫,进入等待,先不返回结果
5、一旦被扫,立即返回结果,页面js收到响应,做后续处理
OK,步骤是这样的没错,不过有一点缺点,步骤3中如果请求超时怎么办。
这个微信web登录有示例,服务器被请求后,持续等待25秒左右,然后结束请求,js端重新发起请求,就这样25秒为周期,不停发起长链接请求。
看下微信web的长连接
不说了,贴代码了,我这里使用的是spring-boot ,spring版本是4.3.6
1、生成UUID
@RequestMapping("/")
String index(HttpServletRequest request,HttpServletResponse response)
{
System.out.println("进入首页,先生成UUID");
request.setAttribute("uuid", UUID.randomUUID());
return "pages/index";
}
2、生成二维码,页面部分
<body>
<div class="main">
<div class="title">
<img id="qrcode" alt="" src="">
</div>
<div id&