From b3374dccf4537e858259ff8272cc21594e6f360e Mon Sep 17 00:00:00 2001 From: long-agent Date: Fri, 8 May 2026 12:45:56 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BD=BF=E7=94=A8=20pagination.Cla?= =?UTF-8?q?mpPageSize=20=E7=AE=80=E5=8C=96=20handler=20=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - device/log/webhook handler: 替换 if/else 分页限制为 ClampPageSize - 统一添加 page < 1 检查(device/log handler 缺失) --- internal/api/handler/device_handler.go | 14 ++++++++------ internal/api/handler/log_handler.go | 14 ++++++++------ internal/api/handler/webhook_handler.go | 6 ++---- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/internal/api/handler/device_handler.go b/internal/api/handler/device_handler.go index 98f6248..aeb006a 100644 --- a/internal/api/handler/device_handler.go +++ b/internal/api/handler/device_handler.go @@ -89,10 +89,11 @@ func (h *DeviceHandler) GetMyDevices(c *gin.Context) { } page, _ := strconv.Atoi(c.DefaultQuery("page", "1")) - pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize))) - if pageSize < 1 || pageSize > pagination.MaxPageSize { - pageSize = pagination.DefaultPageSize + if page < 1 { + page = 1 } + pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize))) + pageSize = pagination.ClampPageSize(pageSize) devices, total, err := h.deviceService.GetUserDevices(c.Request.Context(), userID, page, pageSize) if err != nil { @@ -317,10 +318,11 @@ func (h *DeviceHandler) GetUserDevices(c *gin.Context) { } page, _ := strconv.Atoi(c.DefaultQuery("page", "1")) - pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize))) - if pageSize < 1 || pageSize > pagination.MaxPageSize { - pageSize = pagination.DefaultPageSize + if page < 1 { + page = 1 } + pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize))) + pageSize = pagination.ClampPageSize(pageSize) devices, total, err := h.deviceService.GetUserDevices(c.Request.Context(), userID, page, pageSize) if err != nil { diff --git a/internal/api/handler/log_handler.go b/internal/api/handler/log_handler.go index d3f6637..dc999a5 100644 --- a/internal/api/handler/log_handler.go +++ b/internal/api/handler/log_handler.go @@ -44,10 +44,11 @@ func (h *LogHandler) GetMyLoginLogs(c *gin.Context) { } page, _ := strconv.Atoi(c.DefaultQuery("page", "1")) - pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize))) - if pageSize < 1 || pageSize > pagination.MaxPageSize { - pageSize = pagination.DefaultPageSize + if page < 1 { + page = 1 } + pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize))) + pageSize = pagination.ClampPageSize(pageSize) logs, total, err := h.loginLogService.GetMyLoginLogs(c.Request.Context(), userID, page, pageSize) if err != nil { @@ -86,10 +87,11 @@ func (h *LogHandler) GetMyOperationLogs(c *gin.Context) { } page, _ := strconv.Atoi(c.DefaultQuery("page", "1")) - pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize))) - if pageSize < 1 || pageSize > pagination.MaxPageSize { - pageSize = pagination.DefaultPageSize + if page < 1 { + page = 1 } + pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize))) + pageSize = pagination.ClampPageSize(pageSize) logs, total, err := h.operationLogService.GetMyOperationLogs(c.Request.Context(), userID, page, pageSize) if err != nil { diff --git a/internal/api/handler/webhook_handler.go b/internal/api/handler/webhook_handler.go index 9c1c35a..08a4bb6 100644 --- a/internal/api/handler/webhook_handler.go +++ b/internal/api/handler/webhook_handler.go @@ -67,13 +67,11 @@ func (h *WebhookHandler) CreateWebhook(c *gin.Context) { // @Router /api/v1/webhooks [get] func (h *WebhookHandler) ListWebhooks(c *gin.Context) { page, _ := strconv.Atoi(c.DefaultQuery("page", "1")) - pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize))) if page < 1 { page = 1 } - if pageSize < 1 || pageSize > pagination.MaxPageSize { - pageSize = pagination.DefaultPageSize - } + pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", strconv.Itoa(pagination.DefaultPageSize))) + pageSize = pagination.ClampPageSize(pageSize) offset := (page - 1) * pageSize userID, _ := c.Get("user_id")