.NET 6 实现滑动验证码(二)、基本数据

互联网 2022/12/4 23:23:45

CaptchaData.csCaptchaData.cs:验证码的数据类实体namespace SlideCaptcha.Model{public class CaptchaData{/// <summary>/// id/// </summary>public string Id { get; set; }/// <summary>/// 背景图(含凹槽)/// </summary>public string Bac…

CaptchaData.cs

CaptchaData.cs:验证码的数据类实体

namespace SlideCaptcha.Model
{
    public class CaptchaData
    {
        /// <summary>
        /// id
        /// </summary>
        public string Id { get; set; }
        /// <summary>
        /// 背景图(含凹槽)
        /// </summary>
        public string BackgroundImage { get; set; }
        /// <summary>
        /// 滑动块图
        /// </summary>
        public string SliderImage { get; set; }

        public CaptchaData(string id, string backgroundImage, string sliderImage)
        {
            Id = id;
            BackgroundImage = backgroundImage;
            SliderImage = sliderImage;
        }
    }
}

id表示验证码的id值,用于校验验证码,BackgroundImage 是验证码图片base64,包含了凹槽。凹槽模板在templates目录下。SliderImage 是滑块图片。模板在templates下。

CaptchaValidateData.cs

CaptchaValidateData.cs:验证码验证数据实体

namespace SlideCaptcha.Model
{
    public class CaptchaValidateData
    {
        /// <summary>
        /// 滑动比例
        /// </summary>
        public float Percent { get; set; }

        /// <summary>
        /// 容错值(校验时用,缺口位置与实际滑动位置匹配容错范围)
        /// </summary>
        public float Tolerant { get; set; }

        public CaptchaValidateData(float percent, float tolerant)
        {
            Percent = percent;
            Tolerant = tolerant;
        }
    }
}

ImageCaptchaInfo.cs

ImageCaptchaInfo.cs:证码图片信息实体

namespace SlideCaptcha.Model
{
    public class ImageCaptchaInfo
    {
        /// <summary>
        /// 背景图宽
        /// </summary>
        public int BackgroundImageWidth { get; set; }
        /// <summary>
        /// 背景图高
        /// </summary>
        public int BackgroundImageHeight { get; set; }
        /// <summary>
        /// 背景图
        /// </summary>
        public string BackgroundImageBase64 { get; set; }
        /// <summary>
        /// 滑动块图宽
        /// </summary>
        public int SliderImageWidth { get; set; }
        /// <summary>
        /// 滑动块图高
        /// </summary>
        public int SliderImageHeight { get; set; }
        /// <summary>
        /// 滑动块图
        /// </summary>
        public string SliderImageBase64 { get; set; }
    }
}

验证码实体类的基类,滑动验证码、旋转验证码、点选验证码、拼接验证码都基于这个类。

Resource.cs

Resource.cs :资源实体类

namespace SlideCaptcha.Model
{
    public class Resource
    {
        public Resource(){}
        /// <summary>
        /// 资源数据
        /// </summary>
        public string Data { get; set; }

        /// <summary>
        /// 资源类型
        /// </summary>
        public string Type { get; set; }

        
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="type">资源类型</param>
        /// <param name="data">资源数据</param>
        public Resource(string type,string data)
        {
            Type = type;
            Data = data;
        }
    }
}

资源数据,Data为要生成验证码图片路径。Type为类型,目前仅为本地文件,后期将扩展URL模式。

标签:验证码,数据类实,templates,构造函数 来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

随时随地学软件编程-关注百度小程序和微信小程序
关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[.NET 6 实现滑动验证码(二)、基本数据]http://www.zyiz.net/tech/detail-384186.html

赞(0)
关注微信小程序
程序员编程王-随时随地学编程

扫描二维码或查找【程序员编程王】

可以随时随地学编程啦!

技术文章导航 更多>