index.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package admin
  2. import (
  3. "gfast/app/service/admin/user_service"
  4. "gfast/library/response"
  5. "github.com/gogf/gf/frame/g"
  6. "github.com/gogf/gf/net/ghttp"
  7. "github.com/gogf/gf/util/gconv"
  8. "strings"
  9. )
  10. type Index struct{}
  11. //后台首页接口数据
  12. func (c *Index) Index(r *ghttp.Request) {
  13. //获取用户信息
  14. userInfo := user_service.GetCacheAdminInfo(r)
  15. //菜单列表
  16. var menuList g.List
  17. if userInfo != nil {
  18. userId := gconv.Int(userInfo["id"])
  19. delete(userInfo, "user_password")
  20. //获取用户角色信息
  21. roles, err := user_service.GetAdminRole(userId)
  22. if err == nil {
  23. name := make([]string, len(roles))
  24. roleIds := make([]int, len(roles))
  25. for k, v := range roles {
  26. name[k] = v.Name
  27. roleIds[k] = v.Id
  28. }
  29. userInfo["roles"] = strings.Join(name, ",")
  30. //获取菜单信息
  31. menuList, err = user_service.GetAdminMenusByRoleIds(roleIds)
  32. if err != nil {
  33. g.Log().Error(err)
  34. }
  35. } else {
  36. g.Log().Error(err)
  37. userInfo["roles"] = ""
  38. }
  39. }
  40. result := g.Map{
  41. "userInfo": userInfo,
  42. "menuList": menuList,
  43. }
  44. response.SusJson(true, r, "ok", result)
  45. }