60 lines
2.1 KiB
Go
60 lines
2.1 KiB
Go
package dataobject
|
||
|
||
import (
|
||
"strings"
|
||
"time"
|
||
)
|
||
|
||
// SysMenu 菜单结构体
|
||
type SysMenu struct {
|
||
MenuId int `xorm:"pk autoincr" json:"menuId"` // 主键Id
|
||
ParentId int `json:"parentId"` // 父Id
|
||
MenuName string `xorm:"varchar(128)" json:"menuName"` // 菜单名称
|
||
OrderNum int `xorm:"int" json:"orderNum"` // 显示顺序
|
||
Path string `xorm:"varchar(200)" json:"path"` // 请求路径
|
||
MenuType string `xorm:"char(1)" json:"menuType"` // 菜单类型 (M目录 C菜单 F按钮)
|
||
Visible string `xorm:"char(1)" json:"visible"` // 菜单状态 (0显示 1隐藏)
|
||
IsFrame int `json:"isFrame"` // 是否为外链(0是 1否)
|
||
IsCache int `json:"isCache"` // 是否缓存(0缓存 1不缓存)
|
||
Perms string `xorm:"varchar(100)" json:"perms"` // 权限标识
|
||
Icon string `xorm:"varchar(100)" json:"icon"` // 图标
|
||
Remark string `xorm:"varchar(512)" json:"remark"` // 备注
|
||
CreateTime time.Time `xorm:"created" json:"createTime"` // 创建时间
|
||
CreateBy string `json:"createBy"` // 创建人
|
||
UpdateTime time.Time `xorm:"updated" json:"updateTime"` // 更新时间
|
||
UpdateBy string `json:"updateBy"` // 更新人
|
||
Status string `xorm:"char(1)" json:"status"` // 菜单状态(0正常 1停用)
|
||
Component string `xorm:"varchar(255)" json:"component"` // 组件路径
|
||
}
|
||
|
||
func (SysMenu) TableName() string {
|
||
return "sys_menu"
|
||
}
|
||
func (s SysMenu) GetPath() string {
|
||
return s.Path
|
||
}
|
||
func (s SysMenu) GetName() string {
|
||
return strings.Title(s.Path)
|
||
}
|
||
func (s SysMenu) GetMenuId() int {
|
||
return s.MenuId
|
||
}
|
||
func (s SysMenu) GetParentId() int {
|
||
return s.ParentId
|
||
}
|
||
func (s SysMenu) GetData() interface{} {
|
||
return s
|
||
}
|
||
func (s SysMenu) IsRoot() bool {
|
||
// 这里通过FatherId等于0 或者 FatherId等于自身Id表示顶层根节点
|
||
return s.ParentId == 0 || s.ParentId == s.MenuId
|
||
}
|
||
|
||
func (s SysMenu) GetId() int {
|
||
return s.MenuId
|
||
}
|
||
|
||
func (s SysMenu) GetLabel() string {
|
||
return s.MenuName
|
||
}
|