package com.mindskip.xzs.configuration.spring.mvc;
|
|
import com.mindskip.xzs.configuration.property.SystemConfig;
|
import com.mindskip.xzs.configuration.spring.wechat.TokenHandlerInterceptor;
|
import lombok.AllArgsConstructor;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.web.servlet.config.annotation.*;
|
|
import java.util.List;
|
|
|
/**
|
* @version 2.2.0
|
* @description: mvc配置
|
* Copyright (C), 2020-2021, 武汉思维跳跃科技有限公司
|
* @date 2021 /9/7 9:45
|
*/
|
@Configuration
|
@AllArgsConstructor
|
public class WebMvcConfiguration extends WebMvcConfigurationSupport {
|
|
private final TokenHandlerInterceptor tokenHandlerInterceptor;
|
private final SystemConfig systemConfig;
|
|
|
/**
|
* 资源路径配置
|
*
|
* @param registry
|
*/
|
@Override
|
public void addResourceHandlers(ResourceHandlerRegistry registry) {
|
registry.addResourceHandler("/resource/**")
|
.addResourceLocations(String.format("file:%s", systemConfig.getLocalStore().getResource()));
|
super.addResourceHandlers(registry);
|
}
|
|
|
/**
|
* 拦截器配置
|
*
|
* @param registry
|
*/
|
@Override
|
public void addInterceptors(InterceptorRegistry registry) {
|
List<String> securityIgnoreUrls = systemConfig.getWechat().getSecurityIgnoreUrls();
|
String[] ignores = new String[securityIgnoreUrls.size()];
|
registry.addInterceptor(tokenHandlerInterceptor)
|
.addPathPatterns("/api/wx/**")
|
.excludePathPatterns(securityIgnoreUrls.toArray(ignores));
|
super.addInterceptors(registry);
|
}
|
|
/**
|
* 跨域配置
|
*
|
* @param registry
|
*/
|
@Override
|
public void addCorsMappings(CorsRegistry registry) {
|
registry.addMapping("/**")
|
.allowCredentials(true)
|
.allowedMethods("*")
|
.allowedOrigins("*")
|
.allowedHeaders("*");
|
super.addCorsMappings(registry);
|
}
|
|
}
|