CaptchaService.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using ZhonTai.DynamicApi;
  2. using ZhonTai.DynamicApi.Attributes;
  3. using ZhonTai.Admin.Core.Consts;
  4. using Lazy.SlideCaptcha.Core;
  5. using Lazy.SlideCaptcha.Core.Validator;
  6. using Microsoft.AspNetCore.Mvc;
  7. using Microsoft.AspNetCore.Authorization;
  8. using ZhonTai.Admin.Core.Attributes;
  9. namespace ZhonTai.Admin.Services.Cache;
  10. /// <summary>
  11. /// 验证码服务
  12. /// </summary>
  13. [Order(210)]
  14. [DynamicApi(Area = AdminConsts.AreaName)]
  15. public class CaptchaService : BaseService, IDynamicApi
  16. {
  17. private readonly ICaptcha _captcha;
  18. public CaptchaService(ICaptcha captcha)
  19. {
  20. _captcha = captcha;
  21. }
  22. /// <summary>
  23. /// 生成
  24. /// </summary>
  25. /// <returns></returns>
  26. [AllowAnonymous]
  27. [NoOprationLog]
  28. public CaptchaData Generate()
  29. {
  30. return _captcha.Generate();
  31. }
  32. /// <summary>
  33. /// 验证
  34. /// </summary>
  35. /// <param name="id"></param>
  36. /// <param name="track"></param>
  37. /// <returns></returns>
  38. [AllowAnonymous]
  39. [NoOprationLog]
  40. public ValidateResult CheckAsync([FromQuery] string id, SlideTrack track)
  41. {
  42. return _captcha.Validate(id, track);
  43. }
  44. }