榛子云——短信(工具)
榛子云——短信(工具)
- 一、介绍
- 二、添加依赖
- 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("短信发送失败");}}
榛子云——短信(工具)相关推荐
- Springboot+redis+榛子云短信验证服务进行登录
Springboot+redis+榛子云短信验证服务进行登录 前言 最近在做尚医通的医院预约挂号管理系统时,做到了使用阿里云的短信验证服务,但是现在阿里云的短信验证服务审核听说非常严格,主要是我没有专 ...
- php榛子云短信验证,java + maven +榛子云短信 实现发送短信验证码功能
如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信的接口. 下载下来是jar文件,需要将jar发布到本地的maven仓库中, 在cmd环境下输入: mvn install ...
- 榛子云短信-微信小程序60秒倒计时插件
为了帮助开发者更便捷的使用微信小程序的短信验证码功能,特别是初学者更好的使用,榛子云短信特地开发了60秒倒计时插件,效果: 使用方法 1.引入插件countdown.js var CountDown ...
- python通过榛子云短信平台发送短信验证码
一.注册榛子云短信平台用户 ①注册地址:http://smsow.zhenzikj.com/ ②充值,做个人测试的话十块钱足够啦!可以发送280条 ③进入应用管理下的我的应用里边查看AppId以及Ap ...
- 实测榛子云短信平台短信接收速度
这是属于移动互联网的时代,用户为什么要选择你的产品,你的产品如何突破同行的围剿,产品的体验度怎样提高,一个富有生命力的产品应该是怎样的? 身份效验几乎是每个网站与APP必走的流程,无论是在APP注册还 ...
- 榛子云短信验证平台与springboot集成的短信验证
登录 - 榛子云短信用户系统 (zhenzikj.com) 上面是登录榛子云短信验证平台的入口,此平台的短信大概为3.1分一条短信. 如何与spring boot进行集成呢,我以注册为例来慢慢讲解 1 ...
- php注册榛子云短信验证,java + maven +榛子云短信 实现发送短信验证码功能
如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信的接口. 下载下来是jar文件,需要将jar发布到本地的maven仓库中, 在cmd环境下输入: mvn install ...
- [风一样的创作]二次封装阿里云短信 验证码 发送短信 查询短信 编辑短信
1.首先要注册阿里云,购买阿里云短信服务,拿到AccessKey ID和AccessKey Secret 链接: https://usercenter.console.aliyun.com/#/man ...
- JAVA 实现阿里云短信申请模板以及批量发送短信
添加pom.xml依赖 <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java ...
- Java实现阿里云短信发送功能(保姆级!!!搞懂短信功能,这一篇就够了!)
目录 一.准备工作 1)功能如何切入? 2)为什么要用阿里云来实现? 二.阿里云部分 三.代码部分 OK,分享结束!收! 一.准备工作 1)功能如何切入? 第一步:分析业务需求,想要实现短信通知功能那 ...
最新文章
- 基于图像分析的铁路车号识别系统
- IT职场的一些处事之道
- Python项目实践:基本统计值计算
- Java接口四个类四则运算_java 实现四则运算小程序
- 20190824:(leetcode习题)报数
- oracle建库并使用HR范例,Oracle HR样例数据库建立
- 系列教程丨用 Docker 探索开源软件 —— Elasticsearch(一)
- 超声前置放大器原理是什么意思,前置放大器和功放区别
- 从零开始的运维之路【标题党】
- simpson积分公式
- c语言中windows.h是什么意思,c语言中memory.h有什么作用
- 调试The Annotated Transformer
- 如何查看Steam的17位Id
- mac c语言运行程序,Mac运行C语言
- luogu P3899 [湖南集训]谈笑风生 线段树合并
- python中\r的意义及用法
- 飞腾cpu服务器浪潮信息,推动国产化进程 浪潮发布飞腾服务器
- 【志强课堂】文案到底有何作用和威力?
- OpenSSL 使用拾遗(二)---- X509 证书的 SKID/AKID 字段
- 如何用标准IO逆序输出文件