using Bunny.Dao.Result;
using Bunny.Dao.Result.Constant;
using Lazy.Captcha.Core;
using Microsoft.AspNetCore.Mvc;
namespace Bunny.WebApi.Controllers;
///
/// 验证码测试
///
[Route("/api/[controller]/[action]")]
public class CaptchaTestController(ICaptcha _captcha) : ControllerBase
{
///
/// 测试测试验证码生成
///
///
[HttpGet]
public IActionResult GetCaptcha(string id)
{
var captchaData = _captcha.Generate(id);
// 验证码的ID
var captchaDataId = captchaData.Id;
// 验证码的代码
var captchaDataCode = captchaData.Code;
Console.WriteLine($"验证码的ID:{captchaDataId};验证码的代码:{captchaDataCode}");
// 返回验证码图片内容
var stream = new MemoryStream(captchaData.Bytes);
return File(stream, "image/gif");
}
///
/// 输入验证码机型校验
///
///
[HttpPost]
public Result CheckCode(string id, string code)
{
// 校验用户输入的验证码是否=正确
var validate = _captcha.Validate(id, code);
return validate ? Result.Success() : Result.Error(ErrorConstant.ValidateCodeError);
}
}