From 2dc12d419733c094bb0bbc7ef4f7a32d5067cfb9 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 03 十二月 2025 17:27:32 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/config/WebConfig.java |   73 ++++++++++++++++++++++++++++++++++++
 1 files changed, 72 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/common/config/WebConfig.java b/src/main/java/com/zy/common/config/WebConfig.java
index 11bb6b2..6695972 100644
--- a/src/main/java/com/zy/common/config/WebConfig.java
+++ b/src/main/java/com/zy/common/config/WebConfig.java
@@ -1,9 +1,25 @@
 package com.zy.common.config;
 
+//import com.zy.common.constant.MesConstant;
+//import com.zy.common.route.RouteFilter;
+//import com.zy.common.utils.Http;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.web.servlet.FilterRegistrationBean;
+import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.core.Ordered;
+import org.springframework.web.cors.CorsConfiguration;
+import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
+import org.springframework.web.filter.CorsFilter;
+import org.springframework.web.servlet.AsyncHandlerInterceptor;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 /**
  * Created by vincent on 2019-06-13
@@ -16,9 +32,64 @@
 
     @Override
     public void addInterceptors(InterceptorRegistry registry) {
+//        registry.addInterceptor(new RouteFilter())
+//                .addPathPatterns("/api/robot") // 鎷︽埅璺緞
+//                .excludePathPatterns("/static/**"); // 鎺掗櫎闈欐�佽祫婧�
         registry.addInterceptor(adminInterceptor)
                 .addPathPatterns("/**")
-                ;
+        ;
     }
 
+//    @Bean
+//    public RequestMappingHandlerMapping requestMappingHandlerMapping() {
+//        RequestMappingHandlerMapping handlerMapping = new CustomRequestMappingHandlerMapping();
+//        handlerMapping.setOrder(0);
+//        handlerMapping.setInterceptors(new RouteFilter());
+//        return handlerMapping;
+//    }
+
+    @Override
+    public void addCorsMappings(CorsRegistry registry) {
+        registry.addMapping("/**")
+                .allowedOrigins("*") // 浣跨敤 allowedOriginPatterns 鑰屼笉鏄� allowedOrigins
+                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
+                .allowedHeaders("*")
+                .allowCredentials(true)
+                .maxAge(3600);
+    }
+
+    /**
+     * 鏂瑰紡浜岋細浣跨敤 Filter锛堟洿鍏ㄩ潰锛屼紭鍏堢骇鏇撮珮锛�
+     */
+    @Bean
+    public FilterRegistrationBean<CorsFilter> corsFilter() {
+        CorsConfiguration config = new CorsConfiguration();
+
+        // 鍏佽鎵�鏈夊煙鍚�
+        config.addAllowedOrigin("*");
+
+        // 鍏佽浠讳綍澶�
+        config.addAllowedHeader("*");
+
+        // 鍏佽浠讳綍鏂规硶锛圙ET, POST, PUT, DELETE, OPTIONS绛夛級
+        config.addAllowedMethod("*");
+
+        // 鍏佽鍑瘉锛堝鏋滈渶瑕乧ookie绛夊嚟璇侊紝璁剧疆涓簍rue锛屼絾闇�瑕佹寚瀹氬叿浣撳煙鍚嶏級
+        config.setAllowCredentials(false);
+
+        // 棰勬璇锋眰鐨勬湁鏁堟湡锛屽崟浣嶄负绉�
+        config.setMaxAge(3600L);
+
+        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
+        source.registerCorsConfiguration("/**", config);
+
+        FilterRegistrationBean<CorsFilter> bean = new FilterRegistrationBean<>(new CorsFilter(source));
+
+        // 璁剧疆浼樺厛绾ф渶楂�
+        bean.setOrder(Ordered.HIGHEST_PRECEDENCE);
+
+        return bean;
+    }
+
+
 }

--
Gitblit v1.9.1