Java轻松玩转扫码登录

Java轻松玩转扫码登录

一、博主自言

        最近公司项目中遇到了,发现不少朋友都对这个不了解,正好自己也对这感兴趣。所以就研究了下。

        扫码登录技术觉得是不错的干货。就分享给打大家了。希望会对大家有所帮助,欢迎留言提问。

        PS文章底部是我的代码下载链接,大家可以自行下载。

 

二、原理简介

流程图

1、进入网站-生成UUID

2、跳转到二维码页面(二维码的生成与UUID关联)

3、二维码页面写一个js,自动请求服务器查询二维码是否被扫

4、服务器收到请求,查询,如果还没被扫,进入等待,先不返回结果

5、手机APP扫码,会向后台发送请求,改变uuid有关的状态,这样服务器就会接受到请求。

6、一旦被扫,立即返回结果,页面js收到响应,做后续处理

通过流程图和我的原理要点,相信大家对扫码登录原理有了差不多的认识了。

三、主要代码实现

工具

        主要用的了zxing(后台生成二维码要用的jar包)。

        其他就是最基本的 jquery 之类的了,这些相信大家项目中都有。

代码实现

    生成UUID

       


    生成二维码页面部分以及页面JS

                
                

    Js请求服务器查询是否被扫

                    

    后台通过zxing生成二维码


其中会用到两个对象 一个是用来多线程缓存的PoolCache 一个是用来状态赋值的ScanPool

                        

ScanPool

                

                


    查询是否被扫描

                


    被成功扫描后

                 

基本上主要的代码就是上面那些了。

 

四、备注赠言

关于包的引用

POM.xml文件中,不能少以下两个包的引用

                 



五、实际优化

        关于缓存状态这一块可以用redis去优化,这里我就不实际叙述了。

        附上地址,可以直接运行。项目下下来放入ide,直接run App.java

      代码下载链接:

      https://download.csdn.net/download/qq_25814003/10362610

    

猜你喜欢

转载自blog.csdn.net/qq_25814003/article/details/80014528