package com.jpsoft.smart.config; import com.jpsoft.smart.interceptor.LoginInterceptor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.*; @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Autowired private LoginInterceptor loginInterceptor; @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("*") .allowedHeaders("*") .allowedMethods("*") .allowCredentials(false) .exposedHeaders("access-control-allow-headers", "access-control-allow-methods", "access-control-allow-origin", "access-control-max-age", "X-Frame-Options", "token-status") .maxAge(3600); } @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/"); } @Override public void addViewControllers(ViewControllerRegistry registry) { // registry.addViewController("/login").setViewName("login"); } @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(loginInterceptor) .addPathPatterns("/**") .excludePathPatterns("/login", "/swagger-resources/**", "/webjars/**", "/swagger-ui.html", "/v2/**", "/mobileApi/**") .excludePathPatterns("/wxPay/webPay") .excludePathPatterns("/aliPay/tradePrecreatePay") .excludePathPatterns("/aliPay/payNotify") .excludePathPatterns("/wxPay/payNotify") .excludePathPatterns("/base/alarmInfo/alarmNotify") .excludePathPatterns("/base/informationInfo/addMobile") .excludePathPatterns("/base/employeeInfo/mobile/**") // .excludePathPatterns("/base/companyInfo/list") .excludePathPatterns("/wechat/**") .excludePathPatterns("/wxCp/**") .excludePathPatterns("/rabbit/**") .excludePathPatterns("/mobile/personInfoApi/findByNameAndPhone") .excludePathPatterns("/mobile/personInfoApi/getVerifyCode") .excludePathPatterns("/mobile/personInfoApi/validateCode") .excludePathPatterns("/mobile/personInfoApi/findByOpenId") .excludePathPatterns("/mobile/personDeviceLogApi/detail") .excludePathPatterns("/mobile/PersonDeviceFilterLog/queryUnmeasureGroupList") .excludePathPatterns("/mobile/healthShowApi/getCompanyToken") .excludePathPatterns("/healthPublicity") .excludePathPatterns("/static/**"); } }