😎1、调整阿里短信发送 2、升级依赖
This commit is contained in:
parent
2fd3f13b17
commit
5ca30dfee7
@ -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>
|
||||
|
||||
@ -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; }
|
||||
}
|
||||
@ -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);
|
||||
|
||||
@ -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",
|
||||
|
||||
Loading…
Reference in New Issue
Block a user