using ZhonTai.DynamicApi;
using ZhonTai.DynamicApi.Attributes;
using ZhonTai.Admin.Core.Consts;
using Lazy.SlideCaptcha.Core;
using Lazy.SlideCaptcha.Core.Validator;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Authorization;
using ZhonTai.Admin.Core.Attributes;
using ZhonTai.Admin.Core.Captcha;
namespace ZhonTai.Admin.Services.Cache;
///
/// 验证码服务
///
[Order(210)]
[DynamicApi(Area = AdminConsts.AreaName)]
public class CaptchaService : BaseService, IDynamicApi
{
private ICaptcha _captcha => LazyGetRequiredService();
private ISlideCaptcha _slideCaptcha => LazyGetRequiredService();
public CaptchaService()
{
}
///
/// 生成
///
/// 验证码id
///
[AllowAnonymous]
[NoOprationLog]
public CaptchaData Generate(string captchaId = null)
{
return _captcha.Generate(captchaId);
}
///
/// 验证
///
/// 验证码id
/// 滑动轨迹
///
[AllowAnonymous]
[NoOprationLog]
public ValidateResult CheckAsync([FromQuery] string captchaId, SlideTrack track)
{
return _slideCaptcha.Validate(captchaId, track, false);
}
}