短信通道模板开发

制作新的通道模板该主题是针对SendGateway模块,如果需要接入新的第三方通道,则需要开发一套相应的模板。并注册到系统中,才能正常使用。Hx.SmsPlatform.Common.dll该程序集文件中,包含了开始模板时所需的相关类型与接口。本软件是基于.net 4.5开发,所以开发模板也需要基于.net 4.5。注:详细代码可以参考开发模板示例文件夹下的Hx.SmsPlatfo...
摘要由CSDN通过智能技术生成
  1. 制作新的通道模板

该主题是针对SendGateway模块,如果需要接入新的第三方通道,则需要开发一套相应的模板。并注册到系统中,才能正常使用。Hx.SmsPlatform.Common.dll该程序集文件中,包含了开始模板时所需的相关类型与接口。

本软件是基于.net 4.5 开发,所以开发模板也需要基于.net 4.5。

注:详细代码可以参考开发模板示例文件夹下的

Hx.SmsPlatform.GatewaySms.MyTemplate通道模板

  1. 开发模板步骤
  1. 打开vs2019,创建类库项目,并输入项目名称。(选择.Net Framework4.5框架,语言:C#)

2.添加对Hx.SmsPlatform.Common.dll程序集的引用

3.将Class1文件更名为SendSms

4.再添加一个Class 命名为ProptryObject并继承Http2Property(该类在Commom中定义)。

并添加运行时所需的每个属性

其中,

DefaultValue标记,表示该属性的默认值。

DisplayName标记,表示该属性的中文名称。

Description标记,用于该属性的说明描述。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using YY.SmsPlatform.Common.Gateway;

namespace Hx.SmsPlatform.GatewaySms.MyTemplate
{
    /// <summary>
    /// 通道模板属性
    /// </summary>
   public class ProptryObject: Http2Property
    {
        [DefaultValue("http://IP:PORT/sms.aspx?action=send")]
        public override string Url { get; set; }
        [DisplayName("企业id")]
        public string userid { get; set; }
        [DisplayName("用户账号")]
        public string account { get; set; }
        [DisplayName("用户密码")]
        public string password { get; set; }
        [DisplayName("状态报告地址")]
        [DefaultValue("http://IP:PORT/statusApi.aspx?action=query")]
        public string statuUrl { get; set; }
        [DisplayName("余额查询地址")]
        [DefaultValue("http://IP:PORT/sms.aspx?action=overage")]
        public string overageUrl { get; set; }
        [DisplayName("上行地址")]
        public string callUrl { get; set; }
        [DisplayName("去扩展")]
        [Description("下发时是否去掉扩展,选中去除扩展,不选,表示下发时,默认带扩展")]
        public bool isExt { get; set; }
    }
}

5.修改SendSms类,继承自Http2SendSms<>,泛型参数中传入刚才定义的ProptryObject,给SendSms类加上ChannelTemplate标记(指明该类是一个模板类),ChannelTemplate有三个参数分别表示,模板编号(对应数据库channel_templateinfotemplateid字段,唯一键),模板名称,模板类型,短信或彩信。如下图。

6.重写父类SendSms的 OnInit方法,并执行父类的初始化操作,然后为事件附加相应的方法,用于余额,状态和上行的获取,如图:

        /// <summary>
        /// 初始化操作,为事件附加方法(余额,状态,上行获取方法)
        /// </summary>
        protected override void OnInit()
        {
            base.OnInit(); //执行父类的初始化操作
            if (string.IsNullOrWhiteSpace(this.Property.overageUrl) == false)///余额查询
            {
                this.Elapsed += new Action(Overage_Elapsed);
            }
            if (string.IsNullOrWhiteSpace(this.Property.statuUrl) == false)///状态查询(主动获取)
            {
                this.Elapsed += new Action(ReportTimer_Elapsed);
            }
            if (string.IsNullOrWhiteSpace(this.Property.callUrl) == false)///上行(主动获取)
            {
                this.Elapsed += new Action(moTimer_Elapsed);
            }
        }

7. 重写父类Http2SendSms<>OnSend

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值