diff --git a/asg_form/Controllers/login.cs b/asg_form/Controllers/login.cs
index 18a5e7c..003b317 100644
--- a/asg_form/Controllers/login.cs
+++ b/asg_form/Controllers/login.cs
@@ -241,16 +241,12 @@ namespace asg_form.Controllers
var captchaService = new CaptchaService();
var (captchaImage, captchaCode) = captchaService.GenerateCaptcha();
captchaNow=captchaCode;
- /*var offTime = new DateTime();
+ var offTime = new DateTime();
using (var db = new TestDbContext())
{
+
var query = db.T_captcha_check.AsQueryable();
- var currentDateTime = DateTime.Now;
- var fiveMinutesAgo = currentDateTime.AddMinutes(-5);
- var recordsToDelete = db.T_captcha_check
- .Where(x => DateTime.TryParse(x.off_time,out offTime) && offTime < fiveMinutesAgo)
- .ToList();
- db.T_captcha_check.RemoveRange(recordsToDelete);
+ var currentDateTime = DateTime.Now;
int maxId = query.Max(n => n.id);
var msg = new capData
{
@@ -260,8 +256,8 @@ namespace asg_form.Controllers
};
db.Add(msg);
db.SaveChanges();
- }*/
- return Ok(new { code = 200, captchaImage ,captchaCode});
+ }
+ return Ok(new { code = 200, captchaImage});
}
catch (Exception ex) {
return Ok(new { code = 500, message = "服务器错误", ex });
diff --git a/asg_form/Controllers/prerfunctions/Draw.cs b/asg_form/Controllers/prerfunctions/Draw.cs
index 042dca1..0f0a6c7 100644
--- a/asg_form/Controllers/prerfunctions/Draw.cs
+++ b/asg_form/Controllers/prerfunctions/Draw.cs
@@ -2,49 +2,63 @@
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
+using SkiaSharp;
+using System.IO;
public class CaptchaService
{
public string generatedCaptchaCode;
public int wrp = 0;
// 生成验证码图像并返回Base64字符串
- public (string captchaImage, string captchaCode) GenerateCaptcha()
+
+
+public (string captchaImage, string captchaCode) GenerateCaptcha()
+{
+ string wp = "123";
+ try
{
- string wp = "123";
- try
+ string generatedCaptchaCode = GenerateRandomCode(4); // 生成4位随机字符
+ int width = 100, height = 40;
+
+ using (var bitmap = new SKBitmap(width, height))
{
- System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", true);
- string generatedCaptchaCode = GenerateRandomCode(4); // 生成4位随机字符
- Bitmap bitmap = new Bitmap(100, 40);
- wp = "122";
- using (Graphics g = Graphics.FromImage(bitmap))
+ wp = "111";
+ using (var canvas = new SKCanvas(bitmap))
{
- g.Clear(Color.White);
- using (Font font = new Font("Arial", 20))
+ wp = "333";
+ canvas.Clear(SKColors.White);
+ using (var paint = new SKPaint())
{
- g.DrawString(generatedCaptchaCode, font, Brushes.Black, 10, 10);
+ paint.Color = SKColors.Black;
+ paint.TextSize = 20;
+ paint.IsAntialias = true;
+ canvas.DrawText(generatedCaptchaCode, 10, 30, paint);
}
}
- wp = "233";
- using (MemoryStream ms = new MemoryStream())
+ wp = "222";
+ using (var image = SKImage.FromBitmap(bitmap))
+ using (var data = image.Encode(SKEncodedImageFormat.Png, 100))
+ using (var ms = new MemoryStream())
{
- bitmap.Save(ms, ImageFormat.Png);
+ data.SaveTo(ms);
string base64Image = Convert.ToBase64String(ms.ToArray());
return (base64Image, generatedCaptchaCode);
}
}
- catch (Exception ex)
- {
- Console.WriteLine($"Error generating captcha: {ex.Message}");
- return (ex.Message, wp);
- }
}
+ catch (Exception ex)
+ {
+ Console.WriteLine($"Error generating captcha: {ex.Message}");
+ return (ex.Message, wp);
+ }
+}
- // 生成随机字符
- private string GenerateRandomCode(int length)
+
+// 生成随机字符
+private string GenerateRandomCode(int length)
{
const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ012345689";
Random random = new Random();
diff --git a/asg_form/Program.cs b/asg_form/Program.cs
index db70ec0..8b7f35e 100644
--- a/asg_form/Program.cs
+++ b/asg_form/Program.cs
@@ -80,8 +80,6 @@ options.AddDefaultPolicy(builder => builder.WithOrigins(urls)
-
-
IServiceCollection services = builder.Services;
@@ -160,7 +158,7 @@ app.UseKnife4UI(c =>
});
app.UseStaticFiles();
-
+AppContext.SetSwitch("System.Drawing.EnableUnixSupport", true);
//发布时服务器注册静态资源
@@ -242,4 +240,5 @@ new Thread(o =>
{ IsBackground = true }.Start();
+
app.Run();
\ No newline at end of file
diff --git a/asg_form/asg_form.csproj b/asg_form/asg_form.csproj
index 0c70322..eab0478 100644
--- a/asg_form/asg_form.csproj
+++ b/asg_form/asg_form.csproj
@@ -65,10 +65,15 @@
+
+
+
+
+