美文网首页
静态目录

静态目录

作者: xueyueshuai | 来源:发表于2024-06-08 15:53 被阅读0次
    package com.dz.framework.config;
    
    import com.dz.common.config.RuoYiConfig;
    import com.dz.common.constant.Constants;
    import com.dz.framework.interceptor.RepeatSubmitInterceptor;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.http.CacheControl;
    import org.springframework.web.cors.CorsConfiguration;
    import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
    import org.springframework.web.filter.CorsFilter;
    import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
    import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
    
    import java.util.concurrent.TimeUnit;
    
    /**
     * 通用配置
     *
     * @author xzd
     */
    @Configuration
    public class ResourcesConfig implements WebMvcConfigurer {
        @Autowired
        private RepeatSubmitInterceptor repeatSubmitInterceptor;
    
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            /** 本地文件上传路径 */
            registry.addResourceHandler(Constants.RESOURCE_PREFIX + "/**")
                    .addResourceLocations("file:" + RuoYiConfig.getProfile() + "/");
    
            /** big-ui */
            registry.addResourceHandler( "/big-ui/**")
                    .addResourceLocations("file:" + "web-dir/big-ui/");
    
            /** admin-ui */
            registry.addResourceHandler( "/admin-ui/**")
                    .addResourceLocations("file:" + "web-dir/admin-ui/");
    
            /** some */
            registry.addResourceHandler( "/some/**")
                    .addResourceLocations("file:" + "web-dir/some/");
    
            /** swagger配置 */
            registry.addResourceHandler("/swagger-ui/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/")
                .setCacheControl(CacheControl.maxAge(5, TimeUnit.HOURS).cachePublic());
            ;
        }
    
        /**
         * 自定义拦截规则
         */
        @Override
        public void addInterceptors(InterceptorRegistry registry) {
            registry.addInterceptor(repeatSubmitInterceptor).addPathPatterns("/**");
        }
    
        /**
         * 跨域配置
         */
        @Bean
        public CorsFilter corsFilter() {
            CorsConfiguration config = new CorsConfiguration();
            config.setAllowCredentials(true);
            // 设置访问源地址
            config.addAllowedOriginPattern("*");
            // 设置访问源请求头
            config.addAllowedHeader("*");
            // 设置访问源请求方法
            config.addAllowedMethod("*");
            // 有效期 1800秒
            config.setMaxAge(1800L);
            // 添加映射路径,拦截一切请求
            UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
            source.registerCorsConfiguration("/**", config);
            // 返回新的CorsFilter
            return new CorsFilter(source);
        }
    }
    

    相关文章

      网友评论

          本文标题:静态目录

          本文链接:https://www.haomeiwen.com/subject/lxqsfjtx.html