package model type SysMenu struct { Model SysMenuBasic Auth string `gorm:"column:auth;type:varchar(100);default:'';comment:权限/路由" json:"auth"` Sort int `gorm:"column:sort;type:tinyint(3);default:0;comment:排序,数值越大,优先排序" json:"sort"` Remark string `gorm:"column:remark;type:varchar(255);default:'';comment:菜单备注" json:"remark"` Status SysMenuStatus `gorm:"column:status;type:tinyint(1);default:1;comment:状态" json:"status"` ModelDeleted ModelAt } type SysMenuBasic struct { ParentID uint64 `gorm:"column:parent_id;type:int;default:0;comment:父级ID" json:"-"` Name string `gorm:"column:name;type:varchar(30);default:'';comment:菜单名" json:"name"` Kind SysMenuKind `gorm:"column:kind;type:tinyint(1);default:1;comment:类型(1:目录,2:菜单,3:事件)" json:"kind"` Link string `gorm:"column:link;type:varchar(80);default:'';comment:菜单链接" json:"-"` Component string `gorm:"column:component;type:varchar(80);default:'';comment:组件标识" json:"component"` Icon string `gorm:"column:icon;type:varchar(50);default:'';comment:菜单图标" json:"icon"` IsCache SysMenuCacheStatus `gorm:"column:is_cache;type:tinyint(1);default:0;comment:缓存(0:不缓存,1:缓存)" json:"is_cache"` IsHidden SysMenuHiddenStatus `gorm:"column:is_hidden;type:tinyint(1);default:0;comment:隐藏(0:不隐藏,1:隐藏)" json:"-"` } // SysMenuKind 菜单类型 type SysMenuKind int const ( // SysMenuKindForCatalogue 目录 SysMenuKindForCatalogue SysMenuKind = iota + 1 // SysMenuKindForMenu 菜单 SysMenuKindForMenu // SysMenuKindForEvent 事件 SysMenuKindForEvent ) // SysMenuStatus 菜单状态 type SysMenuStatus int const ( // SysMenuStatusForNormal 正常 SysMenuStatusForNormal SysMenuStatus = iota + 1 // SysMenuStatusForDisable 禁用 SysMenuStatusForDisable ) type SysMenuHiddenStatus int const ( SysMenuHiddenStatusForNot SysMenuHiddenStatus = iota SysMenuHiddenStatusForYes ) type SysMenuCacheStatus int const ( SysMenuCacheStatusForNot SysMenuCacheStatus = iota SysMenuCacheStatusForYes ) func (m *SysMenu) TableName() string { return "sys_menu" } func NewSysMenu() *SysMenu { return &SysMenu{} }