Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
luolm 2025-03-24 11:36:40 +08:00
commit 22dbad1a41
2 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,21 @@
package com.nflg.mobilebroken.cfs.config;
import com.nflg.mobilebroken.cfs.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

@ -0,0 +1,28 @@
package com.nflg.mobilebroken.cfs.interceptor;
import cn.hutool.core.util.StrUtil;
import com.nflg.mobilebroken.common.util.MultilingualUtil;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Component
public class LanguageInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 从请求头中获取 language 参数
String language = request.getHeader("language");
if(StrUtil.isNotBlank(language)){
MultilingualUtil.setLanguage(language);
}
return true;
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
// 请求完成后清理 ThreadLocal防止内存泄漏
MultilingualUtil.clear();
}
}