!376 重构 滑块验证码实现 vue3 自动引入

Merge pull request !376 from xingyu/dev
This commit is contained in:
芋道源码
2023-01-19 01:24:20 +00:00
committed by Gitee
276 changed files with 1250 additions and 4565 deletions

View File

@ -1,10 +1,11 @@
package cn.iocoder.yudao.module.system.controller.admin.captcha;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.servlet.ServletUtil;
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
import com.anji.captcha.model.common.ResponseModel;
import com.anji.captcha.model.vo.CaptchaVO;
import com.anji.captcha.service.CaptchaService;
import com.xingyuv.captcha.model.common.ResponseModel;
import com.xingyuv.captcha.model.vo.CaptchaVO;
import com.xingyuv.captcha.service.CaptchaService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
@ -19,9 +20,6 @@ import javax.servlet.http.HttpServletRequest;
/**
* 验证码
*
* 问题:为什么不直接使用 anji 提供的 CaptchaController而要另外继承
* 回答:管理使用 /admin-api/* 作为前缀,所以需要继承!
*
* @author 芋道源码
*/
@Api(tags = "管理后台 - 验证码")
@ -52,8 +50,7 @@ public class CaptchaController {
}
public static String getRemoteId(HttpServletRequest request) {
String xfwd = request.getHeader("X-Forwarded-For");
String ip = getRemoteIpFromXfwd(xfwd);
String ip = ServletUtil.getClientIP(request);
String ua = request.getHeader("user-agent");
if (StrUtil.isNotBlank(ip)) {
return ip + ua;
@ -61,12 +58,4 @@ public class CaptchaController {
return request.getRemoteAddr() + ua;
}
private static String getRemoteIpFromXfwd(String xfwd) {
if (StrUtil.isNotBlank(xfwd)) {
String[] ipList = xfwd.split(",");
return StrUtil.trim(ipList[0]);
}
return null;
}
}

View File

@ -22,9 +22,9 @@ import cn.iocoder.yudao.module.system.service.member.MemberService;
import cn.iocoder.yudao.module.system.service.oauth2.OAuth2TokenService;
import cn.iocoder.yudao.module.system.service.social.SocialUserService;
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
import com.anji.captcha.model.common.ResponseModel;
import com.anji.captcha.model.vo.CaptchaVO;
import com.anji.captcha.service.CaptchaService;
import com.xingyuv.captcha.model.common.ResponseModel;
import com.xingyuv.captcha.model.vo.CaptchaVO;
import com.xingyuv.captcha.service.CaptchaService;
import com.google.common.annotations.VisibleForTesting;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;