当前位置: 首页 > news >正文

成都网站设计得多少钱app软件制作多少钱

成都网站设计得多少钱,app软件制作多少钱,phpwind wordpress,免费咨询法律服务1 第3方阿里云短信验证发送服务准备工作 2 其它第3方短信发送服务平台 当前常用第3方短信发送服务平台还有容联云和凯信通过,在配置上来说阿里云和容联云配置都比较复杂,网上程序集成示例完善,资费灵活。凯信通配置十分简单只要在程序中指定其…

1 第3方阿里云短信验证发送服务准备工作

2 其它第3方短信发送服务平台

    当前常用第3方短信发送服务平台还有容联云和凯信通过,在配置上来说阿里云和容联云配置都比较复杂,网上程序集成示例完善,资费灵活。凯信通配置十分简单只要在程序中指定其平台的登录名、密码和服务平台域名(http://sms.corecms.net:9999/sms.aspx)即可,但资费却比较死板。

3 Core.Configuration.SmsConfig

namespace Core.Configuration

{

    /// <summary>

    /// (阿里)短信配置--类】

    /// <remarks>

    /// 摘要:

    ///     通过该类中的属性成员实例对“appsettings.json”文件中的第3方阿里短信服务相关数据等数据进行设定性读写操作,为当程序实现短信服务功能提供数据支撑。

    ///  说明:

    ///     属性成员的名称必须与JSON/值对中的键相同,且属性成员的个数与键的个数也必须相等,

    /// 否则ConfigurationBinder.Bind方法将不支持通过“appsettings.json”文件中数据库连接相关数据与当前类中的属性成员实例的设定性读写操作。

    /// </remarks>

    /// </summary>

    public class SmsConfig : IConfig

    {

        /// <summary>

        /// 【访问键编号】

        /// <remarks>

        /// 摘要:

        ///     获取/设置第3方阿里短信服务1个指定的访问键编号值。

        /// </remarks>

        /// </summary>

        public string AccessKeyId { get; set; }

        /// <summary>

        /// 【访问键密钥】

        /// <remarks>

        /// 摘要:

        ///     获取/设置第3方阿里短信服务1个指定的访问键所对应的密钥。

        /// </remarks>

        /// </summary>

        public string AccessKeySecret { get; set; }

        /// <summary>

        /// 【签名】

        /// <remarks>

        /// 摘要:

        ///     获取/设置第3方阿里短信服务1个指定的签名。

        /// </remarks>

        /// </summary>

        public string SignName { get; set; }

        /// <summary>

        /// 【模板代码】

        /// <remarks>

        /// 摘要:

        ///     获取/设置第3方阿里短信服务1个指定模板的代码。

        /// </remarks>

        /// </summary>

        public string TemplateCode { get; set; }

        /// <summary>

        /// 【阿里短信服务根域名】

        /// <remarks>

        /// 摘要:

        ///     获取/设置第3方阿里短信服务的根域名。

        /// </remarks>

        /// </summary>

        public string Endpoint { get; set; }

    }

}

4 Core.Domain.Messages.SmsValidate

namespace Core.Domain.Messages

{

    /// <summary>

    /// 【短信验证--类】

    /// <remarks>

    /// 摘要:

    ///     通过该实体类及其属性成员,用于实现当前程序【Core.【领域】.【信息集】.【短信验证】实体与“[ShopDemo].[SmsValidate]”表之间的CURD的交互操作,并把这些数据存储到数据库设置实例中(内存)

    /// </remarks>

    /// </summary>

    public class SmsValidate : BaseEntity

    {

        #region 属性

        /// <summary>

        /// 【手机号】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个指定的手机号。

        /// </remarks>

        /// </summary>

        public string Phone { get; set; }

        /// <summary>

        /// 【短信验证码】

        /// <remarks>

        /// 摘要:

        ///     获取/设置向1个指定手机所发送的1个指定短信验证码。

        /// </remarks>

        /// </summary>

        public string Code { get; set; }

        /// <summary>

        /// 【内容】

        /// <remarks>

        /// 摘要:

        ///     获取/设置向1个手机所发送的短信验证内容信息==内容模板+短信验证码。

        /// </remarks>

        /// </summary>

        public string Content { get; set; }

        /// <summary>

        /// 【已经验证?】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个值false(默认值:未验证)/true(未验证),该值指示1个手机的1个指定短信验证是否已经被使用。

        /// 说明:

        ///     已经验证说明指定短信验证码已经被使用;未验证说明指定短信验证码未被使用。

        /// </remarks>

        /// </summary>

        public bool IsValidate { get; set; }

        /// <summary>

        /// 【输入错误总计】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个手机的1个指定短信验证码输入错误的最大次数小于等于3次。

        /// </remarks>

        /// </summary>

        public int Count { get; set; }

        /// <summary>

        /// 【创建时间】

        /// <remarks>

        /// 摘要:

        ///     获取/设置短信验证实体1个指定实例第1次被持久化到短信验证表中的时间。

        /// </remarks>

        /// </summary>

        public DateTime CreatedDateTime { get; set; }

        /// <summary>

        /// 【有/失效日期】

        /// <remarks>

        /// 摘要:

        ///     获取/设置1个手机的1个指定短信验证码的有/失效日期。

        /// 说明:

        ///     1个手机的1个指定短信验证码的有/失效日期默认值:= CreatedDateTime+5分钟。

        /// </remarks>

        /// </summary>

        public DateTime ExpiryDateTime { get; set; }

        #endregion

    }

}

5 Data.Mapping.Messages.SmsValidateBuilder

//Nuget

//Nuget--Microsoft.EntityFrameworkCore.SqlServer

using Microsoft.EntityFrameworkCore;

using Microsoft.EntityFrameworkCore.Metadata.Builders;

//项目

using Core.Domain.Messages;

namespace Data.Mapping.Messages

{

    /// <summary>

    /// 【短信验证生成器--类】

    /// <remarks>

    /// 摘要:

    ///     该类通过对“EntityFrameworkCore”中间件“IEntityTypeConfiguration<TEntity/>泛型接口的“Configure”方法的定义,以实现把用户实体类及其属性成员相关约束规则及其级联关系定义,映射到短信验证表及其的相应字段上。

    /// </remarks>

    /// </summary>

    public class SmsValidateBuilder : IEntityTypeConfiguration<SmsValidate>

    {

        #region 方法--IEntityTypeConfiguration<>

        ///<param name="builder">实体类型生成器实例,用于把当前程序中指定实体和属性所定义的约束规则,映射到数据库指定表及其字段上。</param>

        /// <summary>

        /// 【配置】

        /// <remarks>

        /// 摘要:

        ///     该方法通过对“EntityFrameworkCore”中间件“IEntityTypeConfiguration<TEntity/>泛型接口的“Configure”方法的定义,以实现把短信验证实体类及其属性成员相关约束规则及其级联关系定义,映射到短信验证表及其的相应字段上。

        /// </remarks>

        /// </summary>

        public void Configure(EntityTypeBuilder<SmsValidate> builder)

        {

            //由于“EntityTypeBuilder<User>”的参数已经泛型实例化,因此builder后不能再定义为:“builder.Entity<User>().HasKey(customer => customer.Id);”

            //用户表及其字段约束规则,映射定义。

            builder.HasKey(smsValidate => smsValidate.Id);

            builder.Property(smsValidate => smsValidate.Phone).IsRequired().HasMaxLength(50);

            builder.Property(smsValidate => smsValidate.Code).IsRequired().HasMaxLength(60);

            builder.Property(smsValidate => smsValidate.Content).IsRequired().HasMaxLength(255);

            builder.Property(smsValidate => smsValidate.CreatedDateTime).IsRequired();

            builder.Property(smsValidate => smsValidate.ExpiryDateTime).IsRequired();

        }

        #endregion

    }

}

对以上功能更为具体实现和注释见:230301_042shopDemo(初识第3方阿里云短信验证发送服务)。

http://www.yayakq.cn/news/764488/

相关文章:

  • 谁分享一个免费网站2021网站建设经销商
  • 项目四网站建设实训报告品牌名的选取方法
  • 如何让各大搜索引擎识别新建网站2880元网站建设
  • 专注电子商务网站建设wordpress破解登录密码
  • 天津网络网站公司开源小程序模板
  • 佛山网站建设公司排行淮南网备案查询
  • 招标建设网站想做一个网站平台怎么做
  • 网站备案在哪里审批东莞装饰网站建设
  • 网站建设与网页设计课西安的最新消息
  • h5动画网站百度登录账号首页
  • 佛山网站建设找方维网络怎么看一家网站是谁做的
  • 做外贸什么网站好卧龙区建网站
  • js跳转网站电子工程网名又知道你是做工程
  • 做网站 图片更好看优设网 国内专业设计师平台
  • 如今做哪些网站致富wordpress安装教程wamp
  • 包头网站制作 建设园林绿化网站建设
  • 网站已经备案更换主机建筑工程信息查询
  • 鄂尔多斯网站制作 建设wordpress做推送
  • 网站上的flash怎么做的键盘事件对网站交互
  • 自己做影视会员网站制作网站大概多少钱
  • 西安装修公司网站制作深圳龙岗新楼盘开盘信息
  • 南海网站建设多少钱推广网站wap端怎么做
  • 幼儿网站源代码河北省住房和城乡建设厅网站主页
  • 能通过淘宝网站做淘宝客吗软件系统开发公司
  • 怎么做百度网站洛阳便宜网站建设费用
  • 做一份seo网站诊断深圳最好的营销网站建设公司哪家好
  • 南通专业网站制作中国住房和城乡建设网网站
  • 河南网站备案溧水做网站
  • 珠海网站建设方案优化深圳企业网页制作
  • 如何做采集网站顺德建设幼儿院报名网站