|
|
@@ -108,6 +108,7 @@ public class LoginController {
|
|
|
LoginQRCodeVo loginQRCodeVo = new LoginQRCodeVo();
|
|
|
loginQRCodeVo.setImgBase64(base64);
|
|
|
long loginCode = IdUtil.getSnowflakeNextId();
|
|
|
+ redisUtil.set(loginCode + "time", System.currentTimeMillis());
|
|
|
loginQRCodeVo.setLoginCode(loginCode + "");
|
|
|
return RT.ok(loginQRCodeVo);
|
|
|
} catch (Exception e) {
|
|
|
@@ -118,8 +119,18 @@ public class LoginController {
|
|
|
@PostMapping("/QR-code-login")
|
|
|
@ApiOperation(value = "二维码登录", notes = "code")
|
|
|
@XjrLog(value = "二维码登录")
|
|
|
- public R loginQRCode(@RequestBody @Valid LoginQRCodeDto dto) throws Exception {
|
|
|
- return R.ok(loginService.loginQRCode(dto));
|
|
|
+ public RT<String> loginQRCode(@RequestBody @Valid LoginQRCodeDto dto) throws Exception {
|
|
|
+ Long timestamp = redisUtil.get(dto.getLoginCode() + "time", Long.class);
|
|
|
+ long timeMillis = System.currentTimeMillis();
|
|
|
+ if(timeMillis - timestamp > 300000){
|
|
|
+ return RT.error("二维码失效,请刷新重试");
|
|
|
+ }
|
|
|
+ Boolean b = loginService.loginQRCode(dto);
|
|
|
+ if(b){
|
|
|
+ return RT.ok("登录成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ return RT.ok("登录失败,未能绑定微信公众号");
|
|
|
}
|
|
|
|
|
|
@PostMapping("/check-QR-code-login")
|