refactor: 适配 ContiNew Starter 图形验证码

This commit is contained in:
2023-11-24 23:45:15 +08:00
parent b7fc5a5524
commit 8a11a020e0
7 changed files with 22 additions and 152 deletions

View File

@@ -29,10 +29,10 @@
<artifactId>continew-starter-cache-redisson</artifactId>
</dependency>
<!-- ContiNew Starter JSON 模块 - Jackson -->
<!-- ContiNew Starter 验证码模块 - 图形验证码 -->
<dependency>
<groupId>top.charles7c.continew</groupId>
<artifactId>continew-starter-json-jackson</artifactId>
<artifactId>continew-starter-captcha-graphic</artifactId>
</dependency>
<!-- ContiNew Starter API 文档模块 -->
@@ -41,6 +41,12 @@
<artifactId>continew-starter-api-doc</artifactId>
</dependency>
<!-- ContiNew Starter JSON 模块 - Jackson -->
<dependency>
<groupId>top.charles7c.continew</groupId>
<artifactId>continew-starter-json-jackson</artifactId>
</dependency>
<!-- ################ Spring Boot 相关 ################ -->
<!-- Java 邮件支持 -->
<dependency>
@@ -106,11 +112,5 @@
<groupId>net.dreamlu</groupId>
<artifactId>mica-ip2region</artifactId>
</dependency>
<!-- Easy CaptchaJava 图形验证码,支持 gif、中文、算术等类型可用于 Java Web、JavaSE 等项目) -->
<dependency>
<groupId>com.github.whvcse</groupId>
<artifactId>easy-captcha</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -16,20 +16,10 @@
package top.charles7c.cnadmin.common.config.mybatis;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import cn.hutool.core.net.NetUtil;
/**
* MyBatis Plus 配置

View File

@@ -19,17 +19,12 @@ package top.charles7c.cnadmin.common.config.properties;
import java.awt.*;
import lombok.Data;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import com.wf.captcha.*;
import com.wf.captcha.base.Captcha;
import cn.hutool.core.util.ReflectUtil;
import cn.hutool.core.util.StrUtil;
/**
* 验证码配置属性
@@ -43,9 +38,10 @@ import cn.hutool.core.util.StrUtil;
public class CaptchaProperties {
/**
* 图片验证码配置
* 过期时间
*/
private CaptchaImage image;
@Value("${captcha.graphic.expirationInMinutes}")
private long expirationInMinutes;
/**
* 邮箱验证码配置
@@ -57,61 +53,6 @@ public class CaptchaProperties {
*/
private CaptchaSms sms;
/**
* 图片验证码配置
*/
@Data
public static class CaptchaImage {
/**
* 类型
*/
private CaptchaImageTypeEnum type;
/**
* 内容长度
*/
private int length;
/**
* 过期时间
*/
private long expirationInMinutes;
/**
* 宽度
*/
private int width = 111;
/**
* 高度
*/
private int height = 36;
/**
* 字体
*/
private String fontName;
/**
* 字体大小
*/
private int fontSize = 25;
/**
* 获取图片验证码对象
*
* @return 验证码对象
*/
public Captcha getCaptcha() {
Captcha captcha = ReflectUtil.newInstance(type.getClazz(), this.width, this.height);
captcha.setLen(length);
if (StrUtil.isNotBlank(this.fontName)) {
captcha.setFont(new Font(this.fontName, Font.PLAIN, this.fontSize));
}
return captcha;
}
}
/**
* 邮箱验证码配置
*/
@@ -163,42 +104,4 @@ public class CaptchaProperties {
*/
private String templateId;
}
/**
* 图片验证码类型枚举
*/
@Getter
@RequiredArgsConstructor
private enum CaptchaImageTypeEnum {
/**
* 算术
*/
ARITHMETIC(ArithmeticCaptcha.class),
/**
* 中文
*/
CHINESE(ChineseCaptcha.class),
/**
* 中文闪图
*/
CHINESE_GIF(ChineseGifCaptcha.class),
/**
* 闪图
*/
GIF(GifCaptcha.class),
/**
* 特殊类型
*/
SPEC(SpecCaptcha.class),;
/**
* 验证码字节码类型
*/
private final Class<? extends Captcha> clazz;
}
}