😎1、调整阿里短信发送 2、升级依赖

This commit is contained in:
zuohuaijun 2024-09-27 19:57:22 +08:00
parent 2fd3f13b17
commit 5ca30dfee7
4 changed files with 35 additions and 22 deletions

View File

@ -17,7 +17,7 @@
<PackageReference Include="AngleSharp" Version="1.1.2" />
<PackageReference Include="AspectCore.Extensions.Reflection" Version="2.4.0" />
<PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" />
<PackageReference Include="Elastic.Clients.Elasticsearch" Version="8.15.6" />
<PackageReference Include="Elastic.Clients.Elasticsearch" Version="8.15.7" />
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.5.12" />
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.5.12" />
<PackageReference Include="Furion.Pure" Version="4.9.5.12" />
@ -42,7 +42,7 @@
<PackageReference Include="SqlSugarCore" Version="5.1.4.169" />
<PackageReference Include="SSH.NET" Version="2024.1.0" />
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.4.5" />
<PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1095" />
<PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1097" />
<PackageReference Include="UAParser" Version="3.1.47" />
<PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />
</ItemGroup>

View File

@ -11,7 +11,6 @@ public class SmsVerifyCodeInput
/// <summary>
/// 手机号码
/// </summary>
/// <example>admin</example>
[Required(ErrorMessage = "手机号码不能为空")]
[DataValidation(ValidationTypes.PhoneNumber, ErrorMessage = "手机号码不正确")]
public string Phone { get; set; }
@ -19,7 +18,28 @@ public class SmsVerifyCodeInput
/// <summary>
/// 验证码
/// </summary>
/// <example>123456</example>
[Required(ErrorMessage = "验证码不能为空"), MinLength(4, ErrorMessage = "验证码不能少于4个字符")]
public string Code { get; set; }
}
public class AliyunSendSmsTemplateInput
{
/// <summary>
/// 手机号码
/// </summary>
[Required(ErrorMessage = "手机号码不能为空")]
[DataValidation(ValidationTypes.PhoneNumber, ErrorMessage = "手机号码不正确")]
public string PhoneNumber { get; set; }
/// <summary>
/// 短信模板Id
/// </summary>
[Required(ErrorMessage = "短信模板Id不能为空")]
public string TemplateId { get; set; } = "0";
/// <summary>
/// 短信内容
/// </summary>
[Required(ErrorMessage = "短信内容不能为空")]
public string TemplateParam { get; set; }
}

View File

@ -109,27 +109,20 @@ public class SysSmsService : IDynamicApiController, ITransient
/// <summary>
/// 发送短信模板
/// </summary>
/// <param name="phoneNumber"></param>
/// <param name="templateParam"></param>
/// <param name="input"></param>
/// <returns></returns>
[AllowAnonymous]
[DisplayName("发送短信模板")]
public async Task AliyunSendSmsTemplate([Required] string phoneNumber, [Required] dynamic templateParam)
public async Task AliyunSendSmsTemplate(AliyunSendSmsTemplateInput input)
{
if (!phoneNumber.TryValidate(ValidationTypes.PhoneNumber).IsValid)
throw Oops.Oh("请正确填写手机号码");
if (string.IsNullOrWhiteSpace(templateParam.ToString()))
throw Oops.Oh("短信内容不能为空");
var client = CreateAliyunClient();
var template = _smsOptions.Aliyun.GetTemplate();
var template = _smsOptions.Aliyun.GetTemplate(input.TemplateId);
var sendSmsRequest = new SendSmsRequest
{
PhoneNumbers = phoneNumber, // 待发送手机号, 多个以逗号分隔
PhoneNumbers = input.PhoneNumber, // 待发送手机号, 多个以逗号分隔
SignName = template.SignName, // 短信签名
TemplateCode = template.TemplateCode, // 短信模板
TemplateParam = templateParam.ToString(), // 模板中的变量替换JSON串
TemplateParam = input.TemplateParam.ToString(), // 模板中的变量替换JSON串
OutId = YitIdHelper.NextId().ToString()
};
var sendSmsResponse = await client.SendSmsAsync(sendSmsRequest);

View File

@ -2,7 +2,7 @@
"name": "admin.net.pro",
"type": "module",
"version": "2.4.33",
"lastBuildTime": "2024.09.26",
"lastBuildTime": "2024.09.27",
"description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架",
"author": "zuohuaijun",
"license": "MIT",
@ -32,7 +32,7 @@
"echarts": "^5.5.1",
"echarts-gl": "^2.0.9",
"echarts-wordcloud": "^2.1.0",
"element-plus": "^2.8.3",
"element-plus": "^2.8.4",
"exceljs": "^4.4.0",
"ezuikit-js": "^8.0.12-alpha.3",
"gcoord": "^1.0.6",
@ -46,7 +46,7 @@
"monaco-editor": "^0.52.0",
"mqtt": "^5.10.1",
"nprogress": "^0.2.0",
"ol": "^10.2.0",
"ol": "^10.2.1",
"pinia": "^2.2.2",
"print-js": "^1.6.0",
"push.js": "^1.0.12",
@ -59,7 +59,7 @@
"splitpanes": "^3.1.5",
"vcrontab-3": "^3.3.22",
"vform3-builds": "^3.0.10",
"vue": "^3.5.8",
"vue": "^3.5.9",
"vue-clipboard3": "^2.0.0",
"vue-demi": "0.14.6",
"vue-draggable-plus": "^0.5.3",
@ -88,7 +88,7 @@
"@typescript-eslint/parser": "^8.7.0",
"@vitejs/plugin-vue": "^5.1.4",
"@vitejs/plugin-vue-jsx": "^4.0.1",
"@vue/compiler-sfc": "^3.5.8",
"@vue/compiler-sfc": "^3.5.9",
"code-inspector-plugin": "^0.16.1",
"eslint": "^9.11.1",
"eslint-plugin-vue": "^9.28.0",
@ -97,7 +97,7 @@
"prettier": "^3.3.3",
"rollup-plugin-visualizer": "^5.12.0",
"sass": "^1.79.3",
"terser": "^5.33.0",
"terser": "^5.34.0",
"typescript": "^5.6.2",
"vite": "^5.4.8",
"vite-plugin-cdn-import": "^1.0.1",