更新SMS配置

This commit is contained in:
coolcalf 2024-06-27 13:54:02 +08:00
parent d47b38c155
commit 4c43f221a0
3 changed files with 50 additions and 13 deletions

View File

@ -5,15 +5,33 @@
"Aliyun": {
"AccessKeyId": "",
"AccessKeySecret": "",
"SignName": "AdminNET 平台", //
"TemplateCode": "" //
"Templates": [
{
"Id": "0",
"SignName": "AdminNET 平台",
"TemplateCode": "SMS_291005708",
"Content": "您的验证码为:${code},请勿泄露于他人!"
},
{
"Id": "1",
"SignName": "AdminNET 平台",
"TemplateCode": "SMS_462801755",
"Content": "注册成功,感谢您的注册,请妥善保管您的账户信息"
}
]
},
"Tencentyun": {
"SdkAppId": "",
"AccessKeyId": "",
"AccessKeySecret": "",
"SignName": "AdminNET 平台", //
"TemplateCode": "" //
"Templates": [
{
"Id": "0",
"SignName": "AdminNET 平台",
"TemplateCode": "",
"Content": ""
}
]
}
}
}

View File

@ -40,12 +40,27 @@ public sealed class SMSSettings
public string AccessKeySecret { get; set; }
/// <summary>
/// 短信签名
/// Templates
/// </summary>
public string SignName { get; set; }
public List<SmsTemplate> Templates { get; set; }
/// <summary>
/// 短信模板
/// GetTemplate
/// </summary>
public string TemplateCode { get; set; }
public SmsTemplate GetTemplate(string id = "0")
{
foreach (var template in Templates)
{
if (template.Id == id) { return template; }
}
return null;
}
}
public class SmsTemplate
{
public string Id { get; set; } = string.Empty;
public string SignName { get; set; }
public string TemplateCode { get; set; }
public string Content { get; set; }
}

View File

@ -8,6 +8,7 @@ using AlibabaCloud.SDK.Dysmsapi20170525.Models;
using TencentCloud.Common;
using TencentCloud.Common.Profile;
using TencentCloud.Sms.V20190711;
using static SKIT.FlurlHttpClient.Wechat.Api.Models.ComponentTCBBatchCreateContainerServiceVersionRequest.Types;
namespace Admin.NET.Core.Service;
@ -65,11 +66,12 @@ public class SysSmsService : IDynamicApiController, ITransient
});
var client = CreateAliyunClient();
var template = _smsOptions.Aliyun.GetTemplate();
var sendSmsRequest = new SendSmsRequest
{
PhoneNumbers = phoneNumber, // 待发送手机号, 多个以逗号分隔
SignName = _smsOptions.Aliyun.SignName, // 短信签名
TemplateCode = _smsOptions.Aliyun.TemplateCode, // 短信模板
SignName = template.SignName, // 短信签名
TemplateCode = template.TemplateCode, // 短信模板
TemplateParam = templateParam.ToString(), // 模板中的变量替换JSON串
OutId = YitIdHelper.NextId().ToString()
};
@ -104,11 +106,12 @@ public class SysSmsService : IDynamicApiController, ITransient
throw Oops.Oh("短信内容不能为空");
var client = CreateAliyunClient();
var template = _smsOptions.Aliyun.GetTemplate();
var sendSmsRequest = new SendSmsRequest
{
PhoneNumbers = phoneNumber, // 待发送手机号, 多个以逗号分隔
SignName = _smsOptions.Aliyun.SignName, // 短信签名
TemplateCode = _smsOptions.Aliyun.TemplateCode, // 短信模板
SignName = template.SignName, // 短信签名
TemplateCode = template.TemplateCode, // 短信模板
TemplateParam = templateParam.ToString(), // 模板中的变量替换JSON串
OutId = YitIdHelper.NextId().ToString()
};
@ -142,13 +145,14 @@ public class SysSmsService : IDynamicApiController, ITransient
// 实例化要请求产品的client对象clientProfile是可选的
var client = new SmsClient(CreateTencentClient(), "ap-guangzhou", new ClientProfile() { HttpProfile = new HttpProfile() { Endpoint = ("sms.tencentcloudapi.com") } });
var template = _smsOptions.Tencentyun.GetTemplate();
// 实例化一个请求对象,每个接口都会对应一个request对象
var req = new TencentCloud.Sms.V20190711.Models.SendSmsRequest
{
PhoneNumberSet = new string[] { "+86" + phoneNumber.Trim(',') },
SmsSdkAppid = _smsOptions.Tencentyun.SdkAppId,
Sign = _smsOptions.Tencentyun.SignName,
TemplateID = _smsOptions.Tencentyun.TemplateCode,
Sign = template.SignName,
TemplateID = template.TemplateCode,
TemplateParamSet = new string[] { verifyCode.ToString() }
};