跳到主要内容

腾讯云短信配置

系统提供短信发送接口,完成配置后即可调用发送短信。当前支持版本 v3.9+

1. 在 yml 中配置腾讯云短信

  • smsSendType:短信发送方式(aliyun 阿里云、tencent 腾讯云),默认值为 aliyun
  • tencent:腾讯云短信配置块,启用 tencent 时必须填写
jeecg:
# 短信发送方式 aliyun阿里云短信 tencent腾讯云短信
smsSendType: tencent
# 腾讯云短信秘钥配置
tencent:
# 接入域名
endpoint: sms.tencentcloudapi.com
# 访问密钥(从腾讯云控制台获取)
secretId: ??
secretKey: ??
# 应用 ID(SdkAppId)
sdkAppId: ??
# 地域信息
region: ap-beijing

2. 配置短信模板并维护映射

  • 方案一:在 DySmsEnum.java 中维护短信模板枚举,keys 可为空

  • 方案二:在 ymloss.sms-template.templateCode 下配置模板。
    • key 填写固定编码,需与 DySmsEnum 中的 templateCode 保持一致;
    • value 填写模板 ID,该 ID 需先在腾讯云平台完成配置后获取。
jeecg:
oss:
# 短信模板
sms-template:
# 腾讯云模板 ID 映射
templateCode:
# 登录短信、忘记密码模板编码
SMS_1754357:
# 修改密码短信模板编码
SMS_4653912:
# 注册账号短信模板编码
SMS_1754316:
# 会议通知短信模板编码
SMS_2048046:
# 我的计划短信通知模板编码
SMS_2017051:
# 支付成功短信通知模板编码
SMS_4617516:
# 会员到期通知提醒模板编码
SMS_4618502:

3. 发送短信接口

可参考 LoginController.java/sms 接口的使用示例,直接调用 DySmsHelper.sendSms() 即可实现短信发送。

    String mobile = "18888888888";
JSONObject obj = new JSONObject();
obj.put("code", "123456");
/**
* smsmode 短信模板方式 0 .登录模板、1.注册模板、2.忘记密码模板
*/
if (CommonConstant.SMS_TPL_TYPE_0.equals(smsmode)) {
//登录模板
b = DySmsHelper.sendSms(mobile, obj, DySmsEnum.LOGIN_TEMPLATE_CODE);
} else if(CommonConstant.SMS_TPL_TYPE_2.equals(smsmode)) {
//忘记密码模板
b = DySmsHelper.sendSms(mobile, obj, DySmsEnum.FORGET_PASSWORD_TEMPLATE_CODE);
}

4. 接口参数说明

名称类型说明
phoneString手机号
templateParamJsonJSONObject短信内容
dySmsEnumDySmsEnum短信模板