diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f77b2fe..17e9906b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # 更新日志 +## v4.2.7 + +- Bug 修复:修复超级管理员无法修改密码的 Bug +- Bug 修复:微信登录配置更新后,没有同步更新到系统配置 + ## v4.2.6 - 功能重构:优化系统配置管理功能,把 OSS,支付,短信,邮件等配置全部迁移到管理后台,无需通过修改配置文档的方式修改 🎉🎉🎉 diff --git a/api/handler/admin/admin_handler.go b/api/handler/admin/admin_handler.go index 9875b86e..77950911 100644 --- a/api/handler/admin/admin_handler.go +++ b/api/handler/admin/admin_handler.go @@ -31,7 +31,7 @@ import ( var logger = logger2.GetLogger() -const SuperManagerID = 1 +const SuperUsername = "admin" type ManagerHandler struct { handler.BaseHandler @@ -94,7 +94,7 @@ func (h *ManagerHandler) Login(c *gin.Context) { } // 超级管理员默认是ID:1 - if manager.Id != SuperManagerID && manager.Status == false { + if manager.Username != SuperUsername && !manager.Status { resp.ERROR(c, "该用户已被禁止登录,请联系超级管理员") return } @@ -125,7 +125,7 @@ func (h *ManagerHandler) Login(c *gin.Context) { IsSuperAdmin bool `json:"is_super_admin"` Token string `json:"token"` }{ - IsSuperAdmin: manager.Id == 1, + IsSuperAdmin: manager.Username == SuperUsername, Token: tokenString, } @@ -227,12 +227,19 @@ func (h *ManagerHandler) Remove(c *gin.Context) { return } - if id == SuperManagerID { + var user model.AdminUser + res := h.DB.Where("id", id).First(&user) + if res.Error != nil { + resp.ERROR(c, res.Error.Error()) + return + } + + if user.Username == SuperUsername { resp.ERROR(c, "超级管理员不能删除") return } - res := h.DB.Where("id", id).Delete(&model.AdminUser{}) + res = h.DB.Where("id", id).Delete(&model.AdminUser{}) if res.Error != nil { resp.ERROR(c, res.Error.Error()) return @@ -264,7 +271,13 @@ func (h *ManagerHandler) Enable(c *gin.Context) { // ResetPass 重置密码 func (h *ManagerHandler) ResetPass(c *gin.Context) { id := h.GetAdminId(c) - if id != SuperManagerID { + var user model.AdminUser + res := h.DB.Where("id", id).First(&user) + if res.Error != nil { + resp.ERROR(c, res.Error.Error()) + return + } + if user.Username != SuperUsername { resp.ERROR(c, "只有超级管理员能够进行该操作") return } @@ -278,13 +291,6 @@ func (h *ManagerHandler) ResetPass(c *gin.Context) { return } - var user model.AdminUser - res := h.DB.Where("id", data.Id).First(&user) - if res.Error != nil { - resp.ERROR(c, res.Error.Error()) - return - } - password := utils.GenPassword(data.Password, user.Salt) user.Password = password res = h.DB.Updates(&user) diff --git a/api/handler/admin/config_handler.go b/api/handler/admin/config_handler.go index c9210149..1b1a4933 100644 --- a/api/handler/admin/config_handler.go +++ b/api/handler/admin/config_handler.go @@ -368,10 +368,7 @@ func (h *ConfigHandler) UpdateWxLogin(c *gin.Context) { return } - if data.Enabled { - h.wxLoginService.UpdateConfig(data) - } - + h.wxLoginService.UpdateConfig(data) h.sysConfig.WxLogin = data resp.SUCCESS(c, data) }