|
【Github源码】
《上一篇》 介绍了Xmtool工具库中的发送邮件类库,今天我们继续为大家介绍其中的发送短信类库。
发送短信就像发送邮件一样,在软件系统中使用非常普遍,甚至比发送邮件还要常见,有些甚至是软件标配功能;例如现在的短信验证码登录、通过短信找回密码等等。发送短信需要通过不同的额短信服务商提供的服务才可以,不同服务商提供了不同的SDK或HTTP服务,方法、参数各不相同,使用起来很不方便;系统运行上线后如果想切换一个短信发送平台,更是困难,相当于重新实现一次短信发送功能。
为了解决以上问题,本类库定义了一套标准方法,将各种短信发送平台基于标准方法进行二次封装;在使用时,无论是选用哪家的短信发送平台,都通过标准方法进行调用,使用方便,扩展维护也异常简单。
当前版本,系统实现了阿里短信和腾讯短信两个短信发送平台的二次封装,后续根据需要会持续更新。- public enum SmsProvider
- {
- Unset,
- Alibaba, // 阿里短信平台
- Tencent // 腾讯短信平台
- }
复制代码 使用时,需要首先获取一个短信发送对象ISmsProvider;获取对象时,需要指定短信发送平台。
获取短信发送对象
获取短信发送对象后,需要使用Config方法进行配置,这是正式发送短信前必须要进行的工作。
配置短信发送对象
配置完成后,用户便可以调用下面的任意一个方法进行短信发送操作,简单方便。
发送短信-标准版
发送短信-自定义版
1. 获取短信发送对象
public static ISmsProvider Sms(SmsProvider provider)
- ISmsProvider sms = Xmtool.Sms(SmsProvider.Alibaba);
- // TODO
复制代码 2. 配置短信发送对象
public static ISmsProvider Config(params string[] args)
- ISmsProvider sms = Xmtool.Sms(SmsProvider.Alibaba);
- // 阿里云短信平台配置方法
- sms = sms.Config("accessKeyId(替换成自己的)", "accessKeySecret(替换成自己的)",
- "阿里云短信签名(替换成自己的)", "模板编码(替换成自己的)");
- /* 腾讯云短信平台
- sms = sms.Config("secretId(替换成自己的)", "secretKey(替换成自己的)",
- "腾讯云短信签名(替换成自己的)", "模板Id(替换成自己的)", "appId(替换成自己的)");
- */
- // TODO
复制代码 3. 发送短信-标准版
说明:标准版默认使用配置时指定的签名和模板进行发送。
public bool Send(string templateParam, params string[] phoneNums)
- ISmsProvider sms = Xmtool.Sms(SmsProvider.Alibaba);
- // 阿里云短云平台配置方法
- sms = sms.Config("accessKeyId(替换成自己的)", "accessKeySecret(替换成自己的)",
- "阿里云短信签名(替换成自己的)", "模板编码(替换成自己的)");
- /* 腾讯云短信平台
- sms = sms.Config("secretId(替换成自己的)", "secretKey(替换成自己的)",
- "腾讯云短信签名(替换成自己的)", "模板Id(替换成自己的)", "appId(替换成自己的)");
- */
- sms.Send("参数(替换成自己的,如:{"code":"1234"})", "136********");
复制代码 4. 发送短信-自定义版
说明:自定义版可以在发送时指定签名和模板。
public bool Send2(string signName, string templateCode, string templateParam, params string[] phoneNums)
- ISmsProvider sms = Xmtool.Sms(SmsProvider.Alibaba);
- // 阿里云短信平台配置方法
- sms = sms.Config("accessKeyId(替换成自己的)", "accessKeySecret(替换成自己的)",
- "阿里云短信签名(替换成自己的)", "模板编码(替换成自己的)");
- /* 腾讯云短信平台
- sms = sms.Config("secretId(替换成自己的)", "secretKey(替换成自己的)",
- "腾讯云短信签名(替换成自己的)", "模板Id(替换成自己的)", "appId(替换成自己的)");
- */
- sms.Send("自定义签名", "自定义模板", "参数(替换成自己的,如:1234)", "136********");
复制代码 *另外,同时提供了SendAsync、Send2Async等功能相同的异步方法,使用时可根据需要选择。
【Github源码】
来源:https://www.cnblogs.com/bcbr/archive/2023/05/31/17447376.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|