From b9522d131e168a92c88f23e2c0a3a2df079926b4 Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期一, 19 八月 2024 17:43:43 +0800
Subject: [PATCH] 新增加小程序接口

---
 ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/ValidateCodeFilter.java |   94 +++++++++++++++++++++--------------------------
 1 files changed, 42 insertions(+), 52 deletions(-)

diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/ValidateCodeFilter.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/ValidateCodeFilter.java
index d5b75fd..02d7bb4 100644
--- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/ValidateCodeFilter.java
+++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/ValidateCodeFilter.java
@@ -3,6 +3,7 @@
 import java.nio.CharBuffer;
 import java.nio.charset.StandardCharsets;
 import java.util.concurrent.atomic.AtomicReference;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cloud.gateway.filter.GatewayFilter;
 import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory;
@@ -24,56 +25,45 @@
  * @author ruoyi
  */
 @Component
-public class ValidateCodeFilter extends AbstractGatewayFilterFactory<Object>
-{
-    private final static String[] VALIDATE_URL = new String[] { "/auth/login", "/auth/register" };
-
-    @Autowired
-    private ValidateCodeService validateCodeService;
-
-    @Autowired
-    private CaptchaProperties captchaProperties;
-
-    private static final String CODE = "code";
-
-    private static final String UUID = "uuid";
-
-    @Override
-    public GatewayFilter apply(Object config)
-    {
-        return (exchange, chain) -> {
-            ServerHttpRequest request = exchange.getRequest();
-
-            // 非登录/注册请求或验证码关闭,不处理
-            if (!StringUtils.containsAnyIgnoreCase(request.getURI().getPath(), VALIDATE_URL) || !captchaProperties.getEnabled())
-            {
-                return chain.filter(exchange);
-            }
-
-            try
-            {
-                String rspStr = resolveBodyFromRequest(request);
-                JSONObject obj = JSON.parseObject(rspStr);
-                validateCodeService.checkCaptcha(obj.getString(CODE), obj.getString(UUID));
-            }
-            catch (Exception e)
-            {
-                return ServletUtils.webFluxResponseWriter(exchange.getResponse(), e.getMessage());
-            }
-            return chain.filter(exchange);
-        };
-    }
-
-    private String resolveBodyFromRequest(ServerHttpRequest serverHttpRequest)
-    {
-        // 获取请求体
-        Flux<DataBuffer> body = serverHttpRequest.getBody();
-        AtomicReference<String> bodyRef = new AtomicReference<>();
-        body.subscribe(buffer -> {
-            CharBuffer charBuffer = StandardCharsets.UTF_8.decode(buffer.asByteBuffer());
-            DataBufferUtils.release(buffer);
-            bodyRef.set(charBuffer.toString());
-        });
-        return bodyRef.get();
-    }
+public class ValidateCodeFilter extends AbstractGatewayFilterFactory<Object> {
+	private final static String[] VALIDATE_URL = new String[]{"/auth/login", "/auth/register"};
+	private static final String CODE = "code";
+	private static final String UUID = "uuid";
+	@Autowired
+	private ValidateCodeService validateCodeService;
+	@Autowired
+	private CaptchaProperties captchaProperties;
+	
+	@Override
+	public GatewayFilter apply(Object config) {
+		return (exchange, chain) -> {
+			ServerHttpRequest request = exchange.getRequest();
+			
+			// 非登录/注册请求或验证码关闭,不处理
+			if (!StringUtils.containsAnyIgnoreCase(request.getURI().getPath(), VALIDATE_URL) || !captchaProperties.getEnabled()) {
+				return chain.filter(exchange);
+			}
+			
+			try {
+				String rspStr = resolveBodyFromRequest(request);
+				JSONObject obj = JSON.parseObject(rspStr);
+				validateCodeService.checkCaptcha(obj.getString(CODE), obj.getString(UUID));
+			} catch (Exception e) {
+				return ServletUtils.webFluxResponseWriter(exchange.getResponse(), e.getMessage());
+			}
+			return chain.filter(exchange);
+		};
+	}
+	
+	private String resolveBodyFromRequest(ServerHttpRequest serverHttpRequest) {
+		// 获取请求体
+		Flux<DataBuffer> body = serverHttpRequest.getBody();
+		AtomicReference<String> bodyRef = new AtomicReference<>();
+		body.subscribe(buffer -> {
+			CharBuffer charBuffer = StandardCharsets.UTF_8.decode(buffer.asByteBuffer());
+			DataBufferUtils.release(buffer);
+			bodyRef.set(charBuffer.toString());
+		});
+		return bodyRef.get();
+	}
 }

--
Gitblit v1.7.1