menu.go 2.0 KB

123456789101112131415161718192021222324
  1. package model
  2. import "gorm.io/gorm"
  3. type Menu struct {
  4. gorm.Model
  5. ParentID uint `json:"parentId,omitempty" gorm:"column:parent_id;index;comment:父级菜单的id,使用整数表示"` // 父级菜单的id,使用整数表示
  6. Path string `json:"path" gorm:"column:path;type:varchar(255);comment:地址"` // 地址
  7. Title string `json:"title" gorm:"column:title;type:varchar(100);comment:标题,使用字符串表示"` // 标题,使用字符串表示
  8. Name string `json:"name,omitempty" gorm:"column:name;type:varchar(100);comment:同路由中的name,用于保活"` // 同路由中的name,用于保活
  9. Component string `json:"component,omitempty" gorm:"column:component;type:varchar(255);comment:绑定的组件"` // 绑定的组件,默认类型:Iframe、RouteView、ComponentError
  10. Locale string `json:"locale,omitempty" gorm:"column:locale;type:varchar(100);comment:本地化标识"` // 本地化标识
  11. Icon string `json:"icon,omitempty" gorm:"column:icon;type:varchar(100);comment:图标,使用字符串表示"` // 图标,使用字符串表示
  12. Redirect string `json:"redirect,omitempty" gorm:"column:redirect;type:varchar(255);comment:重定向地址"` // 重定向地址
  13. URL string `json:"url,omitempty" gorm:"column:url;type:varchar(255);comment:iframe模式下的跳转url"` // iframe模式下的跳转url,不能与path重复
  14. KeepAlive bool `json:"keepAlive,omitempty" gorm:"column:keep_alive;default:false;comment:是否保活"` // 是否保活
  15. HideInMenu bool `json:"hideInMenu,omitempty" gorm:"column:hide_in_menu;default:false;comment:是否保活"` // 是否保活
  16. Target string `json:"target,omitempty" gorm:"column:target;type:varchar(20);comment:全连接跳转模式"` // 全连接跳转模式:'_blank'、'_self'、'_parent'
  17. Weight int `json:"weight" gorm:"column:weight;type:int;default:0;comment:排序权重"`
  18. }
  19. func (m *Menu) TableName() string {
  20. return "menu"
  21. }