Update: Js 4 Log.html

This commit is contained in:
XOF
2025-11-26 01:46:47 +08:00
parent 04d36e4d9e
commit 01c9b34600
13 changed files with 3675 additions and 1459 deletions

View File

@@ -6,6 +6,9 @@ import (
"gemini-balancer/internal/response"
"gemini-balancer/internal/service"
"strconv"
"strings"
"github.com/gin-gonic/gin"
)
@@ -41,3 +44,58 @@ func (h *LogHandler) GetLogs(c *gin.Context) {
"page_size": params.PageSize,
})
}
// DeleteLogs 删除选定日志 DELETE /admin/logs?ids=1,2,3
func (h *LogHandler) DeleteLogs(c *gin.Context) {
idsStr := c.Query("ids")
if idsStr == "" {
response.Error(c, errors.ErrBadRequest)
return
}
var ids []uint
for _, idStr := range strings.Split(idsStr, ",") {
if id, err := strconv.ParseUint(strings.TrimSpace(idStr), 10, 32); err == nil {
ids = append(ids, uint(id))
}
}
if len(ids) == 0 {
response.Error(c, errors.ErrBadRequest)
return
}
if err := h.logService.DeleteLogs(c.Request.Context(), ids); err != nil {
response.Error(c, errors.ErrDatabase)
return
}
response.Success(c, gin.H{"deleted": len(ids)})
}
// DeleteAllLogs 删除全部日志 DELETE /admin/logs/all
func (h *LogHandler) DeleteAllLogs(c *gin.Context) {
if err := h.logService.DeleteAllLogs(c.Request.Context()); err != nil {
response.Error(c, errors.ErrDatabase)
return
}
response.Success(c, gin.H{"message": "all logs deleted"})
}
// DeleteOldLogs 删除旧日志 DELETE /admin/logs/old?days=30
func (h *LogHandler) DeleteOldLogs(c *gin.Context) {
daysStr := c.Query("days")
days, err := strconv.Atoi(daysStr)
if err != nil || days <= 0 {
response.Error(c, errors.ErrBadRequest)
return
}
deleted, err := h.logService.DeleteOldLogs(c.Request.Context(), days)
if err != nil {
response.Error(c, errors.ErrDatabase)
return
}
response.Success(c, gin.H{"deleted": deleted, "days": days})
}