package com.mindskip.xzs.configuration.spring.mvc;
|
|
import com.mindskip.xzs.configuration.RuoYiConfig;
|
import com.mindskip.xzs.configuration.property.SystemConfig;
|
import com.mindskip.xzs.configuration.spring.wx.TokenHandlerInterceptor;
|
import com.mindskip.xzs.utility.Constants;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.web.servlet.config.annotation.*;
|
|
import java.io.File;
|
import java.util.List;
|
|
|
/**
|
* @version 3.5.0
|
* @description: The type Web mvc configuration.
|
* Copyright (C), 2020-2021, 武汉思维跳跃科技有限公司
|
* @date 2021/12/25 9:45
|
*/
|
@Configuration
|
@RequiredArgsConstructor
|
public class WebMvcConfiguration extends WebMvcConfigurationSupport {
|
|
private final TokenHandlerInterceptor tokenHandlerInterceptor;
|
private final SystemConfig systemConfig;
|
private final RuoYiConfig ruoYiConfig;
|
|
|
@Override
|
public void addViewControllers(ViewControllerRegistry registry) {
|
registry.addRedirectViewController("/", "/student/index.html");
|
registry.addRedirectViewController("/student", "/student/index.html");
|
registry.addRedirectViewController("/admin", "/admin/index.html");
|
}
|
|
@Override
|
public void addResourceHandlers(ResourceHandlerRegistry registry) {
|
registry.addResourceHandler(Constants.RESOURCE_PREFIX + "/**")
|
.addResourceLocations("file:" + ruoYiConfig.getUrl() + File.separator)
|
.setCachePeriod(31556926);
|
registry.addResourceHandler("swagger-ui.html")
|
.addResourceLocations("classpath:/META-INF/resources/");
|
registry.addResourceHandler("/webjars/**")
|
.addResourceLocations("classpath:/META-INF/resources/webjars/");
|
super.addResourceHandlers(registry);
|
}
|
|
@Override
|
public void addInterceptors(InterceptorRegistry registry) {
|
List<String> securityIgnoreUrls = systemConfig.getWx().getSecurityIgnoreUrls();
|
String[] ignores = new String[securityIgnoreUrls.size()];
|
registry.addInterceptor(tokenHandlerInterceptor)
|
.addPathPatterns("/api/wx/**")
|
.excludePathPatterns(securityIgnoreUrls.toArray(ignores));
|
super.addInterceptors(registry);
|
}
|
|
@Override
|
public void addCorsMappings(CorsRegistry registry) {
|
registry.addMapping("/**")
|
.allowCredentials(true)
|
.allowedMethods("*")
|
.allowedOrigins("*")
|
.allowedHeaders("*");
|
super.addCorsMappings(registry);
|
}
|
|
}
|