diff --git a/model/vo/menu/menu.go b/model/vo/menu/menu.go index a3c80c77..e6f0b453 100644 --- a/model/vo/menu/menu.go +++ b/model/vo/menu/menu.go @@ -13,9 +13,9 @@ type Item struct { // ItemMeta // @description: 菜单元数据 type ItemMeta struct { - Title string `json:"title"` // 标题 - Icon string `json:"icon"` // 图标 - Rank int `json:"rank"` // 排序 - Roles []string `json:"roles"` // 当前菜单所属的角色代码 - Auths []string `json:"auths"` // 当前菜单包含的按钮,如果传入了用户Id,返回的将会是权限内所有的按钮 + Title string `json:"title"` // 标题 + Icon string `json:"icon"` // 图标 + Rank int `json:"rank,omitempty"` // 排序 + Roles []string `json:"roles"` // 当前菜单所属的角色代码 + Auths []string `json:"auths"` // 当前菜单包含的按钮,如果传入了用户Id,返回的将会是权限内所有的按钮 } diff --git a/service/menu/utils.go b/service/menu/utils.go index c5e82a9e..f07c4443 100644 --- a/service/menu/utils.go +++ b/service/menu/utils.go @@ -30,7 +30,10 @@ func toTree(records []menuRecordItem, pid string) (tree []menu.Item) { var meta menu.ItemMeta meta.Title = record.Title meta.Icon = record.Icon - meta.Rank = record.Sort + // rank只有顶级菜单才返回rank值 + if record.ParentId == nil || *record.ParentId == "" { + meta.Rank = record.Sort + } if record.RoleCode != "" { meta.Roles = strings.Split(record.RoleCode, ",") }