返回顶部
首页 > 资讯 > 服务器 >瑞吉外卖项目:短信服务与手机验证码登录
  • 546
分享到

瑞吉外卖项目:短信服务与手机验证码登录

服务器运维 2023-09-30 07:09:20 546人浏览 八月长安
摘要

一. 短信发送 现在有很多第三方提供的短信服务,这些短信服务会与短信运营商所对接,我们只需按照提供的接口文档进行开发调用就可以发送短信服务,这个过程一般是需要收费的。 常用的第三方短信服务: 阿里云,华为云,腾讯云,京东,梦网,乐信等。

一. 短信发送

现在有很多第三方提供的短信服务,这些短信服务会与短信运营商所对接,我们只需按照提供的接口文档进行开发调用就可以发送短信服务,这个过程一般是需要收费的。

常用的第三方短信服务:

阿里云,华为云,腾讯云,京东,梦网,乐信等。

阿里云短信服务为例:

阿里云短信服务(Short Message Service)是广大企业客户快速触达手机用户所优选使用的通信能力。

调用api或用群发助手,即可发送验证码、通知类和营销类短信;国内验证短信秒级触达,到达率最高可达99%。

国际/港澳台短信覆盖200多个国家和地区,安全稳定,广受出海企业选用。

主要应用于验证码,短信通知,推广短信。

若是个人是无法使用阿里云短信服务的,添加签名时需要企业账号。

开发过程中,我们可以使用阿里云提供的API发送短信测试功能进行代码测试。

可以查看根据阿里云提供的短信服务的接口文档

二. 手机验证码登录

通常移动端通过使用手机验证码进行登录,主要有这些优点:

  • 方便快捷,无需注册直接登录
  • 无需记忆密码
  • 安全

流程:

输入手机号获取验证码后点击登录,登录成功。

用户模型使用一张表user表

  1.  在登录页面(front/page/loginhtml)输入手机号,点击【获取验证码】按钮,页面发送ajax请求,在服务端调用短信服务API给指定手机号发送验证码短信
  2. 在登录页面输入验证码,点击【登录】按钮,发送ajax请求,在服务端处理登录请求

  

之前对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

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作