注意事项:报错
1.connectionException:前端报错500,没启动redis;
2.bindException:启动异常,xml文件没写到resource下面;
后台登录功能实现
步骤: 1.首先入参校验;
2.通过输入的账号与数据库里的账号进行对比;
3.账号存在拿到密码,对比密码是否正确;
4.信息存入redis;
5.数据信息传给前端;
1.首先入参校验;
//入参校验
if (!StrUtil.isNotEmpty(loginInfo.getUsername())) {
return JSONResult.success("账号不能为空");
}
if (!StrUtil.isNotEmpty(loginInfo.getPassword())) {
return JSONResult.success("密码不能为空");
}
2.通过输入的账号与数据库里的账号进行对比;
3.账号存在拿到密码,对比密码是否正确;
//校验账号 ,通过账号拿到密码
Example example = new Example(LoginInfo.class);
example.and().andEqualTo("username", loginInfo.getUsername());
List<LoginInfo> infoList = loginInfoMapper.selectByExample(example);
if(CollectionUtils.isEmpty(infoList)){
return JSONResult.error("账号错误之");
}
LoginInfo login = infoList.get(0);
//比对密码 存入redis
String password = login.getPassword();
String infoPassword = loginInfo.getPassword();
if (!infoPassword.equals(password)) {
return JSONResult.error("密码错误,请重新输入");
}
4.信息存入redis;
String token = UUID.randomUUID().toString();
redisTemplate.opsForValue().set(token, JSONObject.toJSONString(login), 30, TimeUnit.MINUTES);
5.数据信息传给前端;
//返回结果给前端 用map
HashMap<String, Object> map = new HashMap<>();
map.put("token", token);
map.put("userInfo", login);
return JSONResult.success(map);