import { NestFactory } from '@nestjs/core'; import { Logger, ValidationPipe } from '@nestjs/common'; import { AppModule } from './app.module'; import { HttpExceptionFilter } from './shared/filters/http-exception.filter'; import { TransformInterceptor } from './shared/interceptors/transform.interceptor'; import { LoggingInterceptor } from './shared/interceptors/logging.interceptor'; async function bootstrap() { const logger = new Logger('Bootstrap'); const app = await NestFactory.create(AppModule); // 全局前缀 app.setGlobalPrefix('api/v2'); // 全局管道 app.useGlobalPipes( new ValidationPipe({ whitelist: true, transform: true, forbidNonWhitelisted: true, }), ); // 全局过滤器 app.useGlobalFilters(new HttpExceptionFilter()); // 全局拦截器 app.useGlobalInterceptors( new LoggingInterceptor(), new TransformInterceptor(), ); // CORS app.enableCors({ origin: process.env.CORS_ORIGINS?.split(',') || '*', credentials: true, }); const port = process.env.PORT || 3024; await app.listen(port); logger.log(`🚀 Auth Service is running on port ${port}`); logger.log(`📚 API prefix: /api/v2`); } bootstrap();