Skip to content

Latest commit

 

History

History
181 lines (135 loc) · 13.9 KB

README.md

File metadata and controls

181 lines (135 loc) · 13.9 KB

Magicodes.Sms

简介

  短信服务核心库,已提供Abp模块的封装。

  已更新为.NET标准库,支持.NET Core。已编写单元测试,可以自行配置。

Nuget

新的包

名称 说明 Nuget
Magicodes.Sms.Aliyun 阿里云短信库 NuGet
Magicodes.Sms.Core 短信核心库 NuGet
Magicodes.Sms.Aliyun.Abp 阿里云短信Abp模块 NuGet

Magicodes Nuget包推荐

相关Nuget包

名称 说明 Nuget GitHUb
Magicodes.IE.Excel Excel导入导出 NuGet dotnetcore/Magicodes.IE
Magicodes.IE.Core 导入导出核心库 NuGet dotnetcore/Magicodes.IE
Magicodes.IE.HTML HTML导入导出 NuGet dotnetcore/Magicodes.IE
Magicodes.IE.Pdf Pdf导出 NuGet dotnetcore/Magicodes.IE
Magicodes.IE.Word Word导出 NuGet dotnetcore/Magicodes.IE
Magicodes.IE.Csv Csv导入导出 NuGet dotnetcore/Magicodes.IE
Magicodes.WeChat.MiniProgram 小程序SDK NuGet Magicodes.WxMiniProgram.Sdk
Magicodes.Sms.Aliyun 阿里云短信 NuGet xin-lai/Magicodes.Sms
Magicodes.Sms.Core 短信核心库 NuGet xin-lai/Magicodes.Sms
Magicodes.Sms.Aliyun.Abp 阿里云短信Abp模块 NuGet xin-lai/Magicodes.Sms
Magicodes.Storage.Core 通用存储核心库 NuGet xin-lai/Magicodes.Storage
Magicodes.Storage.AliyunOss.Core 阿里云OSS存储 NuGet xin-lai/Magicodes.Storage
Magicodes.Storage.Local.Core 本地存储 NuGet xin-lai/Magicodes.Storage
Magicodes.Storage.Tencent.Core 腾讯云存储 NuGet xin-lai/Magicodes.Storage
Magicodes.Storage.Abp.Core 通用存储ABP模块集成 NuGet xin-lai/Magicodes.Storage
Magicodes.WeChat.SDK.Core 微信SDK NuGet xin-lai/Magicodes.WeChat.SDK
Magicodes.SwaggerUI SwaggerUI API快速配置和分组 NuGet xin-lai/Magicodes.SwaggerUI
Magicodes.Pay.Alipay 支付宝支付库 NuGet xin-lai/Magicodes.Pay
Magicodes.Pay.Notify 支付通用回调库 NuGet xin-lai/Magicodes.Pay
Magicodes.Pay.Wxpay 微信支付库 NuGet xin-lai/Magicodes.Pay
Magicodes.Pay.Alipay.Global 国际支付宝支付库 NuGet xin-lai/Magicodes.Pay
Magicodes.Pay.Allinpay 通联支付库 NuGet xin-lai/Magicodes.Pay
Magicodes.Pay.Abp ABP 支付通用封装库 NuGet xin-lai/Magicodes.Pay
Magicodes.Pay.Abp.Allinpay ABP 通联支付模块 NuGet xin-lai/Magicodes.Pay
Magicodes.Pay.Abp.Wxpay ABP 微信支付模块 NuGet xin-lai/Magicodes.Pay
Magicodes.Pay.Alipay.Global ABP 国际支付宝模块 NuGet xin-lai/Magicodes.Pay
Magicodes.Pay.Alipay ABP 支付宝模块 NuGet xin-lai/Magicodes.Pay
Magicodes.Abp.Castle.NLog ABP Nlog支持模块 NuGet xin-lai/Abp.Castle.NLog
Magicodes.WxMiniProgram.Sdk 微信小程序SDK NuGet xin-lai/Magicodes.WxMiniProgram.Sdk
Magicodes.WxMiniProgram.Sdk.Abp 微信小程序SDK Abp模块 NuGet xin-lai/Magicodes.WxMiniProgram.Sdk
Magicodes.Dingtalk.SDK 钉钉SDK NuGet xin-lai/Magicodes.Dingtalk.SDK
Magicodes.DynamicSqlApi.Core 根据SQL自动解析生成动态API NuGet Magicodes.DynamicSqlApi
Magicodes.DynamicSqlApi.All 根据SQL自动解析生成动态API NuGet Magicodes.DynamicSqlApi
Magicodes.DynamicSqlApi.CsScript 根据SQL自动解析生成动态API NuGet Magicodes.DynamicSqlApi
Magicodes.DynamicSqlApi.Dapper 根据SQL自动解析生成动态API NuGet Magicodes.DynamicSqlApi
Magicodes.DynamicSqlApi.SqlServer 根据SQL自动解析生成动态API NuGet Magicodes.DynamicSqlApi

开始使用

如果使用Abp相关模块,则使用起来比较简单,具体您可以参考相关单元测试的编写。主要有以下步骤:

  1. 引用对应的Nuget包 如:
名称 说明 Nuget
Magicodes.Sms.Aliyun.Abp 阿里云短信Abp模块 NuGet
  1. 添加模块依赖 在对应工程的Abp的模块(AbpModule)中,添加对“AliyunSmsModule”的依赖,如:
    [DependsOn(typeof(AliyunSmsModule))]
  1. 配置

默认支持两种配置方式,配置文件和SettingManager。下面以配置文件为例,格式为:

{
  "AliyunSmsSettings": {
    "AccessKeyId": "",
    "AccessKeySecret": "",
    "SignName": "",
    "TemplateCode": ""
  } 
}
  1. 使用短信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);

非ABP集成

配置

        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();
    }

官方订阅号

关注“麦扣聊技术”订阅号免费获取:

  • 最新文章、教程、文档
  • 视频教程
  • 基础版免费授权
  • 模板
  • 解决方案
  • 编程心得和理念

官方订阅号

相关QQ群

编程交流群<85318032>

产品交流群<897857351>

官方博客/文档站

其他开源库地址