This commit is contained in:
2026-04-28 18:40:07 +08:00
parent 69b25d2625
commit b5dbe9c351
9 changed files with 70 additions and 33 deletions
+45
View File
@@ -0,0 +1,45 @@
package routers
import (
"github.com/gin-gonic/gin"
)
// InitSysAdminRouter 初始化系统管理员路由
func ApiSysAdmin(r *gin.RouterGroup) {
// 获取系统管理员列表(仅系统管理员可访问)
r.POST("/sysadmins", func(ctx *gin.Context) {
isAuth, user, _ := AuthenticationAuthority(ctx)
if !isAuth {
ReturnJson(ctx, "userNoLogin", nil)
return
}
// 检查是否为系统管理员
if !SysAdminCheck(user.ID) {
ReturnJson(ctx, "permission_denied", nil)
return
}
var redata map[string]interface{} = make(map[string]interface{})
redata["sysAdmins"] = sysAdmins
ReturnJson(ctx, "apiOK", redata)
})
// TODO: 其他系统管理员接口可在此添加
// 例如:用户管理、用户组管理、登录日志查询等
}
// SysAdminCheck 检查当前用户是否为系统管理员
func SysAdminCheck(userID uint) bool {
for _, adminID := range sysAdmins {
if adminID == userID {
return true
}
}
return false
}
// RefreshSysAdmins 刷新系统管理员缓存(可从数据库重新加载)
func RefreshSysAdmins() {
updateSysAdminsCash()
}