不知道各位有没有发现一件事,现在是个东西他都要手机号和短信验证码
然后等你输入了手机号之后,各种营销短信,广告短信接踵而至。
好了别吐槽了,身为开发者,咱们都是原罪(当然发明验证码的人更是罪中罪)。
现在在项目中,短信功能几乎快成了标配,发短信这件事本身不难,但是烦就烦在各种的运营商和服务商各种的奇技淫巧,文档看了一堆又一堆,Demo写了一个又一个……标准不统一不说,功能还不一样,每次要写短信功能时候,先得去花不少的精力去看文档,还得看测试例子,还得自己试验,然后封装工具,最后写成功能。本来简简单单的事情,非得这么复杂,极大的浪费了我们工(mo)作(yu)的时间!差评!赶上了服务商涨价或者发现了更便宜的服务商想换一个的时候,发现这烦人的东西还得再来一遍,浪费这么多时间,还让我怎么愉快的工(mo)作(yu)。
为了广大猿友们能有更多的时间愉快的工(mo)作(yu),早日升值加薪,赢取白富美,走上人生巅峰,SMS Aggregation 应运而生!
接下来我们看看他怎么使用
首先 maven引入,目前他已经发布到了maven中央仓库,使用起来很方便
<dependency>
<groupId>kim.wind</groupId>
<artifactId>sms-aggregation-spring-boot-starter</artifactId>
<version> version </version>
</dependency>
接下来简单配置一下,每个厂商配置的参数大同小异,具体的可以去官网或gitee查看
sms:
# 短信服务商
supplier: alibaba
# 是否开启短信发送限制 默认false
restricted: true
# 以下设置仅在开启短信发送限制后生效
# 是否使用redis进行缓存 默认false
redisCache: true
# 单账号每日最大发送量
accountMax: 20
# 单账号每分钟最大发送
minuteMax: 2
alibaba:
#阿里云的accessKey
accessKeyId: 您的accessKey
#阿里云的accessKeySecret
accessKeySecret: 您的accessKeySecret
#短信签名
signature: 测试签名
#模板ID 用于发送固定模板短信使用
templateId: SMS_215125134
#模板变量 上述模板的变量
templateName: code
#请求地址 默认为dysmsapi.aliyuncs.com 如无特殊改变可以不用设置
requestUrl: dysmsapi.aliyuncs.com
然后就可以在项目中使用啦,使用 的方法更加简单,我们一起看一个例子
@RestController
@RequestMapping("/test/")
public class DemoController {
//注入短信工具
@Autowired
private SmsBlend sms;
// 测试发送固定模板短信
@RequestMapping("/")
public void doLogin(String username, String password) {
sms.sendMessage("18888888888","测试发送固定模板短信");
}
}
至此,整个发送短信的流程就结束了,他还支持异步短信,延时短信等等多种方式,在官网中有很详细的文档可以查看。
官网地址
gitee地址
github地址
开源不易,如果你觉得对你还算有用的话,请点上一颗小星星,如果使用中有什么问题或者有什么建议,可以随时在gitee留言或者在这里联系我,我每天都会关注,会第一时间回复
也欢迎大家参与到项目中,与我一起成长