实现扫码登录功能大抵流程为:
1、web端点击“扫码登录”按钮,调用后台生成二维码接口,(此时需要使用Java类生成uuid),并设计二维码数据库表结构,将二维码uuid作为唯一标识,加上过期时间二维码状态和扫描客户身份证号。
2、当手机端扫描web端二维码后,调用接口将二维码uuid和客户信息一同送到服务器,并且将信息存储到数据库表中。
3、web端js中使用轮询方法调用接口查看二维码状态,当二维码状态为已扫描时,便开始登录校验。
前端拿到uuid生成二维码和轮询我在上一篇文章说过,这里不再赘述,下面讲述Java如果生成uuid:
import java.util.UUID;
public class UUIDGenerator {
public static void main(String[] args) {
//随机生成一个UUID对象
UUID uuid = UUID.randomUUID();
System.out.println("生成的UUID为:" + uuid.toString());
//通过给定的字符串名称和命名空间生成UUID对象
UUID uuid2 = UUID.nameUUIDFromBytes("example_name".getBytes());
System.out.println("生成的UUID2为:" + uuid2.toString());
}
}
/*优点:
Java自带,无需引入额外的库和依赖;
简单易用,一行代码就可以生成UUID。
缺点:
生成的UUID可能会重复,虽然重复的概率较小,但是在高并发的情况下还是有可能发生;
无法控制生成的UUID的格式,只能生成标准的UUID*/
生成uuid后便可以给到前端,前端利用该id生成二维码。