当前位置: 首页 > wzjs >正文

平台式网站工业物联网平台

平台式网站,工业物联网平台,wordpress发布文章后页面错误,易语言做网站登录文章目录 1. 功能概述2. 技术栈3. 实现步骤3.1 短信服务集成3.2 创建短信工具类3.3 验证码生成和存储3.4 控制器实现发送短信验证码手机号+验证码注册短信验证码登录3.5 服务层实现4. 前端实现4.1 API层4.2 手机号注册页面5. 最佳实践6. 总结本文将介绍如何在Spring Boot应用中…

文章目录

    • 1. 功能概述
    • 2. 技术栈
    • 3. 实现步骤
      • 3.1 短信服务集成
      • 3.2 创建短信工具类
      • 3.3 验证码生成和存储
      • 3.4 控制器实现
        • 发送短信验证码
        • 手机号+验证码注册
        • 短信验证码登录
      • 3.5 服务层实现
    • 4. 前端实现
      • 4.1 API层
      • 4.2 手机号注册页面
    • 5. 最佳实践
    • 6. 总结

本文将介绍如何在Spring Boot应用中实现短信验证码注册和登录功能,为用户提供便捷的移动端认证体验。

1. 功能概述

我们将实现以下功能:

  • 手机号+验证码注册
  • 手机号+验证码登录

2. 技术栈

  • Spring Boot 3.2.0
  • 互亿无线短信平台
  • MyBatis Flex
  • JWT

原文链接:https://blog.ybyq.wang/archives/647.html

3. 实现步骤

3.1 短信服务集成

首先,需要在application.properties中配置短信平台信息:

# 短信配置
sms.account=C09251523
sms.apikey=826efdf7322e3c49355428a523c10eec

3.2 创建短信工具类

创建SmsUtil工具类处理短信发送:

@Component
public class SmsUtil {private static final Logger logger = LoggerFactory.getLogger(SmsUtil.class);// 短信发送API地址private static final String SMS_API_URL = "http://106.ihuyi.com/webservice/sms.php?method=Submit";// API账号和密码@Value("${sms.account:C09***523}")private String account;@Value("${sms.apikey:826efdf7322e3c49355***a523c10eec}")private String apiKey;/*** 发送短信验证码* @param phone 手机号* @param code 验证码* @return 发送结果,包含code和msg*/public Map<String, String> sendVerificationCode(String phone, String code) {Map<String, String> result = new HashMap<>();try {// 短信内容String content = "您的验证码是:" + code + "。请不要把验证码泄露给其他人。";// 发送请求String response = sendSmsRequest(phone, content);// 解析结果result = parseXmlResponse(response);// 记录日志if ("2".equals(result.get("code"))) {logger.info("短信发送成功,手机号: {}, 验证码: {}", phone, code);} else {logger.error("短信发送失败,手机号: {}, 错误信息: {}", phone, result.get("msg"));}} catch (Exception e) {logger.error("发送短信验证码异常", e);result.put("code", "0");result.put("msg", "系统异常,短信发送失败");}return result;}// 省略发送请求和解析响应的方法...
}

3.3 验证码生成和存储

UserServiceImpl中实现验证码管理:

// 在UserServiceImpl中
private final Map<String, String> smsCodeCache = new HashMap<>();@Override
public boolean sendSmsCode(String phone, String type) {try {// 校验手机号格式if (!isValidPhoneNumber(phone)) {return false;}// 生成6位随机验证码String code = generateRandomCode(6);// 将验证码存入缓存,实际项目中应使用Redis等缓存服务smsCodeCache.put(phone + ":" + type, code);// 发送短信Map<String, String> result = smsUtil.sendVerificationCode(phone, code);// 检查发送结果return "2".equals(result.get("code"));} catch (Exception e) {logger.error("发送短信验证码失败", e);return false;}
}@Override
public String getSmsCode(String phone, String type) {return smsCodeCache.get(phone + ":" + type);
}@Override
public void removeSmsCode(String phone, String type) {smsCodeCache.remove(phone + ":" + type);
}

3.4 控制器实现

发送短信验证码
@PostMapping("/send/sms")
public ResponseEntity<?> sendSmsCode(@RequestParam @NotBlank @Pattern(regexp = "^1[3-9]\\d{9}$", message = 
http://www.dtcms.com/wzjs/819476.html

相关文章:

  • 下载网站后怎么做seo外链优化策略
  • 网站建设当中的技术解决方案温州网蚁网络科技有限公司
  • 广州市做网站和生活爱辽宁免费下载安装
  • 网站后台编辑技巧vi设计都包括什么
  • 网站开发怎么使用维语济南效果图制作公司
  • 中山哪里可以做网站东营市建设信息网站
  • 可信网站认证服务商上海优质建筑设计网公司
  • 品牌宣传型网站构成玩具公司网站建设方案
  • 个人做网站备案多少钱团购网站开发与设计
  • fullpage做的网站wordpress主题500错误
  • nginx wordpress 多站点公司做网站比较好的
  • 广州建站网络公司手机电脑网站 建站程序
  • 国外互联网资讯网站楚雄网站开发
  • 免费外贸自建网站wordpress 加水印
  • 建设网站代理网站优化公司上海
  • 深圳阿里网站设计公司辽宁建设工程信息网专家入库
  • 网站建设试卷做网站还是app好
  • 怎样加入网站痘痘怎么去除有效果
  • 省级别网站建设方案用自己的电脑做网站划算
  • 河津网站建设公司网站开发维护
  • 怎么制作自己的免费网站网络营销策划以什么为核心
  • 免费个人博客网站模板下载余姚外贸网站建设
  • 网站开发经验与教训美工培训速成班学费
  • 如何建立一个网站分享教程找人做效果图去什么网站
  • 深圳品牌建网站电商项目策划书
  • 深圳模板网站制作网站制作前期所需要准备
  • 网站服务器关闭怎么恢复企业管理培训课程视频
  • 阿里企业网站建设评估ui素材
  • 网站建设公司工作枯燥吗商旅平台app官网下载
  • 怎么找人做淘宝网站吗各种网站开发工具