From c3fbe657671ae55768ce9ac7ea7bb75ff0c6829e Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期三, 19 三月 2025 08:55:57 +0800
Subject: [PATCH] add: 短信+内容+字典

---
 src/main/java/com/jsh/erp/filter/LogCostFilter.java |   44 ++++++++++++++++++++++++++++++++++++++------
 1 files changed, 38 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/jsh/erp/filter/LogCostFilter.java b/src/main/java/com/jsh/erp/filter/LogCostFilter.java
index 8b8bee2..feaefe9 100644
--- a/src/main/java/com/jsh/erp/filter/LogCostFilter.java
+++ b/src/main/java/com/jsh/erp/filter/LogCostFilter.java
@@ -17,7 +17,10 @@
                               "/jshERP-boot/user/registerUser#/jshERP-boot/user/randomImage#" +
                               "/jshERP-boot/platformConfig/getPlatform#/jshERP-boot/v2/api-docs#/jshERP-boot/webjars#" +
                               "/jshERP-boot/systemConfig/static#/jshERP-boot/api/plugin/wechat/weChat/share#" +
-                              "/jshERP-boot/api/plugin/general-ledger/pdf/voucher#/jshERP-boot/api/plugin/tenant-statistics/tenantClean")})
+                              "/jshERP-boot/api/plugin/general-ledger/pdf/voucher#/jshERP-boot/api/plugin/tenant-statistics/tenantClean#" +
+                              "/jshERP-boot/swagger-ui.html#/jshERP-boot/swagger-resources#" +
+                              "/jshERP-boot/doc.html#/jshERP-boot/swagger-resources/**#" +
+                              "/jshERP-boot/v2/api-docs/**#/jshERP-boot/webjars/**")})
 public class LogCostFilter implements Filter {
 
     private static final String FILTER_PATH = "filterPath";
@@ -40,14 +43,26 @@
         HttpServletRequest servletRequest = (HttpServletRequest) request;
         HttpServletResponse servletResponse = (HttpServletResponse) response;
         String requestUrl = servletRequest.getRequestURI();
-        //具体,比如:处理若用户未登录,则跳转到登录页
-        Object userId = redisService.getObjectFromSessionByKey(servletRequest,"userId");
-        if(userId!=null) { //如果已登录,不阻止
+
+        if (isSwaggerRequest(requestUrl)) {
             chain.doFilter(request, response);
             return;
         }
-        if (requestUrl != null && (requestUrl.contains("/doc.html") ||
-            requestUrl.contains("/user/login") || requestUrl.contains("/user/register"))) {
+
+        if (requestUrl != null && (
+            requestUrl.contains("/doc.html") ||
+            requestUrl.contains("/swagger-ui.html") ||
+            requestUrl.contains("/swagger-resources") ||
+            requestUrl.contains("/v2/api-docs") ||
+            requestUrl.contains("/webjars/") ||
+            requestUrl.contains("/user/login") || 
+            requestUrl.contains("/user/register"))) {
+            chain.doFilter(request, response);
+            return;
+        }
+
+        Object userId = redisService.getObjectFromSessionByKey(servletRequest,"userId");
+        if(userId!=null) { //如果已登录,不阻止
             chain.doFilter(request, response);
             return;
         }
@@ -64,6 +79,23 @@
             servletResponse.getWriter().write("loginOut");
         }
     }
+    private boolean isSwaggerRequest(String requestUrl) {
+        return requestUrl != null && (
+                requestUrl.contains("/doc.html") ||
+                        requestUrl.contains("/swagger-ui.html") ||
+                        requestUrl.contains("/swagger-resources") ||
+                        requestUrl.contains("/v2/api-docs") ||
+                        requestUrl.contains("/webjars/") ||
+                        requestUrl.contains("/user/login") ||
+                        requestUrl.contains("/user/register") ||
+                        // 添加API尝试请求
+                        requestUrl.contains("/cloudContent/getByType") ||  // 允许未登录访问的API
+                        requestUrl.contains("/cloudContent/list")  ||         // 允许未登录访问的API
+                        requestUrl.contains("/sysDict/getByDictCodeAndItemText")  || //允许查询字典值API
+                        requestUrl.contains("/sms/send-code")  || //
+                        requestUrl.contains("/sms/login")  //
+        );
+    }
 
     @Override
     public void destroy() {

--
Gitblit v1.9.3