From 6563c783dbce66d917820e7ad2d21acf49e2ec03 Mon Sep 17 00:00:00 2001 From: tone Date: Thu, 18 Dec 2025 17:06:11 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=85=A8=E5=B1=80filter=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=AF=B9401=E7=9A=84=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/filters/global.exceptions.filter.ts | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/apps/backend/src/common/filters/global.exceptions.filter.ts b/apps/backend/src/common/filters/global.exceptions.filter.ts index ececc3c..a7e365c 100644 --- a/apps/backend/src/common/filters/global.exceptions.filter.ts +++ b/apps/backend/src/common/filters/global.exceptions.filter.ts @@ -27,12 +27,21 @@ export class GlobalExceptionsFilter implements ExceptionFilter { // 当HttpException传入类型为string时,响应data为null,message为传入的string // 其他请况(object/number),响应为传入数据,message为HttpException的错误码 statusCode = exception.getStatus(); - const response = exception.getResponse() as Record; - if (response.message) { - errorResponse.message = response.message; + const exceptionResponse = exception.getResponse() as Record; + if (exceptionResponse.message) { + errorResponse.message = exceptionResponse.message; } else { errorResponse.message = '请求失败'; - errorResponse.data = response; + errorResponse.data = exceptionResponse; + } + + if (statusCode === HttpStatus.UNAUTHORIZED && request.cookies?.['session']) { + response.clearCookie('session', { + httpOnly: true, + secure: process.env.NODE_ENV === 'production', + sameSite: 'lax', + path: '/', + }); } } else { Logger.warn(exception, request.path);