短信服务核心库,已提供Abp模块的封装。
已更新为.NET标准库,支持.NET Core。已编写单元测试,可以自行配置。
名称 | 说明 | Nuget |
---|---|---|
Magicodes.Sms.Aliyun | 阿里云短信库 | |
Magicodes.Sms.Core | 短信核心库 | |
Magicodes.Sms.Aliyun.Abp | 阿里云短信Abp模块 |
名称 | 说明 | Nuget | GitHUb |
---|---|---|---|
Magicodes.IE.Excel | Excel导入导出 | dotnetcore/Magicodes.IE | |
Magicodes.IE.Core | 导入导出核心库 | dotnetcore/Magicodes.IE | |
Magicodes.IE.HTML | HTML导入导出 | dotnetcore/Magicodes.IE | |
Magicodes.IE.Pdf | Pdf导出 | dotnetcore/Magicodes.IE | |
Magicodes.IE.Word | Word导出 | dotnetcore/Magicodes.IE | |
Magicodes.IE.Csv | Csv导入导出 | dotnetcore/Magicodes.IE | |
Magicodes.WeChat.MiniProgram | 小程序SDK | Magicodes.WxMiniProgram.Sdk | |
Magicodes.Sms.Aliyun | 阿里云短信 | xin-lai/Magicodes.Sms | |
Magicodes.Sms.Core | 短信核心库 | xin-lai/Magicodes.Sms | |
Magicodes.Sms.Aliyun.Abp | 阿里云短信Abp模块 | xin-lai/Magicodes.Sms | |
Magicodes.Storage.Core | 通用存储核心库 | xin-lai/Magicodes.Storage | |
Magicodes.Storage.AliyunOss.Core | 阿里云OSS存储 | xin-lai/Magicodes.Storage | |
Magicodes.Storage.Local.Core | 本地存储 | xin-lai/Magicodes.Storage | |
Magicodes.Storage.Tencent.Core | 腾讯云存储 | xin-lai/Magicodes.Storage | |
Magicodes.Storage.Abp.Core | 通用存储ABP模块集成 | xin-lai/Magicodes.Storage | |
Magicodes.WeChat.SDK.Core | 微信SDK | xin-lai/Magicodes.WeChat.SDK | |
Magicodes.SwaggerUI | SwaggerUI API快速配置和分组 | xin-lai/Magicodes.SwaggerUI | |
Magicodes.Pay.Alipay | 支付宝支付库 | xin-lai/Magicodes.Pay | |
Magicodes.Pay.Notify | 支付通用回调库 | xin-lai/Magicodes.Pay | |
Magicodes.Pay.Wxpay | 微信支付库 | xin-lai/Magicodes.Pay | |
Magicodes.Pay.Alipay.Global | 国际支付宝支付库 | xin-lai/Magicodes.Pay | |
Magicodes.Pay.Allinpay | 通联支付库 | xin-lai/Magicodes.Pay | |
Magicodes.Pay.Abp | ABP 支付通用封装库 | xin-lai/Magicodes.Pay | |
Magicodes.Pay.Abp.Allinpay | ABP 通联支付模块 | xin-lai/Magicodes.Pay | |
Magicodes.Pay.Abp.Wxpay | ABP 微信支付模块 | xin-lai/Magicodes.Pay | |
Magicodes.Pay.Alipay.Global | ABP 国际支付宝模块 | xin-lai/Magicodes.Pay | |
Magicodes.Pay.Alipay | ABP 支付宝模块 | xin-lai/Magicodes.Pay | |
Magicodes.Abp.Castle.NLog | ABP Nlog支持模块 | xin-lai/Abp.Castle.NLog | |
Magicodes.WxMiniProgram.Sdk | 微信小程序SDK | xin-lai/Magicodes.WxMiniProgram.Sdk | |
Magicodes.WxMiniProgram.Sdk.Abp | 微信小程序SDK Abp模块 | xin-lai/Magicodes.WxMiniProgram.Sdk | |
Magicodes.Dingtalk.SDK | 钉钉SDK | xin-lai/Magicodes.Dingtalk.SDK | |
Magicodes.DynamicSqlApi.Core | 根据SQL自动解析生成动态API | Magicodes.DynamicSqlApi | |
Magicodes.DynamicSqlApi.All | 根据SQL自动解析生成动态API | Magicodes.DynamicSqlApi | |
Magicodes.DynamicSqlApi.CsScript | 根据SQL自动解析生成动态API | Magicodes.DynamicSqlApi | |
Magicodes.DynamicSqlApi.Dapper | 根据SQL自动解析生成动态API | Magicodes.DynamicSqlApi | |
Magicodes.DynamicSqlApi.SqlServer | 根据SQL自动解析生成动态API | Magicodes.DynamicSqlApi |
如果使用Abp相关模块,则使用起来比较简单,具体您可以参考相关单元测试的编写。主要有以下步骤:
- 引用对应的Nuget包 如:
名称 | 说明 | Nuget |
---|---|---|
Magicodes.Sms.Aliyun.Abp | 阿里云短信Abp模块 |
- 添加模块依赖 在对应工程的Abp的模块(AbpModule)中,添加对“AliyunSmsModule”的依赖,如:
[DependsOn(typeof(AliyunSmsModule))]
- 配置
默认支持两种配置方式,配置文件和SettingManager。下面以配置文件为例,格式为:
{
"AliyunSmsSettings": {
"AccessKeyId": "",
"AccessKeySecret": "",
"SignName": "",
"TemplateCode": ""
}
}
- 使用短信API
通过容器获得ISmsTemplateSender,然后调用发送方法即可。如单元测试中:
private readonly ISmsTemplateSender _smsTemplateSender;
public SmsTest()
{
this._smsTemplateSender = Resolve<ISmsTemplateSender>();
}
[Theory]
[InlineData("1367197xxxx", "1234")]
public async Task SendCodeAsync(string phone, string code)
{
await _smsTemplateSender.SmsService.SendCodeAsync(phone, code);
}
ABP Zero .NET Core 3.1版本并没有注入IConfiguration,如需使用,需要自行在启动类注入。例如:
services.AddSingleton<IConfiguration>(_appConfiguration);
AliyunSmsBuilder.Create()
//设置日志记录
.WithLoggerAction((tag, message) =>
{
Console.WriteLine(string.Format("Tag:{0}\tMessage:{1}", tag, message));
}).SetSettingsFunc(() =>
{
//TODO:请自行配置自己的配置
//如果是一个项目多个配置,请使用key来获取相关配置
return ConfigHelper.LoadConfig("aliyun_app");
}).Build();
[Theory(DisplayName = "短信发送测试")]
[InlineData("你的手机号码", "验证码")]
public async Task SendCodeAsync_Test(string phone, string code)
{
var smsService = new AliyunSmsService();
var result = await smsService.SendCodeAsync(phone, code);
result.Success.ShouldBeTrue();
}
关注“麦扣聊技术”订阅号免费获取:
- 最新文章、教程、文档
- 视频教程
- 基础版免费授权
- 模板
- 解决方案
- 编程心得和理念
编程交流群<85318032>
产品交流群<897857351>