package user import ( "ArmedPolice/app/controller/menu" "ArmedPolice/app/model" "ArmedPolice/app/service" ) type Menu struct{ *service.Session } type MenuHandle func(session *service.Session) *Menu // Menu 用户菜单信息 func (c *Menu) Menu() ([]*menu.InstanceIdentityInfo, error) { mSysMenu := model.NewSysMenu() out := make([]*model.SysMenuScene, 0) var err error if c.IsAdmin { if out, err = mSysMenu.SystemMenu(); err != nil { return nil, err } goto RETURN } if out, err = mSysMenu.UserMenu(c.UID); err != nil { return nil, err } RETURN: return menu.TreeIdentity(mSysMenu.SysMenu, out, 0), nil } func NewMenu() MenuHandle { return func(session *service.Session) *Menu { return &Menu{session} } }