Yuebon.WebApi/Controllers/CaptchaController.cs
(完整代码) 1KBusing Yuebon.Commons.VerificationCode;
namespace Yuebon.WebApi.Controllers;
/// <summary>
/// 验证码接口
/// </summary>
[Route("api/[controller]")]
[ApiController]
[ApiVersion("1.0")]
public class CaptchaController : ApiController
{
/// <summary>
/// 获取验证码
/// </summary>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
[NoPermissionRequired]
public async Task<CommonResult<AuthGetVerifyCodeOutputDto>> CaptchaAsync()
{
Captcha captcha = new Captcha();
var code =await captcha.GenerateRandomCaptchaAsync();
var result =await captcha.GenerateCaptchaImageAsync(code);
YuebonCacheHelper yuebonCacheHelper = new YuebonCacheHelper();
TimeSpan expiresSliding = DateTime.Now.AddMinutes(5) - DateTime.Now;
long vcodeId = IdGeneratorHelper.IdSnowflake();
yuebonCacheHelper.Add("ValidateCode"+ vcodeId.ToString(), code, expiresSliding,false);
AuthGetVerifyCodeOutputDto authGetVerifyCodeOutputDto = new AuthGetVerifyCodeOutputDto();
authGetVerifyCodeOutputDto.Img =Convert.ToBase64String(result.CaptchaMemoryStream.ToArray());
authGetVerifyCodeOutputDto.Key = vcodeId.ToString();
CommonResult<AuthGetVerifyCodeOutputDto> commonResult = new CommonResult<AuthGetVerifyCodeOutputDto>();
commonResult.ErrCode= ErrCode.successCode;
commonResult.ResData = authGetVerifyCodeOutputDto;
return commonResult;
}
}
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。