123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package model
- import (
- "dy-admin/internal/pcmserver/common"
- "gorm.io/gorm"
- )
- type Menu struct {
- MenuID int `json:"menuId" gorm:"primaryKey;autoIncrement;comment:主键编码"`
- MenuName string `json:"menuName" gorm:"size:128;comment:路由名称" `
- Title string `json:"title" gorm:"size:128;comment:展示名称"`
- Icon string `json:"icon" gorm:"comment:菜单图标"`
- Path string `json:"path" gorm:"size:128;comment:路由地址"`
- Component string `json:"component" gorm:"size:255;comment:组件地址"`
- Paths string `json:"paths" gorm:"size:128;comment:菜单路径"`
- MenuType string `json:"menuType" gorm:"size:1;comment:菜单类型"`
- ParentId int `json:"parentId" gorm:"size:11;"`
- NoCache bool `json:"noCache" gorm:"size:8;comment:不缓存"`
- Sort int `json:"sort" gorm:"size:11;comment:排序"`
- Visible string `json:"visible" gorm:"size:1;comment:是否影藏"`
- Children []Menu `json:"children,omitempty" gorm:"-"`
- SysApi []Api `json:"sysApi" gorm:"many2many:sys_menu_apis;foreignKey:MenuID;joinForeignKey:MenuID;References:ID;joinReferences:ApiID"`
- Apis []int `json:"apis" gorm:"-"`
- common.ControlBy
- common.ModelTime
- }
- type SysMenuSlice []Menu
- func (x SysMenuSlice) Len() int { return len(x) }
- func (x SysMenuSlice) Less(i, j int) bool { return x[i].Sort < x[j].Sort }
- func (x SysMenuSlice) Swap(i, j int) { x[i], x[j] = x[j], x[i] }
- func (Menu) TableName() string {
- return "sys_menus"
- }
- func (m *Menu) AfterFind(_ *gorm.DB) error {
- apis := make([]int, 0, len(m.SysApi))
- for _, api := range m.SysApi {
- apis = append(apis, api.ID)
- }
- m.Apis = apis
- return nil
- }
|