今天 sms4j 迎来了第一个大版本更新,2.0.0 版本正式发布!
本次的发布不仅仅项目结构发生了调整和变化,同时还伴随着诸多新的厂商和功能,下面我们来一起简单的看一下吧!
老版本中,groupId 为作者的个人网站,同时也是项目的官网,在新的版本中统一改为了 Dromara 的地址
<dependency>
<groupId>org.dromara.sms4j</groupId>
<artifactId>sms4j-spring-boot-starter</artifactId>
<version> 最新版本请查看gitee或官网 </version>
</dependency>
在 1.X 版本中,(前名称 sms-aggregatio)只支持单家运营商的使用,不能同时使用多家厂商,对于厂商的切换也只能依靠配置文件的改变,可以说是功能及其单一,但是在新版本中,添加了多厂商支持和并用,同时配置方式也发生了变化
sms:
alibaba:
#阿里云的accessKey
accessKeyId: 您的accessKey
#阿里云的accessKeySecret
accessKeySecret: 您的accessKeySecret
#短信签名
signature: 测试签名
#模板ID 用于发送固定模板短信使用
templateId: SMS_215125134
#模板变量 上述模板的变量
templateName: code
#请求地址 默认为dysmsapi.aliyuncs.com 如无特殊改变可以不用设置
requestUrl: dysmsapi.aliyuncs.com
huawei:
#华为短信appKey
appKey: 5N6fvXXXX920HaWhVXXXXXX7fYa
#华为短信appSecret
app-secret: Wujt7EYzZTBXXXXXXEhSP6XXXX
#短信签名
signature: 华为短信测试
#通道号
sender: 8823040504797
#模板ID 如果使用自定义模板发送方法可不设定
template-id: acXXXXXXXXc274b2a8263479b954c1ab5
#华为回调地址,如不需要可不设置或为空
statusCallBack:
#华为分配的app请求地址
url: https://XXXXX.cn-north-4.XXXXXXXX.com:443
@RestController
@RequestMapping("/test/")
public class DemoController {
// 测试发送固定模板短信
@RequestMapping("/")
public void doLogin(String username, String password) {
//阿里云向此手机号发送短信
SmsFactory.createSmsBlend(SupplierType.ALIBABA).sendMessage("18888888888","123456");
//华为短信向此手机号发送短信
SmsFactory.createSmsBlend(SupplierType.HUAWEI).sendMessage("16666666666","000000");
}
}
在以上仅仅只是示例,在实际的实用中可以同时支持更多的厂商。
sms4j 还添加了数据库配置的支持,开发者可以通过在数据库添加配置来替代配置文件,做到动态切换厂商
sms:
# 告诉框架要读取的厂商配置来源,此处为枚举形式
config-type: sql_config
sql:
# JDBC驱动
driver-class-name: com.mysql.cj.jdbc.Driver
# 要链接的数据库名称
database-name: dev
# 连接字符串
url: jdbc:mysql://localhost:3306
# 数据库账号
username: root
# 数据库密码
password: 123456
# 配置所在表名
table-name: config_info
# 厂商名称存储字段
supplier-field-name: user_name
# 配置所在字段
config-name: pay_psw
# 配置启用标识字段
start-name: state
# 配置启用值 此处意思为 当字段state值为1时,则启用这个配置
is-start: 1
更多的新特性和功能不在这里一 一介绍了,具体的可以查看官方文档或者 gitee 仓库
您的支持是我们前进的动力,如果我们的项目对您产生了帮助或者您觉得还不错,请为我们点上一颗 star