大家好,最近博主在2345浏览器上搜索 java的学习知识 时:
emm 它居然让我登录 !
真是可恶,士可忍,程序员不可忍
没办法,博主作为2345全家桶的狂热爱好者,只好选择登录一波
咱们用手机扫一下好吧,稍等 ....................
wait....................
wait....................
wait....................
wait....................
ok,扫码成功
可是作为一名专业的 java 程序员,这不禁让我思考起来
如果我们想自己实现前端生成二维码,然后我们拿手机一扫,哎!,登录成功
话不多说,看看实现这个功能需要几步
1:java创建spring boot 项目,实现生成二维码并返回前端
2:前端展示二维码,并且轮询
(定时器,一直向后端发请求,分长轮询和短轮询,其实就是多少秒发一次请求)
二维码是否被扫描成功
3:利用我们在大学学到的Android 开发,完成一个app,来实现扫描扫描的功能,和回调函数
先看第一步好吧,创建一个spring boot 项目,
我随便建的,这里就不贴代码,
我把我的maven依赖放这里
<dependencies>
<!--springboot启动模块包-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.3.7.RELEASE</version>
</dependency>
<!--springboot 自动装配-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<version>2.3.10.RELEASE</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>com.github.liuyueyi.media</groupId>
<artifactId>qrcode-plugin</artifactId>
<version>2.5.2</version>
</dependency>
<!--序列化和反序列化-->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
实现二维码,我们需要用 ZXING 这个包,
为了教学,我给大家演示一下最简单的一种方法
咱们先创建一个类,和spring