Files
2022-03-05 15:31:22 +08:00

36 lines
876 B
Go

package user
import (
"SciencesServer/app/api/admin/controller/menu"
"SciencesServer/app/api/admin/model"
model2 "SciencesServer/app/common/model"
"SciencesServer/app/session"
)
type Menu struct{ *session.Admin }
type MenuHandle func(session *session.Admin) *Menu
// Index 菜单列表
func (c *Menu) Index() ([]*menu.Tree, error) {
mSysMenu := model.NewSysMenu()
kinds := []model2.SysMenuKind{
model2.SysMenuKindForCatalogue,
model2.SysMenuKindForMenu,
}
if c.IsAdmin {
return menu.MenuForSystem(mSysMenu, model2.NewWhereIn("kind", kinds))
}
if c.IsSystemAdmin {
return menu.MenuForTenant(mSysMenu, c.TenantID, model2.NewWhereIn("m.kind", kinds))
}
return menu.MenuForUser(mSysMenu, c.TenantID, c.UID, model2.NewWhereIn("m.kind", kinds))
}
func NewMenu() MenuHandle {
return func(session *session.Admin) *Menu {
return &Menu{Admin: session}
}
}