From 246b3243d578813e8e64223b73bc2f267680663f Mon Sep 17 00:00:00 2001 From: wosperry <593281239@qq.com> Date: Wed, 9 Mar 2022 15:57:18 +0800 Subject: [PATCH 1/2] =?UTF-8?q?readme=EF=BC=9A1.=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=B8=AD=E6=96=87=E9=AA=8C=E8=AF=81=E6=BC=94=E7=A4=BA=EF=BC=8C?= =?UTF-8?q?2.=E9=87=8D=E6=96=B0=E6=8C=89=E6=9E=9A=E4=B8=BE=E6=8E=92?= =?UTF-8?q?=E5=BA=8F=E8=A1=A8=E6=A0=BC=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Images/CHINESE_G.gif | Bin 0 -> 7254 bytes Images/CHINESE_N.gif | Bin 0 -> 6317 bytes README.md | 85 ++++++++++++++++++++----------------------- 3 files changed, 40 insertions(+), 45 deletions(-) create mode 100644 Images/CHINESE_G.gif create mode 100644 Images/CHINESE_N.gif diff --git a/Images/CHINESE_G.gif b/Images/CHINESE_G.gif new file mode 100644 index 0000000000000000000000000000000000000000..ddb653bc6a73b8a0f9580a6da526b9ce768282c9 GIT binary patch literal 7254 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 P>)d~q$vtv10ATfBl2b=0 literal 0 HcmV?d00001 diff --git a/Images/CHINESE_N.gif b/Images/CHINESE_N.gif new file mode 100644 index 0000000000000000000000000000000000000000..fd13797162eece376a307e810becda4765ec2e22 GIT binary patch literal 6317 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index f123cfb..e85b238 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,36 @@ -## LazyCaptcha +# LazyCaptcha + +## 介绍 -### 介绍 仿[EasyCaptcha](https://gitee.com/ele-admin/EasyCaptcha)和[SimpleCaptcha](https://github.com/1992w/SimpleCaptcha),基于.Net Standard 2.1的图形验证码模块。 -[ **码云地址** ](https://gitee.com/pojianbing/lazy-captcha) -[ **Github地址** ](https://github.com/pojianbing/LazyCaptcha) +[码云地址](https://gitee.com/pojianbing/lazy-captcha) +[Github地址](https://github.com/pojianbing/LazyCaptcha) ### 效果展示 -| CaptchaType | 字体 |静态图 | 动图| -|---|---|---|---| -| DEFAULT |Actionj| ![输入图片说明](Images/DEFAULT_N.gif) | ![输入图片说明](Images/DEFAULT_G.gif) | -| WORD |Epilog| ![输入图片说明](Images/WORD_N.gif) | ![输入图片说明](Images/WORD_G.gif) | -| WORD_LOWER|Epilog| ![输入图片说明](Images/WORD_LOWER_N.gif) | ![输入图片说明](Images/WORD_LOWER_G.gif) | -| WORD_UPPER|Epilog| ![输入图片说明](Images/WORD_UPPER_G.gif) | ![输入图片说明](Images/WORD_UPPER_N.gif) | -| WORD_NUMBER_LOWER|Epilog| ![输入图片说明](Images/WORD_NUMBER_LOWER_N.gif) | ![输入图片说明](Images/WORD_NUMBER_LOWER_G.gif) | -| WORD_NUMBER_UPPER|Epilog| ![输入图片说明](Images/WORD_NUMBER_UPPER_N.gif) | ![输入图片说明](Images/WORD_NUMBER_UPPER_G.gif) | -| NUMBER|Fresnel| ![输入图片说明](Images/NUMBER_N.gif) | ![输入图片说明](Images/NUMBER_G.gif) | -| NUMBER_ZH_CN|kaiti| ![输入图片说明](Images/NUMBER_ZH_CN.gif) | ![输入图片说明](Images/NUMBER_ZH_CN_G.gif) | -| NUMBER_ZH_HK|kaiti| ![输入图片说明](Images/NUMBER_ZH_HK_N.gif) | ![输入图片说明](Images/NUMBER_ZH_HK_G.gif) | -| ARITHMETIC|Epilog| ![输入图片说明](Images/ARITHMETIC_N.gif) | ![输入图片说明](Images/ARITHMETIC_G.gif) | -| ARITHMETIC_ZH|kaiti| ![输入图片说明](Images/ARITHMETIC_ZH_N.gif) | ![输入图片说明](Images/ARITHMETIC_ZH_G.gif) | - - -| 字体 | 图片 | 字体 | 图片 | -|---|---|---|---| -| Actionj | ![输入图片说明](Images/Font_Actionj.gif) | Epilog| ![输入图片说明](Images/Font_Epilog.gif) | -| Fresnel| ![输入图片说明](Images/Font_Fresnel.gif) | Headache| ![输入图片说明](Images/Font_Headache.gif) | -| Kaiti| ![输入图片说明](Images/Font_Kaiti.gif) | Lexo| ![输入图片说明](Images/Font_Lexo.gif) | -| Prefix| ![输入图片说明](Images/Font_Prefix.gif) | Progbot| ![输入图片说明](Images/Font_Progbot.gif) | -|Ransom| ![输入图片说明](Images/Font_Ransom.gif) |Robot| ![输入图片说明](Images/Font_Robot.gif) | -| Scandal| ![输入图片说明](Images/Font_Scandal.gif) | - - +| CaptchaType | 字体 | 静态图 | 动图 | +| --------------------- | ------- | ----------------------------------------------- | ----------------------------------------------- | +| DEFAULT (0) | Actionj | ![输入图片说明](Images/DEFAULT_N.gif) | ![输入图片说明](Images/DEFAULT_G.gif) | +| CHINESE (1) | kaiti | ![输入图片说明](Images/CHINESE_N.gif) | ![输入图片说明](Images/CHINESE_G.gif) | +| NUMBER (2) | Fresnel | ![输入图片说明](Images/NUMBER_N.gif) | ![输入图片说明](Images/NUMBER_G.gif) | +| NUMBER_ZH_CN (3) | kaiti | ![输入图片说明](Images/NUMBER_ZH_CN.gif) | ![输入图片说明](Images/NUMBER_ZH_CN_G.gif) | +| NUMBER_ZH_HK (4) | kaiti | ![输入图片说明](Images/NUMBER_ZH_HK_N.gif) | ![输入图片说明](Images/NUMBER_ZH_HK_G.gif) | +| WORD (5) | Epilog | ![输入图片说明](Images/WORD_N.gif) | ![输入图片说明](Images/WORD_G.gif) | +| WORD_LOWER (6) | Epilog | ![输入图片说明](Images/WORD_LOWER_N.gif) | ![输入图片说明](Images/WORD_LOWER_G.gif) | +| WORD_UPPER (7) | Epilog | ![输入图片说明](Images/WORD_UPPER_G.gif) | ![输入图片说明](Images/WORD_UPPER_N.gif) | +| WORD_NUMBER_LOWER (8) | Epilog | ![输入图片说明](Images/WORD_NUMBER_LOWER_N.gif) | ![输入图片说明](Images/WORD_NUMBER_LOWER_G.gif) | +| WORD_NUMBER_UPPER (9) | Epilog | ![输入图片说明](Images/WORD_NUMBER_UPPER_N.gif) | ![输入图片说明](Images/WORD_NUMBER_UPPER_G.gif) | +| ARITHMETIC (10) | Epilog | ![输入图片说明](Images/ARITHMETIC_N.gif) | ![输入图片说明](Images/ARITHMETIC_G.gif) | +| ARITHMETIC_ZH (11) | kaiti | ![输入图片说明](Images/ARITHMETIC_ZH_N.gif) | ![输入图片说明](Images/ARITHMETIC_ZH_G.gif) | + +| 字体 | 图片 | 字体 | 图片 | +| ------- | ---------------------------------------- | -------- | ----------------------------------------- | +| Actionj | ![输入图片说明](Images/Font_Actionj.gif) | Epilog | ![输入图片说明](Images/Font_Epilog.gif) | +| Fresnel | ![输入图片说明](Images/Font_Fresnel.gif) | Headache | ![输入图片说明](Images/Font_Headache.gif) | +| Kaiti | ![输入图片说明](Images/Font_Kaiti.gif) | Lexo | ![输入图片说明](Images/Font_Lexo.gif) | +| Prefix | ![输入图片说明](Images/Font_Prefix.gif) | Progbot | ![输入图片说明](Images/Font_Progbot.gif) | +| Ransom | ![输入图片说明](Images/Font_Ransom.gif) | Robot | ![输入图片说明](Images/Font_Robot.gif) | +| Scandal | ![输入图片说明](Images/Font_Scandal.gif) | ### 在线演示(仅学习和试用,随时可能关掉服务) @@ -44,8 +43,6 @@ http://wosperry.com.cn:8006/captcha/validate?id=999&code=uyfx ``` - - ### 安装 - [Package Manager](https://www.nuget.org/packages/Lazy.Captcha.Core) @@ -60,17 +57,15 @@ Install-Package Lazy.Captcha.Core dotnet add package Lazy.Captcha.Core ``` - - ### 使用说明 #### 1. 注册服务 -```csharp +``` csharp // 默认使用内存存储(AddDistributedMemoryCache) builder.Services.AddCaptcha(builder.Configuration); -// 如果使用redis存储 +// 如果使用redis分布式缓存 //builder.Services.AddStackExchangeRedisCache(options => //{ // options.Configuration = builder.Configuration.GetConnectionString("RedisCache"); @@ -79,8 +74,10 @@ builder.Services.AddCaptcha(builder.Configuration); ``` -#### 2. 配置 -- ##### appsettings.json (不提供配置时,使用默认配置) +## 2. 配置 + +#### appsettings.json (不提供配置时,使用默认配置) + ``` json { "ConnectionStrings": { @@ -109,8 +106,10 @@ builder.Services.AddCaptcha(builder.Configuration); } } ``` -- ##### 代码配置 -```csharp + +#### 代码配置 + +``` csharp // 全部配置 builder.Services.AddCaptcha(builder.Configuration, option => { @@ -137,11 +136,10 @@ builder.Services.AddCaptcha(builder.Configuration, option => option.ImageOption.FontFamily = DefaultFontFamilys.Instance.Scandal; // 字体,中文使用kaiti,其他字符可根据喜好设置(可能部分转字符会出现绘制不出的情况)。 }); ``` -> **appsettings.json配置和代码配置同时设置时,代码配置会覆盖appsettings.json配置。** - + #### 3. Controller -```csharp +``` csharp [ApiController] [Route("api/captcha")] @@ -175,6 +173,3 @@ builder.Services.AddCaptcha(builder.Configuration, option => } } ``` - - - -- Gitee From b2ac7572b411df0cb6b49834917c1df43ade7d1f Mon Sep 17 00:00:00 2001 From: wosperry <593281239@qq.com> Date: Wed, 9 Mar 2022 15:57:48 +0800 Subject: [PATCH 2/2] =?UTF-8?q?CaptchaType=E6=8C=87=E5=AE=9A=E6=9E=9A?= =?UTF-8?q?=E4=B8=BEint=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Lazy.Captcha.Core/CaptchaType.cs | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Lazy.Captcha.Core/CaptchaType.cs b/Lazy.Captcha.Core/CaptchaType.cs index 7775bfb..9228795 100644 --- a/Lazy.Captcha.Core/CaptchaType.cs +++ b/Lazy.Captcha.Core/CaptchaType.cs @@ -11,61 +11,61 @@ namespace Lazy.Captcha.Core.Generator /// /// 默认(英文字符大小写,数字混合) /// - DEFAULT, + DEFAULT=0, /// /// 中文 /// - CHINESE, + CHINESE=1, /// /// 数字 /// - NUMBER, + NUMBER=2, /// /// 中文数字小写 /// - NUMBER_ZH_CN, + NUMBER_ZH_CN=3, /// /// 中文数字大写 /// - NUMBER_ZH_HK, + NUMBER_ZH_HK=4, /// /// 英文字符大小写混合 /// - WORD, + WORD=5, /// /// 英文字符小写 /// - WORD_LOWER, + WORD_LOWER=6, /// /// 英文字符大写 /// - WORD_UPPER, + WORD_UPPER=7, /// /// 英文小写,数字混合 /// - WORD_NUMBER_LOWER, + WORD_NUMBER_LOWER=8, /// /// 英文大写,数字混合 /// - WORD_NUMBER_UPPER, + WORD_NUMBER_UPPER=9, /// /// 数字计算 /// - ARITHMETIC, + ARITHMETIC=10, /// /// 数字计算,中文 /// - ARITHMETIC_ZH + ARITHMETIC_ZH=11 } } \ No newline at end of file -- Gitee