最近单位又有一个新Java项目。
涉及到扫码登录。之前项目使用的是 ajax轮询的方式。感觉太low了。
所以这次用webSocket的方式进行实现
好。废话不多说!咱们开始!!
一、首先咱们需要一张表
这表是干啥的呢? 就是记录一下谁扫码了。谁登录了。
User_Token表
字段如下:
-
uuid : 用于确保唯一性
-
userId : 谁登录的
-
loginTime : 登录时间
-
createTime :创建时间 用于判断是否过期
-
state: 是否二维码失效 0有效 1失效
二、角色都有哪些
咱们还需要分析一下子。扫码登录这个业务逻辑都有哪些角色
-
android端 or 微信Web端 : 扫码
-
PC端 : 被扫。登录
-
服务端: 掌控全局,提供接口。
三、接口都需要哪些?
有了角色。你用大腿也能想出来接口了对不对!!
所以咱们的接口有2个!
-
生成二维码接口:生成一个二维码。二维码中有UUID。
-
确认身份接口:确定身份以及判断是否二维码过期等
四、步骤
那句话怎么说的来着。要把大象装冰箱一共分几步?
-
PC端打开。 调用生成二维码接口 并与 服务端建立链接。链接使用uuid进行绑定
-
微信Web端进行扫码。获取二维码中的uuid。
-
微信Web端拿到uuid以后。显示是否登录页面。点击确定后 调用 确认身份接口。
-
确认身份接口通过以后。 服务端给PC端发送信息。 完成登录。 此时链接断开。
好了!分析完了这些。你们一定在想。。还有完没完啊。。不要在BB了。。赶紧贴代码吧。。
作者:观众老爷们。我这是在教给你们如何思考的方法呀?
那么开始贴代码吧!希望大家在看到的同时也可以自己进行思考。
五、疯狂贴代码
首先需要获取二维码的代码对不对! 贴!
//获取登录二维码、放入Token
@RequestMapping(v