package entity import ( "time" "gorm.io/gorm" ) // PublicOverviewPerms 动态导航中「概览页」类公开权限标识(PRD:所有用户默认可见,需在菜单中配置同名 perms) const PublicOverviewPerms = "public:overview" // Menu 菜单 iam_menu(全局,不按租户分表;根节点 parent_id 为空字符串) type Menu struct { ID string `json:"id" gorm:"primaryKey;type:varchar(36);not null"` ParentID string `json:"parent_id" gorm:"size:36;default:'';index:idx_menu_parent"` MenuName string `json:"menu_name" gorm:"size:128;not null"` MenuType int16 `json:"menu_type" gorm:"not null"` // 1目录 2菜单 3按钮 Perms string `json:"perms" gorm:"size:128;uniqueIndex"` Path string `json:"path" gorm:"size:255"` Component string `json:"component" gorm:"size:255"` Icon string `json:"icon" gorm:"size:64"` SortOrder int `json:"sort_order" gorm:"default:0"` IsVisible bool `json:"is_visible" gorm:"default:true"` IsBuiltin bool `json:"is_builtin" gorm:"default:false"` ExternalLink string `json:"external_link" gorm:"size:512"` Status int16 `json:"status" gorm:"default:1"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt gorm.DeletedAt `json:"-" gorm:"index"` } func (Menu) TableName() string { return "iam_menu" }