forked from opsre/go-ldap-admin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
menu.go
26 lines (24 loc) · 1.87 KB
/
menu.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package model
import (
"gorm.io/gorm"
)
type Menu struct {
gorm.Model
Name string `gorm:"type:varchar(50);comment:'菜单名称(英文名, 可用于国际化)'" json:"name"`
Title string `gorm:"type:varchar(50);comment:'菜单标题(无法国际化时使用)'" json:"title"`
Icon string `gorm:"type:varchar(50);comment:'菜单图标'" json:"icon"`
Path string `gorm:"type:varchar(100);comment:'菜单访问路径'" json:"path"`
Redirect string `gorm:"type:varchar(100);comment:'重定向路径'" json:"redirect"`
Component string `gorm:"type:varchar(100);comment:'前端组件路径'" json:"component"`
Sort uint `gorm:"type:int(3) unsigned;default:999;comment:'菜单顺序(1-999)'" json:"sort"`
Status uint `gorm:"type:tinyint(1);default:1;comment:'菜单状态(正常/禁用, 默认正常)'" json:"status"`
Hidden uint `gorm:"type:tinyint(1);default:2;comment:'菜单在侧边栏隐藏(1隐藏,2显示)'" json:"hidden"`
NoCache uint `gorm:"type:tinyint(1);default:2;comment:'菜单是否被 <keep-alive> 缓存(1不缓存,2缓存)'" json:"noCache"`
AlwaysShow uint `gorm:"type:tinyint(1);default:2;comment:'忽略之前定义的规则,一直显示根路由(1忽略,2不忽略)'" json:"alwaysShow"`
Breadcrumb uint `gorm:"type:tinyint(1);default:1;comment:'面包屑可见性(可见/隐藏, 默认可见)'" json:"breadcrumb"`
ActiveMenu string `gorm:"type:varchar(100);comment:'在其它路由时,想在侧边栏高亮的路由'" json:"activeMenu"`
ParentId uint `gorm:"default:0;comment:'父菜单编号(编号为0时表示根菜单)'" json:"parentId"`
Creator string `gorm:"type:varchar(20);comment:'创建人'" json:"creator"`
Children []*Menu `gorm:"-" json:"children"` // 子菜单集合
Roles []*Role `gorm:"many2many:role_menus;" json:"roles"` // 角色菜单多对多关系
}