gemercheung 2 gadi atpakaļ
vecāks
revīzija
441243dd4c

+ 1 - 2
src/app.module.ts

@@ -28,7 +28,6 @@ import { RoomModule } from './room/room.module';
 // import { SocketModule } from './socket/socket.module';
 import { RoomManagerModule } from './room-manager/room-manager.module';
 
-
 const url = `redis://:${process.env.REDIS_PASSWORD}@${process.env.REDIS_HOST}:${process.env.REDIS_PORT}/${process.env.REDIS_DB}`;
 
 const redisMo = RedisModule.forRoot({
@@ -61,7 +60,7 @@ const storeThor = ThrottlerModule.forRootAsync({
   exports: [],
 })
 export class AppModule implements OnModuleInit {
-  constructor(private readonly nacos: NacosService) { }
+  constructor(private readonly nacos: NacosService) {}
   async onModuleInit() {
     await this.nacos.register('4dkakan-daikan-socket');
   }

+ 25 - 0
src/interceptor/http-execption/http-execption.filter.ts

@@ -0,0 +1,25 @@
+import {
+  ExceptionFilter,
+  Catch,
+  ArgumentsHost,
+  HttpException,
+} from '@nestjs/common';
+import { Request, Response } from 'express';
+import { execPath } from 'process';
+
+@Catch(HttpException)
+export class HttpExceptionFilter implements ExceptionFilter {
+  catch(exception: HttpException, host: ArgumentsHost) {
+    const ctx = host.switchToHttp();
+    const response = ctx.getResponse<Response>();
+    const status = exception.getStatus();
+    const message = exception.message;
+    response.status(status).json({
+      code: status,
+      data: false,
+      message,
+      success: false,
+      timestamp: Date.now(),
+    });
+  }
+}

+ 0 - 7
src/interceptor/transform/transform.interceptor.spec.ts

@@ -1,7 +0,0 @@
-import { TransformInterceptor } from './transform.interceptor';
-
-describe('TransformInterceptor', () => {
-  it('should be defined', () => {
-    expect(new TransformInterceptor()).toBeDefined();
-  });
-});

+ 2 - 2
src/interceptor/transform/transform.interceptor.ts

@@ -15,8 +15,8 @@ export class TransformInterceptor implements NestInterceptor {
         data,
         message: '成功',
         success: true,
-        timestamp: Date.now()
+        timestamp: Date.now(),
       })),
     );
   }
-}
+}

+ 3 - 0
src/main.ts

@@ -8,6 +8,7 @@ import 'winston-daily-rotate-file';
 import { join } from 'path';
 import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';
 import { TransformInterceptor } from './interceptor/transform/transform.interceptor';
+import { HttpExceptionFilter } from './interceptor/http-execption/http-execption.filter';
 
 async function bootstrap() {
   // const app = await NestFactory.create(AppModule);
@@ -41,6 +42,8 @@ async function bootstrap() {
   await redisIoAdapter.connectToRedis();
   app.useWebSocketAdapter(redisIoAdapter);
   app.useGlobalInterceptors(new TransformInterceptor());
+  app.useGlobalFilters(new HttpExceptionFilter());
+  app.setGlobalPrefix('daikan');
   const config = new DocumentBuilder()
     .setTitle('带看socket API')
     .setDescription('带看api文档')