// Filename: internal/handlers/log_handler.go package handlers import ( "gemini-balancer/internal/errors" "gemini-balancer/internal/response" "gemini-balancer/internal/service" "strconv" "github.com/gin-gonic/gin" ) type LogHandler struct { logService *service.LogService } func NewLogHandler(logService *service.LogService) *LogHandler { return &LogHandler{logService: logService} } func (h *LogHandler) GetLogs(c *gin.Context) { // 调用新的服务函数,接收日志列表和总数 logs, total, err := h.logService.GetLogs(c) if err != nil { response.Error(c, errors.ErrDatabase) return } // 解析分页参数用于响应体 page, _ := strconv.Atoi(c.DefaultQuery("page", "1")) pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", "20")) // 使用标准的分页响应结构 response.Success(c, gin.H{ "items": logs, "total": total, "page": page, "page_size": pageSize, }) }