From e7db720986caddbe6b2a660e2454f7488d2ef94a Mon Sep 17 00:00:00 2001 From: RockYang Date: Mon, 11 Aug 2025 13:53:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=89=B9=E9=87=8F=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=A8=A1=E5=9E=8B=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/handler/admin/chat_model_handler.go | 32 ++++++++++++ web/src/views/admin/ChatModel.vue | 66 +++++++++++++++++++++++-- 2 files changed, 95 insertions(+), 3 deletions(-) diff --git a/api/handler/admin/chat_model_handler.go b/api/handler/admin/chat_model_handler.go index 64a5ed97..b0eba079 100644 --- a/api/handler/admin/chat_model_handler.go +++ b/api/handler/admin/chat_model_handler.go @@ -8,6 +8,7 @@ package admin // * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ import ( + "fmt" "geekai/core" "geekai/core/types" "geekai/handler" @@ -36,6 +37,7 @@ func (h *ChatModelHandler) RegisterRoutes() { group.POST("set", h.Set) group.POST("sort", h.Sort) group.GET("remove", h.Remove) + group.POST("batch-remove", h.BatchRemove) } func (h *ChatModelHandler) Save(c *gin.Context) { @@ -211,3 +213,33 @@ func (h *ChatModelHandler) Remove(c *gin.Context) { } resp.SUCCESS(c) } + +// BatchRemove 批量删除模型 +func (h *ChatModelHandler) BatchRemove(c *gin.Context) { + var data struct { + Ids []uint `json:"ids"` + } + + if err := c.ShouldBindJSON(&data); err != nil { + resp.ERROR(c, types.InvalidArgs) + return + } + + if len(data.Ids) == 0 { + resp.ERROR(c, "请选择要删除的模型") + return + } + + // 执行批量删除 + err := h.DB.Where("id IN ?", data.Ids).Delete(&model.ChatModel{}).Error + if err != nil { + logger.Error("批量删除模型失败:", err) + resp.ERROR(c, "批量删除失败:"+err.Error()) + return + } + + resp.SUCCESS(c, gin.H{ + "message": fmt.Sprintf("成功删除 %d 个模型", len(data.Ids)), + "deleted_count": len(data.Ids), + }) +} diff --git a/web/src/views/admin/ChatModel.vue b/web/src/views/admin/ChatModel.vue index 3af801ba..691a16be 100644 --- a/web/src/views/admin/ChatModel.vue +++ b/web/src/views/admin/ChatModel.vue @@ -11,10 +11,24 @@ 搜索 新增 + + 批量删除 ({{ selectedItems.length }}) + - +