From 087991c76f078defe5eb55d84223021b4199fb3d Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 17 二月 2025 11:22:50 +0800
Subject: [PATCH] 设备模块修改bug

---
 framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java |   31 ++++++++++++++++++++-----------
 1 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java b/framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java
index bb90e50..bf55558 100644
--- a/framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java
+++ b/framework/src/main/java/com/yuanchu/mom/config/FiferConfig.java
@@ -1,5 +1,6 @@
 package com.yuanchu.mom.config;
 
+import com.yuanchu.mom.annotation.ValueAuth;
 import com.yuanchu.mom.utils.JackSonUtil;
 import com.yuanchu.mom.utils.Jwt;
 import com.yuanchu.mom.utils.RedisUtil;
@@ -8,6 +9,7 @@
 import org.springframework.http.HttpMethod;
 import org.springframework.http.MediaType;
 import org.springframework.stereotype.Component;
+import org.springframework.web.method.HandlerMethod;
 import org.springframework.web.servlet.HandlerInterceptor;
 import org.springframework.web.servlet.ModelAndView;
 
@@ -25,27 +27,34 @@
     @Value("${server.port}")
     private String serverPort;
 
-    private static ThreadLocal<String> threadLocal = new ThreadLocal<>();
-
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
         if (HttpMethod.OPTIONS.toString().equals(request.getMethod())) {
             response.setStatus(HttpServletResponse.SC_OK);
             return true;
         }
+        try {
+            HandlerMethod h = (HandlerMethod)handler;
+            ValueAuth annotation = h.getMethodAnnotation(ValueAuth.class);
+            if(annotation!=null){
+                return true;
+            }
+        }catch (Exception e){
+            return true;
+        }
         String[] strs = request.getRequestURL().toString().split(serverPort);
         AtomicBoolean judge = new AtomicBoolean(false);
-        list.forEach(a -> {
-            if (strs[1].equals(a)) {
+        for (String s : list) {
+            if (strs[1].equals(s)) {
                 judge.set(true);
-                return;
-            } else if (a.indexOf("/**") > -1) {
-                if (strs[1].indexOf(a.replace("/**", "")) == 0) {
+                break;
+            } else if (s.indexOf("/**") > -1) {
+                if (strs[1].indexOf(s.replace("/**", "")) == 0) {
                     judge.set(true);
-                    return;
+                    break;
                 }
             }
-        });
+        }
         if (judge.get()) return true;
         response.setContentType(MediaType.APPLICATION_JSON_VALUE);
         response.setCharacterEncoding("UTF-8");
@@ -75,12 +84,11 @@
 
     @Override
     public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
-
     }
 
     @Override
     public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
-//        System.out.println("-------------------------鎷︽埅鍣ㄦ牎楠岄�氳繃---------------------------");
+
     }
 
     private List<String> list;
@@ -91,6 +99,7 @@
 
         list.add("/user/enter");
         list.add("/user/refresh");
+        list.add("/outPath/**");
         this.list = list;
     }
 

--
Gitblit v1.9.3