JAVA全系列 教程
3762个小节阅读:7091.9k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
手机号验证码登录的流程为:
用户先输入手机号,向该手机号发送随机验证码,并将验证码保存到redis中。
用户收到短信后将验证码输入,如果验证码和redis中的验证码匹配成功,证明登录者就是使用该手机的用户,登录成功。
在用户服务模块编写用户服务接口实现类
xxxxxxxxxx
// 保存登录验证码到redis
@Override
public void saveLoginCheckCode(String phone, String checkCode) {
ValueOperations valueOperations = redisTemplate.opsForValue();
// redis键为手机号,值为验证码,过期时间5分钟
valueOperations.set("loginCode:" + phone, checkCode, 300, TimeUnit.SECONDS);
}
在用户API模块编写控制器
xxxxxxxxxx
/**
* 发送登录短信验证码
*
* @param phone 手机号
* @return 操作结果
*/
@GetMapping("/sendLoginCheckCode")
public BaseResult sendLoginCheckCode(String phone) {
// 1.生成随机四位数
String checkCode = RandomUtil.buildCheckCode(4);
// 2.发送短信
BaseResult result = messageService.sendMessage(phone, checkCode);
// 3.发送成功,将验证码保存到redis中,发送失败,返回发送结果
if (200 == result.getCode()) {
shoppingUserService.saveLoginCheckCode(phone, checkCode);
return BaseResult.ok();
} else {
return result;
}
}
测试控制器