You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
2.8 KiB

package model
/*
权限管理
*/
type Menu struct {
Id int64 `gorm:"primary_key;column:id" json:"id"` // 菜单ID
Pid int64 `gorm:"column:pid" json:"pid"` // 菜单父级ID
Title string `gorm:"column:title" json:"title"` // 菜单名称
Icon string `gorm:"column:icon" json:"icon"` // 菜单图标
Path string `gorm:"column:path" json:"path"` // 菜单路径
Component string `gorm:"column:component" json:"component"` // 菜单组件
Target int64 `gorm:"column:target" json:"target"` // 打开方式 0-组件 1-内链 2-外链
Permission string `gorm:"column:permission" json:"permission"` // 权限标识
Type int `gorm:"column:type" json:"type"` // 类型 0-菜单 1-节点
Status int `gorm:"column:status" json:"status"` // 状态 1-正常 2-禁用
Hide int `gorm:"column:hide" json:"hide"` // 类型 0-显示 1-隐藏
Note string `gorm:"column:note" json:"note"` // 备注
Sort int `gorm:"column:sort" json:"sort"` // 排序
Children []Menu `gorm:"-" json:"children,omitempty"` // 子菜单
Checked int `gorm:"-" json:"checked,omitempty"` // 是否选中-sys_role_menu表作用于权限分配时
Meta MenuMeta `gorm:"-" json:"meta,omitempty"` // 气泡
}
func (Menu) TableName() string {
return "menu"
}
type MenuMeta struct {
Badge int64 `json:"badge"` // 消息数量
}
type MenuShow struct {
Menu
Meta MenuMeta `gorm:"-" json:"meta"` // 气泡
}
/*
角色
*/
type Role struct {
Id int64 `gorm:"primary_key;column:id" json:"id"` // 角色ID
Name string `gorm:"column:name" json:"name" binding:"required"` // 角色名称
Memo string `gorm:"column:memo" json:"memo"` // 角色说明
Status int `gorm:"column:status" json:"status" binding:"required"` // 状态 1-正常 2-禁用
Sort int `gorm:"column:sort" json:"sort" binding:"required"` // 排序
CreateTime int64 `gorm:"column:create_time" json:"createTime"` // 创建时间
}
func (Role) TableName() string {
return "role"
}
type RoleMenu struct {
Rid int64 `gorm:"primary_key;column:rid" json:"rid"` // ID
RoleId int64 `gorm:"column:role_id" json:"role_id" binding:"required"` // 角色ID
MenuId int64 `gorm:"column:menu_id" json:"menu_id" binding:"required"` // 菜单ID
}
func (RoleMenu) TableName() string {
return "role_menu"
}
type UserRole struct {
Uid int64 `gorm:"uid" json:"uid" binding:"required"` // 用户ID
RoleId int64 `gorm:"role_id" json:"roleId" binding:"required"` // 权限ID
}
func (UserRole) TableName() string {
return "user_role"
}