|  | @@ -1,5 +1,5 @@
 | 
											
												
													
														|  |  using ZhonTai.Common.Attributes;
 |  |  using ZhonTai.Common.Attributes;
 | 
											
												
													
														|  | -using ZhonTai.Common.Cache;
 |  | 
 | 
											
												
													
														|  | 
 |  | +using ZhonTai.Tools.Cache;
 | 
											
												
													
														|  |  using Newtonsoft.Json;
 |  |  using Newtonsoft.Json;
 | 
											
												
													
														|  |  using System;
 |  |  using System;
 | 
											
												
													
														|  |  using System.Drawing;
 |  |  using System.Drawing;
 | 
											
										
											
												
													
														|  | @@ -295,7 +295,7 @@ namespace ZhonTai.Tools.Captcha
 | 
											
												
													
														|  |          /// <param name="templateWidth"></param>
 |  |          /// <param name="templateWidth"></param>
 | 
											
												
													
														|  |          /// <param name="templateHeight"></param>
 |  |          /// <param name="templateHeight"></param>
 | 
											
												
													
														|  |          /// <returns></returns>
 |  |          /// <returns></returns>
 | 
											
												
													
														|  | -        private PointModel GeneratePoint(int originalWidth, int originalHeight, int templateWidth, int templateHeight)
 |  | 
 | 
											
												
													
														|  | 
 |  | +        private PointDto GeneratePoint(int originalWidth, int originalHeight, int templateWidth, int templateHeight)
 | 
											
												
													
														|  |          {
 |  |          {
 | 
											
												
													
														|  |              Random random = new Random();
 |  |              Random random = new Random();
 | 
											
												
													
														|  |              int widthDifference = originalWidth - templateWidth;
 |  |              int widthDifference = originalWidth - templateWidth;
 | 
											
										
											
												
													
														|  | @@ -320,7 +320,7 @@ namespace ZhonTai.Tools.Captcha
 | 
											
												
													
														|  |                  y = random.Next(originalHeight - templateHeight - 5) + 5;
 |  |                  y = random.Next(originalHeight - templateHeight - 5) + 5;
 | 
											
												
													
														|  |              }
 |  |              }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -            return new PointModel(x, y);
 |  | 
 | 
											
												
													
														|  | 
 |  | +            return new PointDto(x, y);
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |          /// <summary>
 |  |          /// <summary>
 | 
											
										
											
												
													
														|  | @@ -333,7 +333,7 @@ namespace ZhonTai.Tools.Captcha
 | 
											
												
													
														|  |          /// <param name="blockX"></param>
 |  |          /// <param name="blockX"></param>
 | 
											
												
													
														|  |          /// <param name="blockY"></param>
 |  |          /// <param name="blockY"></param>
 | 
											
												
													
														|  |          /// <returns></returns>
 |  |          /// <returns></returns>
 | 
											
												
													
														|  | -        private PointModel GenerateInterferencePoint(int originalWidth, int originalHeight, int templateWidth, int templateHeight, int blockX, int blockY)
 |  | 
 | 
											
												
													
														|  | 
 |  | +        private PointDto GenerateInterferencePoint(int originalWidth, int originalHeight, int templateWidth, int templateHeight, int blockX, int blockY)
 | 
											
												
													
														|  |          {
 |  |          {
 | 
											
												
													
														|  |              int x;
 |  |              int x;
 | 
											
												
													
														|  |              if (originalWidth - blockX - 5 > templateWidth * 2)
 |  |              if (originalWidth - blockX - 5 > templateWidth * 2)
 | 
											
										
											
												
													
														|  | @@ -359,7 +359,7 @@ namespace ZhonTai.Tools.Captcha
 | 
											
												
													
														|  |                  y = GetRandomInt(5, blockY - templateHeight - 5);
 |  |                  y = GetRandomInt(5, blockY - templateHeight - 5);
 | 
											
												
													
														|  |              }
 |  |              }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -            return new PointModel(x, y);
 |  | 
 | 
											
												
													
														|  | 
 |  | +            return new PointDto(x, y);
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |          /// <summary>
 |  |          /// <summary>
 | 
											
										
											
												
													
														|  | @@ -391,7 +391,7 @@ namespace ZhonTai.Tools.Captcha
 | 
											
												
													
														|  |              int templateHeight = templateImage.Height;
 |  |              int templateHeight = templateImage.Height;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |              //随机生成拼图坐标
 |  |              //随机生成拼图坐标
 | 
											
												
													
														|  | -            PointModel point = GeneratePoint(baseWidth, baseHeight, templateWidth, templateHeight);
 |  | 
 | 
											
												
													
														|  | 
 |  | +            PointDto point = GeneratePoint(baseWidth, baseHeight, templateWidth, templateHeight);
 | 
											
												
													
														|  |              int x = point.X;
 |  |              int x = point.X;
 | 
											
												
													
														|  |              int y = point.Y;
 |  |              int y = point.Y;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
										
											
												
													
														|  | @@ -399,7 +399,7 @@ namespace ZhonTai.Tools.Captcha
 | 
											
												
													
														|  |              string blockImageBase64 = "data:image/png;base64," + ImgToBase64String(CutByTemplate(baseImage, templateImage, x, y));
 |  |              string blockImageBase64 = "data:image/png;base64," + ImgToBase64String(CutByTemplate(baseImage, templateImage, x, y));
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |              //生成干扰图
 |  |              //生成干扰图
 | 
											
												
													
														|  | -            PointModel interferencePoint = GenerateInterferencePoint(baseWidth, baseHeight, templateWidth, templateHeight, x, y);
 |  | 
 | 
											
												
													
														|  | 
 |  | +            PointDto interferencePoint = GenerateInterferencePoint(baseWidth, baseHeight, templateWidth, templateHeight, x, y);
 | 
											
												
													
														|  |              InterferenceByTemplate(baseImage, templateImage, interferencePoint.X, interferencePoint.Y);
 |  |              InterferenceByTemplate(baseImage, templateImage, interferencePoint.X, interferencePoint.Y);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |              string baseImageBase64 = "data:image/png;base64," + ImgToBase64String(baseImage);
 |  |              string baseImageBase64 = "data:image/png;base64," + ImgToBase64String(baseImage);
 | 
											
										
											
												
													
														|  | @@ -410,7 +410,7 @@ namespace ZhonTai.Tools.Captcha
 | 
											
												
													
														|  |              CaptchaOutput captchaData = new CaptchaOutput
 |  |              CaptchaOutput captchaData = new CaptchaOutput
 | 
											
												
													
														|  |              {
 |  |              {
 | 
											
												
													
														|  |                  Token = token,
 |  |                  Token = token,
 | 
											
												
													
														|  | -                Data = new SlideJigsawCaptchaModel()
 |  | 
 | 
											
												
													
														|  | 
 |  | +                Data = new SlideJigsawCaptchaDto()
 | 
											
												
													
														|  |                  {
 |  |                  {
 | 
											
												
													
														|  |                      BlockImage = blockImageBase64,
 |  |                      BlockImage = blockImageBase64,
 | 
											
												
													
														|  |                      BaseImage = baseImageBase64
 |  |                      BaseImage = baseImageBase64
 | 
											
										
											
												
													
														|  | @@ -439,7 +439,7 @@ namespace ZhonTai.Tools.Captcha
 | 
											
												
													
														|  |              {
 |  |              {
 | 
											
												
													
														|  |                  try
 |  |                  try
 | 
											
												
													
														|  |                  {
 |  |                  {
 | 
											
												
													
														|  | -                    var point = JsonConvert.DeserializeObject<PointModel>(input.Data);
 |  | 
 | 
											
												
													
														|  | 
 |  | +                    var point = JsonConvert.DeserializeObject<PointDto>(input.Data);
 | 
											
												
													
														|  |                      var x = await _cache.GetAsync<int>(key);
 |  |                      var x = await _cache.GetAsync<int>(key);
 | 
											
												
													
														|  |                      if (Math.Abs(x - point.X) < 5)
 |  |                      if (Math.Abs(x - point.X) < 5)
 | 
											
												
													
														|  |                      {
 |  |                      {
 |