package cn.aqroid.business.auth.config;

import cn.aqroid.business.auth.interceptor.ApiAuthInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * API Web配置
 * 配置小程序端API的拦截器
 *
 * @author aqroid
 * @date 2026-01-12
 */
@Configuration
public class ApiWebConfig implements WebMvcConfigurer {

    @Autowired
    private ApiAuthInterceptor apiAuthInterceptor;

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // API认证拦截器 - 拦截/api/**路径
        registry.addInterceptor(apiAuthInterceptor)
                .addPathPatterns("/api/**")
                .excludePathPatterns(
                    "/api/auth/wx-login",      // 微信登录
                    "/api/auth/phone-login",   // 手机号登录（需要先wx-login）
                    "/api/public/**",          // 公开接口
                    "/api/service/list",       // 服务列表（公开）
                    "/api/service/detail/**",  // 服务详情（公开）
                    "/api/player/list",        // 代练列表（公开）
                    "/api/player/detail/**"    // 代练详情（公开）
                );
    }
}
