WebMvcConfig.java 1.28 KB
package com.diligrp.rider.config;

import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
@RequiredArgsConstructor
public class WebMvcConfig implements WebMvcConfigurer {

    private final AuthInterceptor authInterceptor;
    private final OpenApiInterceptor openApiInterceptor;

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // JWT 鉴权:骑手端、管理端、平台端
        registry.addInterceptor(authInterceptor)
                .addPathPatterns("/api/rider/**", "/api/admin/**", "/api/platform/**")
                .excludePathPatterns(
                        "/api/rider/login/**",
                        "/api/rider/apply",
                        "/api/merchant/enter",
                        "/api/admin/auth/login"  // 管理员登录无需鉴权
                );

        // 开放平台签名鉴权:/api/open/** 需要 AppKey+签名
        registry.addInterceptor(openApiInterceptor)
                .addPathPatterns("/api/open/**");

        // /api/delivery/fee/** 对内中台接口,内网调用,不做鉴权
    }
}