一. 短信发送 现在有很多第三方提供的短信服务,这些短信服务会与短信运营商所对接,我们只需按照提供的接口文档进行开发调用就可以发送短信服务,这个过程一般是需要收费的。 常用的第三方短信服务: 阿里云,华为云,腾讯云,京东,梦网,乐信等。
现在有很多第三方提供的短信服务,这些短信服务会与短信运营商所对接,我们只需按照提供的接口文档进行开发调用就可以发送短信服务,这个过程一般是需要收费的。
常用的第三方短信服务:
阿里云,华为云,腾讯云,京东,梦网,乐信等。
以阿里云短信服务为例:
阿里云短信服务(Short Message Service)是广大企业客户快速触达手机用户所优选使用的通信能力。
调用api或用群发助手,即可发送验证码、通知类和营销类短信;国内验证短信秒级触达,到达率最高可达99%。
国际/港澳台短信覆盖200多个国家和地区,安全稳定,广受出海企业选用。
主要应用于验证码,短信通知,推广短信。
若是个人是无法使用阿里云短信服务的,添加签名时需要企业账号。
开发过程中,我们可以使用阿里云提供的API发送短信测试功能进行代码测试。
可以查看根据阿里云提供的短信服务的接口文档
通常移动端通过使用手机验证码进行登录,主要有这些优点:
流程:
输入手机号获取验证码后点击登录,登录成功。
用户模型使用一张表user表
之前对PC端登录进行用户校验,同样移动端也需要进行登录校验,修改LoginCheckFilter.java:
String[] urls = new String[]{ "/employee/login", "/employee/loGout", "/backend @PostMapping("/sendMsg") public R sendMsg(@RequestBody User user, httpsession session){ // 获取手机号 String phone = user.getPhone(); if(StringUtils.isNotEmpty(phone)){ // 生成验证码 String code = ValidateCodeUtils.generateValidateCode4String(4).toString(); log.info("瑞吉外卖验证码:code为:" + code); // 调用阿里云短信服务API完成发送短信 // SMSUtils.sendMessage("瑞吉外卖","",phone,validateCode4String); // 将生成的验证码保存 session.setAttribute(phone,code); return R.success("短信发送成功"); } return R.error("短信发送失败"); }
API
UserController.java实现登录:
@PostMapping("/login")public R login(@RequestBody Map map, HttpSession session){ log.info(map.toString()); // 获取手机号 String phone = (String) map.get("phone"); // 获取验证码 String code = (String) map.get("code"); // session中获取验证码 Object codeSession = session.getAttribute(phone); // 比对验证码 if(codeSession!=null&&codeSession.equals(code)){ // 成功,则登录 // 判断当前用户是否为新用户,新用户自动完成注册 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); // 手机号查询新用户 queryWrapper.eq(User::getPhone, phone); User user = userService.getOne(queryWrapper); if(user==null){ user = new User(); user.setPhone(phone); user.setStatus(CommonsConst.EMPLOYEE_STATUS_YES); userService.save(user); } session.setAttribute("user",user); return R.success(user); } return R.error("登录失败,验证码有误");}
测试要点:验证码是否生成正确,新用户是否完成注册。
最后测试成功,可以完成登录。
来源地址:https://blog.csdn.net/qq_41857955/article/details/124912753
--结束END--
本文标题: 瑞吉外卖项目:短信服务与手机验证码登录
本文链接: https://lsjlt.com/news/421736.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0