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) // 环境管理 if userInfo.IsSuperAdmin() { menuEnv := model.NewMenu("环境管理", "fa-cubes", true) menuEnv.AddSubMenu("环境管理", "", "/profile/list") menus = append(menus, menuEnv) } // 业务组管理 if userInfo.IsSuperAdmin() { menuGroup := model.NewMenu("业务组管理", "fa-cubes", true) menuGroup.AddSubMenu("业务组管理", "", "/group/list") menus = append(menus, menuGroup) } // 用户管理 if userInfo.IsSuperAdmin() || userInfo.IsGroupAdmin() { menuUser := model.NewMenu("用户管理", "fa-cubes", true) menuUser.AddSubMenu("用户管理", "", "/user/list") menus = append(menus, menuUser) } // 应用管理 menuApp := model.NewMenu("应用管理", "fa-cubes", true) menuApp.AddSubMenu("应用管理", "", "/app/list") menus = append(menus, menuApp) // 配置管理 menuConfig := model.NewMenu("配置管理", "fa-cubes", true) menuConfig.AddSubMenu("配置管理", "", "/app/config/list") menus = append(menus, menuConfig) c.JSON(http.StatusOK, model.WrapperResponse{Code: 0, Data: menus}) }