From b1b385c4558c3e63a9a38b2c4845f776ba33be3c Mon Sep 17 00:00:00 2001 From: RockYang Date: Fri, 29 Dec 2023 17:51:56 +0800 Subject: [PATCH] feat: add switch for enable|disable chat role --- api/handler/admin/chat_role_handler.go | 20 ++++++++++++++++++++ api/main.go | 1 + web/src/views/admin/RoleList.vue | 23 ++++++----------------- 3 files changed, 27 insertions(+), 17 deletions(-) diff --git a/api/handler/admin/chat_role_handler.go b/api/handler/admin/chat_role_handler.go index 163f04a2..f7c5ba1a 100644 --- a/api/handler/admin/chat_role_handler.go +++ b/api/handler/admin/chat_role_handler.go @@ -98,6 +98,26 @@ func (h *ChatRoleHandler) Sort(c *gin.Context) { resp.SUCCESS(c) } +func (h *ChatRoleHandler) Set(c *gin.Context) { + var data struct { + Id uint `json:"id"` + Filed string `json:"filed"` + Value interface{} `json:"value"` + } + + if err := c.ShouldBindJSON(&data); err != nil { + resp.ERROR(c, types.InvalidArgs) + return + } + + res := h.db.Model(&model.ChatRole{}).Where("id = ?", data.Id).Update(data.Filed, data.Value) + if res.Error != nil { + resp.ERROR(c, "更新数据库失败!") + return + } + resp.SUCCESS(c) +} + func (h *ChatRoleHandler) Remove(c *gin.Context) { id := h.GetInt(c, "id", 0) if id <= 0 { diff --git a/api/main.go b/api/main.go index 1d944390..94d9040a 100644 --- a/api/main.go +++ b/api/main.go @@ -276,6 +276,7 @@ func main() { group.GET("list", h.List) group.POST("save", h.Save) group.POST("sort", h.Sort) + group.POST("set", h.Set) group.GET("remove", h.Remove) }), fx.Invoke(func(s *core.AppServer, h *admin.RewardHandler) { diff --git a/web/src/views/admin/RoleList.vue b/web/src/views/admin/RoleList.vue index b7dc800f..50992985 100644 --- a/web/src/views/admin/RoleList.vue +++ b/web/src/views/admin/RoleList.vue @@ -23,8 +23,7 @@ @@ -201,21 +200,11 @@ onMounted(() => { }) }) -const editSort = function (event, row) { - event.stopPropagation() - editRow.value.id = row.id - editRow.value.sort = row.sort -} -const updateSort = function (row) { - if (row.sort === editRow.value.sort) { - editRow.value.id = 0 - return - } - - httpPost('/api/admin/role/sort', {"id": row.id, "sort": row.sort}).then(() => { - editRow.value.id = 0 - }).catch(() => { - ElMessage.error("更新失败!") +const roleSet = (filed, row) => { + httpPost('/api/admin/role/set', {id: row.id, filed: filed, value: row[filed]}).then(() => { + ElMessage.success("操作成功!") + }).catch(e => { + ElMessage.error("操作失败:" + e.message) }) }