index.go 1.3 KB

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