package handler import ( "kenaito-conf/server/internal/middleware" "kenaito-conf/server/internal/model" "net/http" "github.com/gin-gonic/gin" ) type IndexHandler struct{} func NewIndexHandler() *IndexHandler { return &IndexHandler{} } func (h *IndexHandler) GetMenus(c *gin.Context) { userInfo := middleware.GetUserInfo(c) if userInfo == nil { c.JSON(http.StatusUnauthorized, model.WrapperResponse{Code: 401, Msg: "未登录"}) return } menus := make([]model.Menu, 0) // 全局管理菜单 menu1 := model.NewMenu("全局管理", "fa-cubes", false) if userInfo.IsSuperAdmin() { menu1.AddSubMenu("环境管理", "", "/profile/list") } menu1.AddSubMenu("业务组管理", "", "/group/list") if userInfo.IsSuperAdmin() || userInfo.IsGroupAdmin() { menu1.AddSubMenu("用户管理", "", "/user/list") } menu1.AddSubMenu("应用管理", "", "/app/list") menus = append(menus, menu1) // 配置管理菜单 menu2 := model.NewMenu("配置管理", "fa-cubes", true) menu2.AddSubMenu("配置列表", "", "/config/list") menu2.AddSubMenu("新建配置", "", "/config/add") menus = append(menus, menu2) c.JSON(http.StatusOK, model.WrapperResponse{Code: 0, Data: menus}) }