From 0539c2f927f3f2e9f5bcaa711b79465479e27f8f Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期三, 04 八月 2021 11:46:55 +0800 Subject: [PATCH] update 重写系统部分业务导出 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java | 27 +++++++++++++++++++-------- 1 files changed, 19 insertions(+), 8 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java index c01cc4e..210ccee 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java @@ -5,26 +5,29 @@ import cn.hutool.captcha.LineCaptcha; import cn.hutool.captcha.ShearCaptcha; import cn.hutool.captcha.generator.CodeGenerator; -import cn.hutool.captcha.generator.MathGenerator; import cn.hutool.captcha.generator.RandomGenerator; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.StrUtil; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.framework.captcha.UnsignedMathGenerator; import com.ruoyi.framework.config.properties.CaptchaProperties; +import com.ruoyi.system.service.ISysConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; import java.util.concurrent.TimeUnit; /** * 楠岃瘉鐮佹搷浣滃鐞� * - * @author Lion Li + * @author ruoyi */ @RestController public class CaptchaController { @@ -45,11 +48,20 @@ @Autowired private CaptchaProperties captchaProperties; + @Autowired + private ISysConfigService configService; + /** * 鐢熸垚楠岃瘉鐮� */ @GetMapping("/captchaImage") public AjaxResult getCode() { + Map<String, Object> ajax = new HashMap<>(); + boolean captchaOnOff = configService.selectCaptchaOnOff(); + ajax.put("captchaOnOff", captchaOnOff); + if (!captchaOnOff) { + return AjaxResult.success(ajax); + } // 淇濆瓨楠岃瘉鐮佷俊鎭� String uuid = IdUtil.simpleUUID(); String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid; @@ -59,7 +71,7 @@ AbstractCaptcha captcha; switch (captchaProperties.getType()) { case "math": - codeGenerator = new MathGenerator(captchaProperties.getNumberLength()); + codeGenerator = new UnsignedMathGenerator(captchaProperties.getNumberLength()); break; case "char": codeGenerator = new RandomGenerator(captchaProperties.getCharLength()); @@ -88,17 +100,16 @@ code = captcha.getCode(); } redisCache.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES); - AjaxResult ajax = AjaxResult.success(); ajax.put("uuid", uuid); ajax.put("img", captcha.getImageBase64()); - return ajax; + return AjaxResult.success(ajax); } private String getCodeResult(String capStr) { int numberLength = captchaProperties.getNumberLength(); - int a = Convert.toInt(StrUtil.sub(capStr, 0, numberLength).trim()); + int a = Convert.toInt(StringUtils.substring(capStr, 0, numberLength).trim()); char operator = capStr.charAt(numberLength); - int b = Convert.toInt(StrUtil.sub(capStr, numberLength + 1, numberLength + 1 + numberLength).trim()); + int b = Convert.toInt(StringUtils.substring(capStr, numberLength + 1, numberLength + 1 + numberLength).trim()); switch (operator) { case '*': return a * b + ""; -- Gitblit v1.9.3