短信通知配置
# 说明
框架内已经实现了腾讯云
和阿里云
的发送短信API,如果有其他平台需求,可以实现SmsService
的sendSms
接口
在使用之前,你需要在系统参数里进行配置一下
参数名为:sys.sms.config
配置完之后,可以在 系统工具-功能测试
页面进行测试
# 使用
直接静态调用SmsUtil
工具类里的sendSms
方法即可,有两个重载方法
/**
* 发送短信
* <p>
* <h4>关于phones参数</h4><br>
* 腾讯云:格式为+[国家或地区码][手机号],单次请求最多支持200个手机号且要求全为境内手机号或全为境外手机号,发送国内短信格式还支持0086、86或无任何国家或地区码的11位手机号码,前缀默认为+86。<br><br>
* 阿里云:国内短信:+/+86/0086/86或无任何前缀的11位手机号码,例如1390000****。国际/港澳台消息:国际区号+号码,例如852000012****。单次上限为1000个手机号码
* </p>
* <p>
* <h4>关于param参数</h4><br>
* 腾讯云:例如模板为:例如模板为:验证码为:{1},有效期为{2}分钟,如非本人操作,请忽略本短信。那么key=1,value=6666,key=2,value=5<br><br>
* 阿里云:例如模板为:您的验证码为:${code},请勿泄露于他人!那么key=code,value=1234
* </p>
*
* @param phones 多个手机号用,隔开
* @param templateId
* @param param
* @return
*/
SmsSendResult sendSms(String phones, String templateId, Map<String, String> param);
/**
* 发送短信
* <p>
* <h4>关于phones参数</h4><br>
* 腾讯云:格式为+[国家或地区码][手机号],单次请求最多支持200个手机号且要求全为境内手机号或全为境外手机号,发送国内短信格式还支持0086、86或无任何国家或地区码的11位手机号码,前缀默认为+86。<br><br>
* 阿里云:国内短信:+/+86/0086/86或无任何前缀的11位手机号码,例如1390000****。国际/港澳台消息:国际区号+号码,例如852000012****。单次上限为1000个手机号码
* </p>
* <p>
* <h4>关于param参数</h4><br>
* 腾讯云:例如模板为:例如模板为:验证码为:{1},有效期为{2}分钟,如非本人操作,请忽略本短信。那么key=1,value=6666,key=2,value=5<br><br>
* 阿里云:例如模板为:您的验证码为:${code},请勿泄露于他人!那么key=code,value=1234
* </p>
*
* @param phones 多个手机号用,隔开
* @param templateId
* @param param
* @param type 指定平台,aliyun=阿里云,tencent=腾讯云
* @return
*/
SmsSendResult sendSms(String phones, String templateId, Map<String, String> param, String type);
# 配置说明
config节点 | 说明 | 取值 |
---|---|---|
type | 使用平台,要使用哪个平台进行发送短信 | 在platform节点中定义了,并且代码中有相应实现 |
platform节点 | 说明 | 取值 |
---|---|---|
xxx | 你定义的平台名称,例如aliyun、tencent | aliyun=阿里云,tencent=腾讯云 |
# 框架已经实现的平台的配置说明
aliyun节点 | 说明 | 取值 |
---|---|---|
enable | 是否启用该平台 | true/false |
endpoint | 域名 | 固定为:dysmsapi.aliyuncs.com |
accessKeyId | 秘钥ID | 你懂得 |
accessKeySecret | 秘钥KEY | 你懂得 |
signName | 签名 | 你懂得 |
tencent节点 | 说明 | 取值 |
---|---|---|
enable | 是否启用该平台 | true/false |
endpoint | 域名 | 固定为:sms.tencentcloudapi.com |
accessKeyId | 秘钥ID | 你懂得 |
accessKeySecret | 秘钥KEY | 你懂得 |
signName | 签名 | 你懂得 |
sdkAppId | 应用ID。腾讯云专属 | 你懂得 |
# 示例配置
{
"config": {
"type": "aliyun"
},
"platform": {
"aliyun": {
"enable": "true",
"endpoint": "dysmsapi.aliyuncs.com",
"accessKeyId": "LTAI5tNxxxxxxxxxxx6RpcQ9",
"accessKeySecret": "N9GXxxxxxxxxxxxxxxxxxGPqW8",
"signName": "MyAdmin"
},
"tencent": {
"enable": "true",
"endpoint": "sms.tencentcloudapi.com",
"accessKeyId": "AKID2oPDxxxxxxxxxxxxHfoYZGw",
"accessKeySecret": "e6JTPxxxxxxxxxxxxxxC5g05",
"signName": "个人开发记录网",
"sdkAppId": "1406666693"
}
}
}
上次更新: 2024/09/20, 10:00:15