sys_menu.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package model
  2. import (
  3. model2 "cold-delivery/common/model"
  4. )
  5. type SysMenu struct {
  6. model2.Model
  7. ParentId int `json:"parentId" gorm:"size:11;"` // 父id
  8. Sort int `json:"sort" gorm:"size:4;"` // 排序
  9. Visible string `json:"visible" gorm:"size:1;default:1"` // 1-显示 0-隐藏
  10. MenuPath string `json:"-" gorm:"size:128;" swaggerignore:"true"` // 菜单id路径 /0/1
  11. Redirect string `json:"redirect" gorm:"size:128;"` // 重定向
  12. Title string `json:"title" gorm:"size:128;"` // 菜单名称
  13. MenuType string `json:"menuType" gorm:"size:1;"` // 菜单类型 M-目录 C-菜单 F-按钮
  14. Icon string `json:"icon" gorm:"size:128;"` // 图标
  15. Component string `json:"component" gorm:"size:255;"` // 组件路径
  16. IsFrame string `json:"-" gorm:"size:128;default:0"` // 是否外链 1-是 0-否
  17. Path string `json:"-" gorm:"size:128;"` // 后端路由地址
  18. Name string `json:"name" gorm:"size:255;"` // 路由名称
  19. Permission string `json:"-" gorm:"size:255;"` // 权限标识
  20. IsDept int `json:"-" gorm:"size:255;default:1"` // 是否为企业菜单
  21. Children []SysMenu `json:"children,omitempty" gorm:"-"`
  22. model2.ControlBy
  23. model2.ModelTime
  24. }
  25. type SysMenuSlice []SysMenu
  26. func (x SysMenuSlice) Len() int { return len(x) }
  27. func (x SysMenuSlice) Less(i, j int) bool { return x[i].Sort < x[j].Sort }
  28. func (x SysMenuSlice) Swap(i, j int) { x[i], x[j] = x[j], x[i] }
  29. func (SysMenu) TableName() string {
  30. return "sys_menu"
  31. }
  32. func (e *SysMenu) Generate() model2.ActiveRecord {
  33. o := *e
  34. return &o
  35. }
  36. func (e *SysMenu) GetId() interface{} {
  37. return e.Id
  38. }