From e907315afa43ae0e3c4823f069340513faa3b5dd Mon Sep 17 00:00:00 2001 From: huang Date: Sat, 20 Dec 2025 10:23:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E8=BF=94=E5=9B=9E=E7=BC=96?= =?UTF-8?q?=E7=A0=81=E6=9C=AA=E8=AE=BE=E7=BD=AE=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/errors/handler.go | 4 +++- pkg/response/response.go | 12 +++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/pkg/errors/handler.go b/pkg/errors/handler.go index a188ada..5b56733 100644 --- a/pkg/errors/handler.go +++ b/pkg/errors/handler.go @@ -111,12 +111,14 @@ func handleError(c *fiber.Ctx, err error, logger *zap.Logger) error { } // 6. 返回统一 JSON 响应 - return c.Status(httpStatus).JSON(fiber.Map{ + errResp := c.Status(httpStatus).JSON(fiber.Map{ "code": code, "data": nil, "msg": message, "timestamp": time.Now().Format(time.RFC3339), }) + c.Set(fiber.HeaderContentType, "application/json; charset=utf-8") + return errResp } // safeLog 安全地记录日志,日志失败时静默处理(默认 Error 级别) diff --git a/pkg/response/response.go b/pkg/response/response.go index 76876e6..88d8525 100644 --- a/pkg/response/response.go +++ b/pkg/response/response.go @@ -17,22 +17,26 @@ type Response struct { // Success 返回成功响应 func Success(c *fiber.Ctx, data any) error { - return c.JSON(Response{ + err := c.JSON(Response{ Code: errors.CodeSuccess, Data: data, Message: "success", Timestamp: time.Now().Format(time.RFC3339), }) + c.Set(fiber.HeaderContentType, "application/json; charset=utf-8") + return err } // SuccessWithMessage 返回带自定义消息的成功响应 func SuccessWithMessage(c *fiber.Ctx, data any, message string) error { - return c.JSON(Response{ + err := c.JSON(Response{ Code: errors.CodeSuccess, Data: data, Message: message, Timestamp: time.Now().Format(time.RFC3339), }) + c.Set(fiber.HeaderContentType, "application/json; charset=utf-8") + return err } // PaginationData 分页数据结构 @@ -45,7 +49,7 @@ type PaginationData struct { // SuccessWithPagination 返回分页响应 func SuccessWithPagination(c *fiber.Ctx, items any, total int64, page, size int) error { - return c.JSON(Response{ + err := c.JSON(Response{ Code: errors.CodeSuccess, Data: PaginationData{ Items: items, @@ -56,4 +60,6 @@ func SuccessWithPagination(c *fiber.Ctx, items any, total int64, page, size int) Message: "success", Timestamp: time.Now().Format(time.RFC3339), }) + c.Set(fiber.HeaderContentType, "application/json; charset=utf-8") + return err }