package com.reyun.saas.web.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebConfigration implements  WebMvcConfigurer {

    /**
     * 功能描述:跨域处理
     */
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                // #允许向该服务器提交请求的URI，*表示全部允许
                .allowedOrigins("*")
                // 允许提交请求的方法，*表示全部允许
                .allowedMethods("*")
                // #允许访问的头信息,*表示全部
                .allowedHeaders("*")
                // 预检请求的缓存时间（秒），即在这个时间段里，对于相同的跨域请求不会再预检了
                .maxAge(18000L)
                // 允许cookies跨域
                .allowCredentials(true);
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        // 两个文档的支持 ，实际测试加和不加都一样，先按文档配置
        registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
        // webjars 支持，文档也需要
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
        registry.addResourceHandler("/swagger-ui/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/");
    }

}
