41 lines
800 B
Go
41 lines
800 B
Go
package user
|
|
|
|
import (
|
|
"ArmedPolice/app/controller/menu"
|
|
"ArmedPolice/app/model"
|
|
"ArmedPolice/app/service"
|
|
"ArmedPolice/utils"
|
|
"fmt"
|
|
)
|
|
|
|
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
|
|
}
|
|
fmt.Println(utils.AnyToJSON(out))
|
|
RETURN:
|
|
return menu.TreeIdentity(mSysMenu.SysMenu, out, 0), nil
|
|
}
|
|
|
|
func NewMenu() MenuHandle {
|
|
return func(session *service.Session) *Menu {
|
|
return &Menu{session}
|
|
}
|
|
}
|