在开发中,有时候生成验证码的场景目前还是存在的,本篇演示不依赖第三方组件,生成随机验证码图片。
先添加验证码接口
public interface ICaptcha
{
/// <summary>
/// 生成随机验证码
/// </summary>
/// <param name="codeLength"></param>
/// <returns></returns>
Task<string> GenerateRandomCaptchaAsync(int codeLength = 4);
/// <summary>
/// 生成验证码图片
/// </summary>
/// <param name="captchaCode">验证码</param>
/// <param name="width">宽为0将根据验证码长度自动匹配合适宽度</param>
/// <param name="height">高</param>
/// <returns></returns>
Task<CaptchaResult> GenerateCaptchaImageAsync(string captchaCode, int width = 0, int height = 30);
}
验证码返回模型
public class CaptchaResult
{
/// <summary&