mirror of
https://github.com/tiger1103/gfast.git
synced 2026-09-21 10:12:59 +00:00
73 lines
1.6 KiB
Go
73 lines
1.6 KiB
Go
package admin
|
||
|
||
import (
|
||
"gfast/app/service/admin/auth_service"
|
||
"gfast/app/service/admin/user_service"
|
||
"gfast/library/response"
|
||
"gfast/library/service"
|
||
"github.com/gogf/gf/frame/g"
|
||
"github.com/gogf/gf/net/ghttp"
|
||
"github.com/gogf/gf/util/gconv"
|
||
"strings"
|
||
)
|
||
|
||
type Index struct{}
|
||
|
||
//后台首页接口数据
|
||
func (c *Index) Index(r *ghttp.Request) {
|
||
//获取用户信息
|
||
userEntity := user_service.GetLoginAdminInfo(r)
|
||
userInfo := gconv.Map(userEntity)
|
||
//菜单列表
|
||
var menuList g.List
|
||
isSuperAdmin := false
|
||
if userInfo != nil {
|
||
userId := userEntity.Id
|
||
delete(userInfo, "user_password")
|
||
//获取无需验证权限的用户id
|
||
for _, v := range service.NotCheckAuthAdminIds {
|
||
if v == userId {
|
||
isSuperAdmin = true
|
||
break
|
||
}
|
||
}
|
||
|
||
//获取用户角色信息
|
||
allRoles, err := auth_service.GetRoleList()
|
||
if err == nil {
|
||
roles, err := user_service.GetAdminRole(userId, allRoles)
|
||
if err == nil {
|
||
name := make([]string, len(roles))
|
||
roleIds := make([]int, len(roles))
|
||
for k, v := range roles {
|
||
name[k] = v.Name
|
||
roleIds[k] = v.Id
|
||
}
|
||
userInfo["roles"] = strings.Join(name, ",")
|
||
//获取菜单信息
|
||
if isSuperAdmin {
|
||
//超管获取所有菜单
|
||
menuList, err = user_service.GetAllMenus()
|
||
} else {
|
||
menuList, err = user_service.GetAdminMenusByRoleIds(roleIds)
|
||
}
|
||
if err != nil {
|
||
g.Log().Error(err)
|
||
}
|
||
} else {
|
||
g.Log().Error(err)
|
||
userInfo["roles"] = ""
|
||
}
|
||
} else {
|
||
g.Log().Error(err)
|
||
userInfo["roles"] = ""
|
||
}
|
||
}
|
||
|
||
result := g.Map{
|
||
"userInfo": userInfo,
|
||
"menuList": menuList,
|
||
}
|
||
response.SusJson(true, r, "ok", result)
|
||
}
|