12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- package model
- import (
- "strings"
- "time"
- )
- // SysMenu 菜单结构体
- type SysMenu struct {
- Id int64 `xorm:"pk autoincr" json:"id"` //主键Id
- ParentId int64 `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 bool `xorm:"bool default(0)" json:"visible"` //菜单状态 (0显示 1隐藏)
- IsFrame int `json:"isFrame"` //是否为外链(0是 1否)
- IsCache int `json:"isCache"` //是否缓存(0缓存 1不缓存)
- Perms string `xorm:"text json" excel:"" 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 `json:"updateTime"` //更新时间
- UpdateBy string `json:"updateBy"` //更新人
- Status string `xorm:"char(1) default(0)" json:"status"` //菜单状态(0正常 1停用)
- Component string `xorm:"varchar(255)" json:"component"` //组件路径
- }
- func (r *SysMenu) Key() int64 {
- return r.Id
- }
- func (r *SysMenu) Model() interface{} {
- return r
- }
- 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() int64 {
- return s.Id
- }
- func (s SysMenu) GetParentId() int64 {
- 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.Id
- }
- func (s SysMenu) GetId() int64 {
- return s.Id
- }
- func (s SysMenu) GetLabel() string {
- return s.MenuName
- }
- func (s SysMenu) IsDifferent(menu SysMenu) bool {
- return s.ParentId != menu.ParentId ||
- s.MenuName != menu.MenuName ||
- s.OrderNum != menu.OrderNum ||
- s.Path != menu.Path ||
- s.MenuType != menu.MenuType ||
- s.Visible != menu.Visible ||
- s.IsFrame != menu.IsFrame ||
- s.IsCache != menu.IsCache ||
- s.Perms != menu.Perms ||
- s.Icon != menu.Icon ||
- s.Remark != menu.Remark ||
- s.Status != menu.Status ||
- s.Component != menu.Component
- }
|