Files
2026-04-23 18:58:13 +08:00

33 lines
1.5 KiB
Go

package entity
import (
"time"
"gorm.io/gorm"
)
// PublicOverviewPerms 动态导航中「概览页」类公开权限标识(PRD:所有用户默认可见,需在菜单中配置同名 perms)
const PublicOverviewPerms = "public:overview"
// Menu 菜单 iam_menu(全局,不按租户分表;根节点 parent_id 为空字符串)
type Menu struct {
ID string `json:"id" gorm:"primaryKey;type:varchar(36);not null"`
ParentID string `json:"parent_id" gorm:"size:36;default:'';index:idx_menu_parent"`
MenuName string `json:"menu_name" gorm:"size:128;not null"`
MenuType int16 `json:"menu_type" gorm:"not null"` // 1目录 2菜单 3按钮
Perms string `json:"perms" gorm:"size:128;uniqueIndex"`
Path string `json:"path" gorm:"size:255"`
Component string `json:"component" gorm:"size:255"`
Icon string `json:"icon" gorm:"size:64"`
SortOrder int `json:"sort_order" gorm:"default:0"`
IsVisible bool `json:"is_visible" gorm:"default:true"`
IsBuiltin bool `json:"is_builtin" gorm:"default:false"`
ExternalLink string `json:"external_link" gorm:"size:512"`
Status int16 `json:"status" gorm:"default:1"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt gorm.DeletedAt `json:"-" gorm:"index"`
}
func (Menu) TableName() string { return "iam_menu" }