package menu_service import ( "fmt" "gfast/app/model/admin/cms_category" "gfast/library/utils" "github.com/gogf/gf/container/garray" "github.com/gogf/gf/frame/g" "github.com/gogf/gf/util/gconv" ) type Menus struct { *cms_category.Entity Children []*Menus `json:"children"` } //获取导出菜单 func GetNav(activeId uint64) (nav string, err error) { var menuList []*cms_category.Entity menuList, err = cms_category.GetList() if err != nil { return } if menuList != nil { //剔除隐藏的菜单 menus := make([]*cms_category.Entity, 0, len(menuList)) for _, v := range menuList { if v.Status == 1 { menus = append(menus, v) } } topIds := GetTopPidList(menus) topIds.Iterator(func(k int, v int) bool { nav += SetTreeMenu(menus, v, activeId, "sf-menu sf-arrows") return true }) } return } //获取菜单树形结构 func SetTreeMenu(menuList []*cms_category.Entity, pid int, activeId uint64, class string) string { parentId := gconv.Int64(pid) html := fmt.Sprintf(`