menuAction.go 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. package menu
  2. import (
  3. "github.com/gogf/gf/frame/g"
  4. "github.com/gogf/gf/net/ghttp"
  5. "github.com/gogf/gf/os/glog"
  6. "github.com/gogf/gf/os/gtime"
  7. "github.com/gogf/gf/util/gconv"
  8. "gmanager/app/service/menu"
  9. "gmanager/library/base"
  10. )
  11. type Action struct {
  12. base.BaseRouter
  13. }
  14. // path: /index
  15. func (action *Action) Index(r *ghttp.Request) {
  16. tplFile := "pages/system/menu_index.html"
  17. err := r.Response.WriteTpl(tplFile, g.Map{
  18. "now": gtime.Datetime(),
  19. })
  20. if err != nil {
  21. glog.Error(err)
  22. }
  23. }
  24. // path: /get/{id}
  25. func (action *Action) Get(r *ghttp.Request) {
  26. id := r.GetInt64("id")
  27. model, err := menu.GetById(id)
  28. if err != nil {
  29. base.Fail(r, err.Error())
  30. }
  31. base.Succ(r, model)
  32. }
  33. // path: /delete/{id}
  34. func (action *Action) Delete(r *ghttp.Request) {
  35. id := r.GetInt64("id")
  36. form := base.NewForm(g.Map{"parentId": id})
  37. childModel, err := menu.GetOne(&form)
  38. if err != nil {
  39. base.Fail(r, err.Error())
  40. } else if childModel != nil && childModel.Id > 0 {
  41. base.Fail(r, "请先删除子菜单")
  42. }
  43. _, err1 := menu.Delete(id, base.GetUser(r).Id)
  44. if err1 != nil {
  45. base.Fail(r, err1.Error())
  46. }
  47. base.Succ(r, "")
  48. }
  49. // path: /save
  50. func (action *Action) Save(r *ghttp.Request) {
  51. request := new(menu.Request)
  52. err := gconv.Struct(r.GetMap(), request)
  53. if err != nil {
  54. glog.Error("save struct error", err)
  55. base.Error(r, "save error")
  56. }
  57. request.UserId = base.GetUser(r).Id
  58. _, err = menu.Save(request)
  59. if err != nil {
  60. base.Fail(r, "保存失败")
  61. }
  62. base.Succ(r, "")
  63. }
  64. // path: /tree
  65. func (action *Action) Tree(r *ghttp.Request) {
  66. action.List(r)
  67. }
  68. // path: /list
  69. func (action *Action) List(r *ghttp.Request) {
  70. form := base.NewForm(r.GetMap())
  71. list, err := menu.List(&form)
  72. if err != nil {
  73. glog.Error("page error", err)
  74. base.Error(r, err.Error())
  75. }
  76. base.Succ(r, list)
  77. }
  78. // path: /page
  79. func (action *Action) Page(r *ghttp.Request) {
  80. form := base.NewForm(r.GetMap())
  81. page, err := menu.Page(&form)
  82. if err != nil {
  83. glog.Error("page error", err)
  84. base.Error(r, err.Error())
  85. }
  86. base.Succ(r,
  87. g.Map{
  88. "page": form.Page,
  89. "rows": page,
  90. "total": form.TotalPage,
  91. "records": form.TotalSize,
  92. })
  93. }
  94. // path: /jqgrid
  95. func (action *Action) Jqgrid(r *ghttp.Request) {
  96. form := base.NewForm(r.GetMap())
  97. page, err := menu.Page(&form)
  98. if err != nil {
  99. glog.Error("jqgrid error", err)
  100. base.Error(r, err.Error())
  101. }
  102. r.Response.WriteJson(g.Map{
  103. "page": form.Page,
  104. "rows": page,
  105. "total": form.TotalPage,
  106. "records": form.TotalSize,
  107. })
  108. }