榛子云——短信(工具)

  • 一、介绍
  • 二、添加依赖
    • 2.1 pom.xml文件(SpringBoot项目)
    • 2.2 全局配置
    • 2.3 自定义读取短信参数的工具类
    • 2.4 随机验证码生成(拓展工具类)
    • 2.5 正则表达式验证数据(拓展工具类)
  • 三、案例演示

一、介绍

榛子云文档(官网SDK)

二、添加依赖

2.1 pom.xml文件(SpringBoot项目)

<!-- 榛子云短信的依赖 -->
<dependency><groupId>com.zhenzikj</groupId><artifactId>zhenzisms</artifactId><version>2.0.2</version>
</dependency>
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.12</version>
</dependency>

2.2 全局配置

#榛子云短信配置
zhenzi:apiUrl: https://sms_developer.zhenzikj.com #注意区别个人用户和企业用户appId: 填写自己的APPIDappSecret: 填写自己的APPSecrettemplateId: 填写自己的模板id #模板idinvalidTimer: 1 #失效时间1分钟(提示)

2.3 自定义读取短信参数的工具类

/*** @Description* @Author cb* @Date 2021-11-25 10:06**/
@Data
@Component
@ConfigurationProperties(prefix = "zhenzi")
public class ZhenZiYunSMSUtils {private String apiUrl;          //apiUrlprivate String appId;           //应用idprivate String appSecret;       //应用secretprivate String templateId;      //模板idprivate String invalidTimer;    //失效时间/*** 发送短信验证码** @param telNumber 接收者手机号码* @param validateCode 随机验证码(四位或六位)* @return*/public void sendSMS(String telNumber, String validateCode) throws Exception {//榛子云短信 客户端//请求地址,个人开发者使用https://sms_developer.zhenzikj.com,企业开发者使用https://sms.zhenzikj.comZhenziSmsClient client = new ZhenziSmsClient(apiUrl, appId, appSecret);//存放请求参数的map集合Map<String, Object> params = new HashMap<String, Object>();//接收者手机号码params.put("number", telNumber);//短信模板IDparams.put("templateId", templateId);//短信模板参数String[] templateParams = new String[2];templateParams[0] = validateCode;templateParams[1] = invalidTimer;params.put("templateParams", templateParams);/*** 1.send方法用于单条发送短信,所有请求参数需要封装到Map中;* 2.返回结果为json串:{ "code":0,"data":"发送成功"}* 3.备注:(code: 发送状态,0为成功。非0为发送失败,可从data中查看错误信息)*/String result = client.send(params);}}

2.4 随机验证码生成(拓展工具类)

/*** @author cb* @Description 随机生成验证码工具类* @Date 2021/12/26 10:59*/
public class RandomUtil {/*** 随机生成验证码* @param length 长度为4位或者6位* @return*/public static String generateValidateCode(int length){Integer code =null;if(length == 4){code = new Random().nextInt(9999);//生成随机数,最大为9999if(code < 1000){code = code + 1000;//保证随机数为4位数字}}else if(length == 6){code = new Random().nextInt(999999);//生成随机数,最大为999999if(code < 100000){code = code + 100000;//保证随机数为6位数字}}else{throw new RuntimeException("只能生成4位或6位数字验证码");}return String.valueOf(code);}}

2.5 正则表达式验证数据(拓展工具类)

常见正则表达式——工具类(手机号,邮箱,QQ,传真)

三、案例演示

/*** @Description* @Author cb* @Date 2022-01-05 23:51**/
@RestController
@RequestMapping("/api/sms")
@Api(tags = "短信管理的接口")
public class SmsApiController {@Autowiredprivate RedisUtils redisUtils;@Autowiredprivate SmsService smsService;//发送手机验证码@ApiOperation("发送手机验证码")@GetMapping("send/{phone}")public Result sendCode(@PathVariable String phone) {//判断手机号是否为空if (StringUtils.isEmpty(phone)) {return Result.setResult(ResponseEnum.MOBILE_NULL_ERROR);}boolean flag = RegexValidateUtil.checkphone(phone);
//        if (!flag) {//            return Result.setResult(ResponseEnum.MOBILE_ERROR);
//        }//生成验证码String code = RandomUtil.generateValidateCode(4);//调用service的方法来发送验证码短信boolean b = smsService.sendShortMessage(phone, code);if (b) {//将验证码存入redisString key = "ymjr:sms:code:" + phone;redisUtils.set(key, code, 120);return Result.ok().message("短信发送成功");}return Result.error().message("短信发送失败");}}


榛子云——短信(工具)相关推荐

  1. Springboot+redis+榛子云短信验证服务进行登录

    Springboot+redis+榛子云短信验证服务进行登录 前言 最近在做尚医通的医院预约挂号管理系统时,做到了使用阿里云的短信验证服务,但是现在阿里云的短信验证服务审核听说非常严格,主要是我没有专 ...

  2. php榛子云短信验证,java + maven +榛子云短信 实现发送短信验证码功能

    如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信的接口. 下载下来是jar文件,需要将jar发布到本地的maven仓库中, 在cmd环境下输入: mvn install ...

  3. 榛子云短信-微信小程序60秒倒计时插件

    为了帮助开发者更便捷的使用微信小程序的短信验证码功能,特别是初学者更好的使用,榛子云短信特地开发了60秒倒计时插件,效果: 使用方法 1.引入插件countdown.js var CountDown ...

  4. python通过榛子云短信平台发送短信验证码

    一.注册榛子云短信平台用户 ①注册地址:http://smsow.zhenzikj.com/ ②充值,做个人测试的话十块钱足够啦!可以发送280条 ③进入应用管理下的我的应用里边查看AppId以及Ap ...

  5. 实测榛子云短信平台短信接收速度

    这是属于移动互联网的时代,用户为什么要选择你的产品,你的产品如何突破同行的围剿,产品的体验度怎样提高,一个富有生命力的产品应该是怎样的? 身份效验几乎是每个网站与APP必走的流程,无论是在APP注册还 ...

  6. 榛子云短信验证平台与springboot集成的短信验证

    登录 - 榛子云短信用户系统 (zhenzikj.com) 上面是登录榛子云短信验证平台的入口,此平台的短信大概为3.1分一条短信. 如何与spring boot进行集成呢,我以注册为例来慢慢讲解 1 ...

  7. php注册榛子云短信验证,java + maven +榛子云短信 实现发送短信验证码功能

    如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信的接口. 下载下来是jar文件,需要将jar发布到本地的maven仓库中, 在cmd环境下输入: mvn install ...

  8. [风一样的创作]二次封装阿里云短信 验证码 发送短信 查询短信 编辑短信

    1.首先要注册阿里云,购买阿里云短信服务,拿到AccessKey ID和AccessKey Secret 链接: https://usercenter.console.aliyun.com/#/man ...

  9. JAVA 实现阿里云短信申请模板以及批量发送短信

    添加pom.xml依赖 <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java ...

  10. Java实现阿里云短信发送功能(保姆级!!!搞懂短信功能,这一篇就够了!)

    目录 一.准备工作 1)功能如何切入? 2)为什么要用阿里云来实现? 二.阿里云部分 三.代码部分 OK,分享结束!收! 一.准备工作 1)功能如何切入? 第一步:分析业务需求,想要实现短信通知功能那 ...

最新文章

  1. 基于图像分析的铁路车号识别系统
  2. IT职场的一些处事之道
  3. Python项目实践:基本统计值计算
  4. Java接口四个类四则运算_java 实现四则运算小程序
  5. 20190824:(leetcode习题)报数
  6. oracle建库并使用HR范例,Oracle HR样例数据库建立
  7. 系列教程丨用 Docker 探索开源软件 —— Elasticsearch(一)
  8. 超声前置放大器原理是什么意思,前置放大器和功放区别
  9. 从零开始的运维之路【标题党】
  10. simpson积分公式
  11. c语言中windows.h是什么意思,c语言中memory.h有什么作用
  12. 调试The Annotated Transformer
  13. 如何查看Steam的17位Id
  14. mac c语言运行程序,Mac运行C语言
  15. luogu P3899 [湖南集训]谈笑风生 线段树合并
  16. python中\r的意义及用法
  17. 飞腾cpu服务器浪潮信息,推动国产化进程 浪潮发布飞腾服务器
  18. 【志强课堂】文案到底有何作用和威力?
  19. OpenSSL 使用拾遗(二)---- X509 证书的 SKID/AKID 字段
  20. 如何用标准IO逆序输出文件

热门文章

  1. 数据库设计规范(详细)
  2. java 10000以内的质数_10000以内的质数总表
  3. PS把模糊的照片变清晰
  4. c语言开发 kdj,[转载]随机指标KDJ,及其MA、EMA、SMA、DMA介绍
  5. HTML期末学生大作业:中华传统文化【苏绣手工艺】带psd设计图(15页)
  6. 雅虎新频道Buzz截图,Digg竞争者?
  7. 手机不能上网原因分析及检测手段
  8. 用java实现电脑的usb功能,包括鼠标,键盘
  9. Blender 粒子系统 调整粒子物理大小
  10. git 放弃本地修改