700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > SpringBoot 实现手机发送短信验证码

SpringBoot 实现手机发送短信验证码

时间:2023-02-21 13:41:07

相关推荐

SpringBoot 实现手机发送短信验证码

手机发送短信

内容一、手机发送短信1. 前端界面代码2. UserInfoController 控制器3. application.properties 配置类文件4. 具体实现总结

内容

一、手机发送短信

1. 前端界面代码

10秒内不能重复发送验证码

//短信发送$('.vcode-send').click(function () {if ($(this).hasClass('disabled')) {} else {var self = $(this);var count = 10;self.addClass('disabled');self.text(count + '秒后重新获取');var timer = setInterval(function () {count--;if (count > 0) {self.text(count + '秒后重新获取');} else {clearInterval(timer);self.text('重新获取验证码');self.removeClass("disabled");}}, 1000);var phone = $("#phone").val();$.get(domainUrl + "/users/sendVerifyCode", {phone:phone}, function (data) {console.log(data);if(data.code == 200){popup("发送成功")} else {popup(data.msg);}});}});

2. UserInfoController 控制器

package com.yy.springboot.controller;@RestController@RequestMapping("/users")public class UserInfoController {@Autowiredprivate IUserInfoService userInfoService;@GetMapping("/sendVerifyCode")public JsonResult<UserInfo> sendVerifyCode(String phone) {return userInfoService.sendVerifyCode(phone);}}

3. application.properties 配置类文件

找一个发短信的服务商,如去京东万象找一个短信服务商,根据它提供的接口来实现发送短信功能;

转码结果:

sms.url=/kaixintong/kaixintong?mobile={0}&content=\u3010\u51ef\u4fe1\u901a\u3011\u60a8\u7684\u9a8c\u8bc1\u7801\u662f\uff1a{1}&appkey={2}sms.appkey=f3c4f8c6845efddac0420ebbfeae256f

4. 具体实现

// URL 和 appkey 是上面配置文件中的URL和appkey@Value("${sms.url}")private String url;@Value("${sms.appkey}")private String appkey;@Overridepublic JsonResult<UserInfo> sendVerifyCode(String phone) {// 1、创建随机验证码(4位)String code = UUID.randomUUID().toString().replaceAll("-", "").substring(0, 4);// 2、发送短信// java 如何发起 Http 请求// 参数1:请求 url,参数2:响应值类型对象(将返回值转换成什么类型对象)// 参数3:路径上的参数值RestTemplate restTemplate = new RestTemplate();String message = restTemplate.getForObject(url, String.class, phone, code, appkey);System.out.println("message = " + message);if (!message.contains("Success")) {throw new LogicException("短信发送失败");}// 4、缓存验证码-以 phone 为 key,code 为 valuereturn userInfoRedisService.sendVerifyCode(phone, code);}

总结

上面就是手机发送短信验证码的总结了,代码仅供参考,欢迎讨论交流。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。