feat(interceptor): 添加多语言拦截器实现

- 创建 LanguageInterceptor 类处理请求头中的 language 参数
- 实现 preHandle 方法从请求头获取语言设置并存储到 MultilingualUtil
- 实现 afterCompletion 方法清理 ThreadLocal 防止内存泄漏
- 在 WebConfig 中注册拦截器到 /** 路径
- 统一多个模块的 WebConfig 配置引用统一的拦截器实现
This commit is contained in:
曹鹏飞 2026-04-08 09:21:26 +08:00
parent 723828e69f
commit 0fe7284ae8
4 changed files with 44 additions and 2 deletions

View File

@ -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("/**");
}
}

View File

@ -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;

View File

@ -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("/**");
}
}

View File

@ -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;