WebConfig.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. package com.fuint.common.config;
  2. import com.fuint.common.web.AdminUserInterceptor;
  3. import com.fuint.common.web.CommandInterceptor;
  4. import com.fuint.common.web.ClientUserInterceptor;
  5. import org.springframework.context.annotation.Bean;
  6. import org.springframework.context.annotation.Configuration;
  7. import org.springframework.http.CacheControl;
  8. import org.springframework.web.filter.CharacterEncodingFilter;
  9. import org.springframework.web.servlet.config.annotation.*;
  10. import org.springframework.web.servlet.resource.CssLinkResourceTransformer;
  11. import org.springframework.web.servlet.resource.VersionResourceResolver;
  12. import java.util.concurrent.TimeUnit;
  13. /**
  14. * web配置
  15. *
  16. * Created by FSQ
  17. * CopyRight https://www.fuint.cn
  18. */
  19. @Configuration
  20. public class WebConfig extends WebMvcConfigurationSupport {
  21. @Override
  22. public void addResourceHandlers(ResourceHandlerRegistry registry) {
  23. registry.addResourceHandler("/resources/**")
  24. .addResourceLocations("/resources/", "classpath:/other-resources/")
  25. .setCacheControl(CacheControl.maxAge(365, TimeUnit.DAYS))
  26. .resourceChain(false)
  27. .addResolver(new VersionResourceResolver().addContentVersionStrategy("/**"))
  28. .addTransformer(new CssLinkResourceTransformer());
  29. registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
  30. registry.addResourceHandler("/**").addResourceLocations(
  31. "classpath:/static/");
  32. registry.addResourceHandler("swagger-ui.html").addResourceLocations(
  33. "classpath:/META-INF/resources/");
  34. registry.addResourceHandler("/webjars/**").addResourceLocations(
  35. "classpath:/META-INF/resources/webjars/");
  36. super.addResourceHandlers(registry);
  37. }
  38. @Bean
  39. public CommandInterceptor commandInterceptor() {
  40. return new CommandInterceptor();
  41. }
  42. @Bean
  43. public AdminUserInterceptor adminUserInterceptor() {
  44. return new AdminUserInterceptor();
  45. }
  46. @Bean
  47. public ClientUserInterceptor portalUserInterceptor() {
  48. return new ClientUserInterceptor();
  49. }
  50. @Override
  51. public void addInterceptors(InterceptorRegistry registry) {
  52. // Command
  53. registry.addInterceptor(commandInterceptor())
  54. .addPathPatterns("/cmd/**");
  55. // 后台拦截
  56. registry.addInterceptor(adminUserInterceptor())
  57. .addPathPatterns("/backendApi/**")
  58. .excludePathPatterns("/clientApi/captcha/**")
  59. .excludePathPatterns("/backendApi/captcha/**")
  60. .excludePathPatterns("/backendApi/userCoupon/exportList")
  61. .excludePathPatterns("/backendApi/login/**");
  62. // 客户端拦截
  63. registry.addInterceptor(portalUserInterceptor())
  64. .addPathPatterns("/clientApi/**")
  65. .excludePathPatterns("/clientApi/sign/**")
  66. .excludePathPatterns("/clientApi/page/home")
  67. .excludePathPatterns("/clientApi/captcha/**")
  68. .excludePathPatterns("/clientApi/goodsApi/**")
  69. .excludePathPatterns("/clientApi/coupon/list")
  70. .excludePathPatterns("/clientApi/coupon/detail")
  71. .excludePathPatterns("/clientApi/cart/**")
  72. .excludePathPatterns("/clientApi/user/**")
  73. .excludePathPatterns("/clientApi/settlement/submit")
  74. .excludePathPatterns("/clientApi/pay/**")
  75. .excludePathPatterns("/clientApi/order/todoCounts")
  76. .excludePathPatterns("/clientApi/store/**")
  77. .excludePathPatterns("/clientApi/article/**")
  78. .excludePathPatterns("/clientApi/message/getOne")
  79. .excludePathPatterns("/clientApi/message/wxPush")
  80. .excludePathPatterns("/clientApi/sms/sendVerifyCode")
  81. .excludePathPatterns("/clientApi/book/list")
  82. .excludePathPatterns("/clientApi/book/detail")
  83. .excludePathPatterns("/clientApi/book/cateList");
  84. }
  85. @Bean
  86. public CharacterEncodingFilter characterEncodingFilter() {
  87. CharacterEncodingFilter filter = new CharacterEncodingFilter();
  88. filter.setEncoding("UTF-8");
  89. filter.setForceEncoding(true);
  90. return filter;
  91. }
  92. }