This commit is contained in:
王炜翔 2024-11-03 23:09:00 +08:00
parent 3ad96bcce9
commit ad2a431669
3 changed files with 28 additions and 23 deletions

View File

@ -234,14 +234,14 @@ namespace asg_form.Controllers
/// </summary> /// </summary>
[Route("api/v2/makeCaptcha")] [Route("api/v2/makeCaptcha")]
[HttpGet] [HttpGet]
public async Task<ActionResult<(string captchaImage, string captchaCode)> >GetCaptcha() public async Task<ActionResult<object> >GetCaptcha()
{ {
try try
{ {
var captchaService = new CaptchaService(); var captchaService = new CaptchaService();
var (captchaImage, captchaCode) = captchaService.GenerateCaptcha(); var (captchaImage, captchaCode) = captchaService.GenerateCaptcha();
captchaNow=captchaCode; captchaNow=captchaCode;
var offTime = new DateTime(); /*var offTime = new DateTime();
using (var db = new TestDbContext()) using (var db = new TestDbContext())
{ {
var query = db.T_captcha_check.AsQueryable(); var query = db.T_captcha_check.AsQueryable();
@ -260,8 +260,8 @@ namespace asg_form.Controllers
}; };
db.Add(msg); db.Add(msg);
db.SaveChanges(); db.SaveChanges();
} }*/
return Ok(new { captchaImage }); return Ok(new { code = 200, captchaImage ,captchaCode});
} }
catch (Exception ex) { catch (Exception ex) {
return Ok(new { code = 500, message = "服务器错误", ex }); return Ok(new { code = 500, message = "服务器错误", ex });

View File

@ -175,13 +175,8 @@ namespace asg_form.Controllers
/// </summary> /// </summary>
[Route("api/v1/admin/menuFind")] [Route("api/v1/admin/menuFind")]
[HttpGet] [HttpGet]
[Authorize]
public async Task<ActionResult<object>> menuFind() public async Task<ActionResult<object>> menuFind()
{ {
if (!this.User.FindAll(ClaimTypes.Role).Any(a => a.Value == "nbadmin"))
{
return BadRequest(new error_mb { code = 400, message = "无权访问" });
}
using (var db = new TestDbContext()) using (var db = new TestDbContext())
{ {
try try

View File

@ -10,28 +10,38 @@ public class CaptchaService
// 生成验证码图像并返回Base64字符串 // 生成验证码图像并返回Base64字符串
public (string captchaImage, string captchaCode) GenerateCaptcha() public (string captchaImage, string captchaCode) GenerateCaptcha()
{ {
generatedCaptchaCode = GenerateRandomCode(4); // 生成5位随机字符 string wp = "123";
wrp = 2; try
Bitmap bitmap = new Bitmap(100, 40);
using (Graphics g = Graphics.FromImage(bitmap))
{ {
g.Clear(Color.White); System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", true);
using (Font font = new Font("Arial", 20)) string generatedCaptchaCode = GenerateRandomCode(4); // 生成4位随机字符
Bitmap bitmap = new Bitmap(100, 40);
wp = "122";
using (Graphics g = Graphics.FromImage(bitmap))
{ {
g.DrawString(generatedCaptchaCode, font, Brushes.Black, 10, 10); g.Clear(Color.White);
using (Font font = new Font("Arial", 20))
{
g.DrawString(generatedCaptchaCode, font, Brushes.Black, 10, 10);
}
}
wp = "233";
using (MemoryStream ms = new MemoryStream())
{
bitmap.Save(ms, ImageFormat.Png);
string base64Image = Convert.ToBase64String(ms.ToArray());
return (base64Image, generatedCaptchaCode);
} }
} }
wrp = 1; catch (Exception ex)
using (MemoryStream ms = new MemoryStream())
{ {
bitmap.Save(ms, ImageFormat.Png); Console.WriteLine($"Error generating captcha: {ex.Message}");
string base64Image = Convert.ToBase64String(ms.ToArray()); return (ex.Message, wp);
return (base64Image, generatedCaptchaCode);
} }
} }
// 生成随机字符 // 生成随机字符
private string GenerateRandomCode(int length) private string GenerateRandomCode(int length)