功能:完善渠道模型批量操作

支持模型管理批量删除,并在拉取模型时提供全选、取消全选和选择数量提示。

同时保持首屏品牌中立,补充后端原子删除与管理员界面回归测试。
This commit is contained in:
Ray
2026-09-07 10:18:06 +08:00
parent df94c3bdf1
commit 2ce443731d
9 changed files with 361 additions and 39 deletions

View File

@@ -269,6 +269,27 @@ func RegisterFinanceRoutes(r *gin.RouterGroup, svc *service.Service) {
r.POST("/admin/channels/:id/models", func(c *gin.Context) {
saveChannelModel(c, svc, "")
})
r.POST("/admin/channels/:id/models/batch-delete", func(c *gin.Context) {
user, err := currentUser(c, svc)
if err != nil {
failService(c, err)
return
}
c.Request.Body = http.MaxBytesReader(c.Writer, c.Request.Body, 32<<10)
var req struct {
ModelIDs []string `json:"modelIds"`
}
if err := c.ShouldBindJSON(&req); err != nil {
fail(c, http.StatusBadRequest, err)
return
}
deleted, err := svc.DeleteAdminChannelModels(user, c.Param("id"), req.ModelIDs)
if err != nil {
failService(c, err)
return
}
ok(c, gin.H{"deleted": deleted})
})
r.PATCH("/admin/channels/:id/models/:modelId", func(c *gin.Context) {
saveChannelModel(c, svc, c.Param("modelId"))
})