diff --git a/tone-page-server/src/common/interceptors/response.interceptor.ts b/tone-page-server/src/common/interceptors/response.interceptor.ts new file mode 100644 index 0000000..5e9eb0e --- /dev/null +++ b/tone-page-server/src/common/interceptors/response.interceptor.ts @@ -0,0 +1,16 @@ +import { CallHandler, ExecutionContext, Injectable, NestInterceptor } from "@nestjs/common"; +import { Observable } from "rxjs"; +import { map } from "rxjs/operators"; + +@Injectable() +export class ResponseInterceptor implements NestInterceptor { + intercept(context: ExecutionContext, next: CallHandler): Observable | Promise> { + return next.handle().pipe( + map(data => ({ + statusCode: 200, + message: '请求成功', + data, + })), + ); + } +} \ No newline at end of file diff --git a/tone-page-server/src/main.ts b/tone-page-server/src/main.ts index 241ade4..b396901 100644 --- a/tone-page-server/src/main.ts +++ b/tone-page-server/src/main.ts @@ -1,10 +1,12 @@ import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; import { ValidationPipe } from '@nestjs/common'; +import { ResponseInterceptor } from './common/interceptors/response.interceptor'; async function bootstrap() { const app = await NestFactory.create(AppModule); app.useGlobalPipes(new ValidationPipe({ transform: true, whitelist: true })); + app.useGlobalInterceptors(new ResponseInterceptor()); await app.listen(process.env.PORT ?? 3001); } bootstrap();