From 7ffc8b97bfa1db96a4e06174ffa39a2ae74662bf Mon Sep 17 00:00:00 2001 From: domenic Date: Sun, 16 Oct 2022 11:06:02 +0800 Subject: [PATCH 1/2] docs: Add chinese SMS sending document. --- docs/zh-Hans/SMS-Sending.md | 111 ++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 docs/zh-Hans/SMS-Sending.md diff --git a/docs/zh-Hans/SMS-Sending.md b/docs/zh-Hans/SMS-Sending.md new file mode 100644 index 0000000000..288eb8dfbb --- /dev/null +++ b/docs/zh-Hans/SMS-Sending.md @@ -0,0 +1,111 @@ +# 短信发送 + +Abp框架提供一个用于发送短信的抽象,有如下优点: + +- 在不改变应用程序代码的情况下,您可以**非常容易地切换**短信发送提供者(提供商)。 +- 如果您想创建可重用的应用程序模块,则不需要假设短信是如何发送的。 + +## 安装 + +建议您使用[ABP CLI](CLI.md)来安装这个包。 + +### 使用Abp CLI + +在项目所在目录(.csproj 文件所在目录)打开命令行工具,输入如下命令: + +```bash +abp add-package Volo.Abp.Sms +``` + +### 手动安装 + +如果您想要手动安装; + +1. 添加 [Volo.Abp.Sms](https://www.nuget.org/packages/Volo.Abp.Sms) NuGet 包到您的项目中: + +``` +Install-Package Volo.Abp.Sms +``` + +2. 在您的模块的依赖列表中添加对模块`AbpSmsModule`的依赖: + +```csharp +[DependsOn( + //...秋天依赖 + typeof(AbpSmsModule) //添加新模块的依赖 + )] +public class YourModule : AbpModule +{ +} +``` + +## 发送短信 + +[注入](Dependency-Injection.md) `ISmsSender`, 并使用`SendAsync`方法来发送短信。 + +**例子:** + +```csharp +using System.Threading.Tasks; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Sms; + +namespace MyProject +{ + public class MyService : ITransientDependency + { + private readonly ISmsSender _smsSender; + + public MyService(ISmsSender smsSender) + { + _smsSender = smsSender; + } + + public async Task DoItAsync() + { + await _smsSender.SendAsync( + "+012345678901", // 目标手机号 + "This is test sms..." // 消息内容 + ); + } + } +} +``` + +示例中给定的`SendAsync`方法是一个扩展方法,用于发送带有基本参数的短信。此外,您也可以传入一个有如下属性的`SmsMessage`对象: + +- `PhoneNumber` (`string`):目标手机号 +- `Text` (`string`):短信消息内容 +- `Properties` (`Dictionary`):用于传入自定义参数的键值对 + +## NullSmsSender + +`NullSmsSender`是`ISmsSender`的一个默认实现。它写入内容到[标准日志](Logging.md)中,而不是真正地发送短信。 + +开发时,您不想真正地发送短信时,这个类是非常有用的。**然而,若您想真实发送短信,您需要在您的应用程序代码中实现`ISmsSender`接口。** + +## 实现ISmsSender接口 + +通过创建一个实现`ISmsSender`接口的类,您可以很容易创建您自己的短信发送实现,如下所示: + +```csharp +using System.IO; +using System.Threading.Tasks; +using Volo.Abp.Sms; +using Volo.Abp.DependencyInjection; + +namespace AbpDemo +{ + public class MyCustomSmsSender : ISmsSender, ITransientDependency + { + public async Task SendAsync(SmsMessage smsMessage) + { + // 发送短信 + } + } +} +``` + +## More + +[ABP Commercial](https://commercial.abp.io/)提供Twilio的集成包,用于使用[Twilio service](https://docs.abp.io/en/commercial/latest/modules/twilio-sms)来发送短信。 From ed7591d5d899e227ba0ca6b9e06c37b206d8bdba Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 17 Oct 2022 14:41:05 +0800 Subject: [PATCH 2/2] Update SMS-Sending.md. --- docs/zh-Hans/SMS-Sending.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/docs/zh-Hans/SMS-Sending.md b/docs/zh-Hans/SMS-Sending.md index 288eb8dfbb..5c3c111656 100644 --- a/docs/zh-Hans/SMS-Sending.md +++ b/docs/zh-Hans/SMS-Sending.md @@ -1,17 +1,17 @@ # 短信发送 -Abp框架提供一个用于发送短信的抽象,有如下优点: +ABP 框架提供一个用于发送短信的抽象, 有如下优点: -- 在不改变应用程序代码的情况下,您可以**非常容易地切换**短信发送提供者(提供商)。 -- 如果您想创建可重用的应用程序模块,则不需要假设短信是如何发送的。 +- 在不改变应用程序代码的情况下, 你可以**非常容易地切换**短信发送提供者(提供商). +- 如果你想创建可重用的应用程序模块, 则不需要假设短信是如何发送的. ## 安装 -建议您使用[ABP CLI](CLI.md)来安装这个包。 +建议你使用[ABP CLI](CLI.md)来安装这个包. ### 使用Abp CLI -在项目所在目录(.csproj 文件所在目录)打开命令行工具,输入如下命令: +在项目所在目录(.csproj 文件所在目录)打开命令行工具, 输入如下命令: ```bash abp add-package Volo.Abp.Sms @@ -19,19 +19,19 @@ abp add-package Volo.Abp.Sms ### 手动安装 -如果您想要手动安装; +如果你想要手动安装; -1. 添加 [Volo.Abp.Sms](https://www.nuget.org/packages/Volo.Abp.Sms) NuGet 包到您的项目中: +1. 添加 [Volo.Abp.Sms](https://www.nuget.org/packages/Volo.Abp.Sms) NuGet 包到你的项目中: ``` Install-Package Volo.Abp.Sms ``` -2. 在您的模块的依赖列表中添加对模块`AbpSmsModule`的依赖: +2. 在你的模块的依赖列表中添加对模块`AbpSmsModule`的依赖: ```csharp [DependsOn( - //...秋天依赖 + //...其它依赖 typeof(AbpSmsModule) //添加新模块的依赖 )] public class YourModule : AbpModule @@ -41,7 +41,7 @@ public class YourModule : AbpModule ## 发送短信 -[注入](Dependency-Injection.md) `ISmsSender`, 并使用`SendAsync`方法来发送短信。 +[注入](Dependency-Injection.md) `ISmsSender`, 并使用`SendAsync`方法来发送短信. **例子:** @@ -72,21 +72,21 @@ namespace MyProject } ``` -示例中给定的`SendAsync`方法是一个扩展方法,用于发送带有基本参数的短信。此外,您也可以传入一个有如下属性的`SmsMessage`对象: +示例中给定的`SendAsync`方法是一个扩展方法, 用于发送带有基本参数的短信.此外, 你也可以传入一个有如下属性的`SmsMessage`对象: -- `PhoneNumber` (`string`):目标手机号 -- `Text` (`string`):短信消息内容 -- `Properties` (`Dictionary`):用于传入自定义参数的键值对 +- `PhoneNumber` (`string`):目标手机号 +- `Text` (`string`):短信消息内容 +- `Properties` (`Dictionary`):用于传入自定义参数的键值对 ## NullSmsSender -`NullSmsSender`是`ISmsSender`的一个默认实现。它写入内容到[标准日志](Logging.md)中,而不是真正地发送短信。 +`NullSmsSender`是`ISmsSender`的一个默认实现.它写入内容到[日志](Logging.md)中, 而不是真正地发送短信. -开发时,您不想真正地发送短信时,这个类是非常有用的。**然而,若您想真实发送短信,您需要在您的应用程序代码中实现`ISmsSender`接口。** +开发时, 你不想真正地发送短信时, 这个类是非常有用的.**然而, 若你想真实发送短信, 你需要在你的应用程序代码中实现`ISmsSender`接口.** ## 实现ISmsSender接口 -通过创建一个实现`ISmsSender`接口的类,您可以很容易创建您自己的短信发送实现,如下所示: +通过创建一个实现`ISmsSender`接口的类, 你可以很容易创建你自己的短信发送实现, 如下所示: ```csharp using System.IO; @@ -108,4 +108,4 @@ namespace AbpDemo ## More -[ABP Commercial](https://commercial.abp.io/)提供Twilio的集成包,用于使用[Twilio service](https://docs.abp.io/en/commercial/latest/modules/twilio-sms)来发送短信。 +[ABP Commercial](https://commercial.abp.io/)提供Twilio的集成包, 用于使用[Twilio service](https://docs.abp.io/en/commercial/latest/modules/twilio-sms)来发送短信.