From 0fe7284ae877676359a5e26dd6663128624fbdd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Wed, 8 Apr 2026 09:21:26 +0800 Subject: [PATCH] =?UTF-8?q?feat(interceptor):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=A4=9A=E8=AF=AD=E8=A8=80=E6=8B=A6=E6=88=AA=E5=99=A8=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 创建 LanguageInterceptor 类处理请求头中的 language 参数 - 实现 preHandle 方法从请求头获取语言设置并存储到 MultilingualUtil - 实现 afterCompletion 方法清理 ThreadLocal 防止内存泄漏 - 在 WebConfig 中注册拦截器到 /** 路径 - 统一多个模块的 WebConfig 配置引用统一的拦截器实现 --- .../mobilebroken/admin/config/WebConfig.java | 21 +++++++++++++++++++ .../mobilebroken/cfs/config/WebConfig.java | 2 +- .../mobilebroken/gongfu/config/WebConfig.java | 21 +++++++++++++++++++ .../interceptor/LanguageInterceptor.java | 2 +- 4 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/config/WebConfig.java create mode 100644 nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/config/WebConfig.java rename {nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs => nflg-mobilebroken-starter/src/main/java/com/nflg/mobilebroken/starter}/interceptor/LanguageInterceptor.java (95%) diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/config/WebConfig.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/config/WebConfig.java new file mode 100644 index 00000000..d45308d5 --- /dev/null +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/config/WebConfig.java @@ -0,0 +1,21 @@ +package com.nflg.mobilebroken.admin.config; + +import com.nflg.mobilebroken.starter.interceptor.LanguageInterceptor; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +import javax.annotation.Resource; + +@Configuration +public class WebConfig implements WebMvcConfigurer { + + @Resource + private LanguageInterceptor languageInterceptor; + + @Override + public void addInterceptors(InterceptorRegistry registry) { + // 注册拦截器并指定拦截路径 + registry.addInterceptor(languageInterceptor).addPathPatterns("/**"); + } +} diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/config/WebConfig.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/config/WebConfig.java index 548d4a54..0e68476a 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/config/WebConfig.java +++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/config/WebConfig.java @@ -1,6 +1,6 @@ package com.nflg.mobilebroken.cfs.config; -import com.nflg.mobilebroken.cfs.interceptor.LanguageInterceptor; +import com.nflg.mobilebroken.starter.interceptor.LanguageInterceptor; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/config/WebConfig.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/config/WebConfig.java new file mode 100644 index 00000000..5a023b3d --- /dev/null +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/config/WebConfig.java @@ -0,0 +1,21 @@ +package com.nflg.mobilebroken.gongfu.config; + +import com.nflg.mobilebroken.starter.interceptor.LanguageInterceptor; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +import javax.annotation.Resource; + +@Configuration +public class WebConfig implements WebMvcConfigurer { + + @Resource + private LanguageInterceptor languageInterceptor; + + @Override + public void addInterceptors(InterceptorRegistry registry) { + // 注册拦截器并指定拦截路径 + registry.addInterceptor(languageInterceptor).addPathPatterns("/**"); + } +} diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/interceptor/LanguageInterceptor.java b/nflg-mobilebroken-starter/src/main/java/com/nflg/mobilebroken/starter/interceptor/LanguageInterceptor.java similarity index 95% rename from nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/interceptor/LanguageInterceptor.java rename to nflg-mobilebroken-starter/src/main/java/com/nflg/mobilebroken/starter/interceptor/LanguageInterceptor.java index 8792abdf..4ebc2207 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/interceptor/LanguageInterceptor.java +++ b/nflg-mobilebroken-starter/src/main/java/com/nflg/mobilebroken/starter/interceptor/LanguageInterceptor.java @@ -1,4 +1,4 @@ -package com.nflg.mobilebroken.cfs.interceptor; +package com.nflg.mobilebroken.starter.interceptor; import cn.hutool.core.util.StrUtil; import com.nflg.mobilebroken.common.util.MultilingualUtil;