menu.go 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. package system
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "github.com/gin-gonic/gin/binding"
  5. "device-manage/app/admin/models"
  6. "device-manage/tools"
  7. "device-manage/tools/app"
  8. )
  9. // @Summary Menu列表数据
  10. // @Description 获取JSON
  11. // @Tags 菜单
  12. // @Param menuName query string false "menuName"
  13. // @Success 200 {string} string "{"code": 200, "data": [...]}"
  14. // @Success 200 {string} string "{"code": -1, "message": "抱歉未找到相关信息"}"
  15. // @Router /api/v1/menulist [get]
  16. // @Security Bearer
  17. func GetMenuList(c *gin.Context) {
  18. var Menu models.Menu
  19. Menu.MenuName = c.Request.FormValue("menuName")
  20. Menu.Visible = c.Request.FormValue("visible")
  21. Menu.Title = c.Request.FormValue("title")
  22. Menu.DataScope = tools.GetUserIdStr(c)
  23. result, err := Menu.SetMenu()
  24. tools.HasError(err, "抱歉未找到相关信息", -1)
  25. app.OK(c, result, "")
  26. }
  27. // @Summary Menu列表数据
  28. // @Description 获取JSON
  29. // @Tags 菜单
  30. // @Param menuName query string false "menuName"
  31. // @Success 200 {string} string "{"code": 200, "data": [...]}"
  32. // @Success 200 {string} string "{"code": -1, "message": "抱歉未找到相关信息"}"
  33. // @Router /api/v1/menu [get]
  34. // @Security Bearer
  35. func GetMenu(c *gin.Context) {
  36. var data models.Menu
  37. id, err := tools.StringToInt(c.Param("id"))
  38. data.MenuId = id
  39. result, err := data.GetByMenuId()
  40. tools.HasError(err, "抱歉未找到相关信息", -1)
  41. app.OK(c, result, "")
  42. }
  43. func GetMenuTreeRoleselect(c *gin.Context) {
  44. var Menu models.Menu
  45. var SysRole models.SysRole
  46. id, err := tools.StringToInt(c.Param("roleId"))
  47. SysRole.RoleId = id
  48. result, err := Menu.SetMenuLable()
  49. tools.HasError(err, "抱歉未找到相关信息", -1)
  50. menuIds := make([]int, 0)
  51. if id != 0 {
  52. menuIds, err = SysRole.GetRoleMeunId()
  53. tools.HasError(err, "抱歉未找到相关信息", -1)
  54. }
  55. app.Custum(c, gin.H{
  56. "code": 200,
  57. "menus": result,
  58. "checkedKeys": menuIds,
  59. })
  60. }
  61. // @Summary 获取菜单树
  62. // @Description 获取JSON
  63. // @Tags 菜单
  64. // @Accept application/x-www-form-urlencoded
  65. // @Product application/x-www-form-urlencoded
  66. // @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
  67. // @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
  68. // @Router /api/v1/menuTreeselect [get]
  69. // @Security Bearer
  70. func GetMenuTreeelect(c *gin.Context) {
  71. var data models.Menu
  72. result, err := data.SetMenuLable()
  73. tools.HasError(err, "抱歉未找到相关信息", -1)
  74. app.OK(c, result, "")
  75. }
  76. // @Summary 创建菜单
  77. // @Description 获取JSON
  78. // @Tags 菜单
  79. // @Accept application/x-www-form-urlencoded
  80. // @Product application/x-www-form-urlencoded
  81. // @Param menuName formData string true "menuName"
  82. // @Param Path formData string false "Path"
  83. // @Param Action formData string true "Action"
  84. // @Param Permission formData string true "Permission"
  85. // @Param ParentId formData string true "ParentId"
  86. // @Param IsDel formData string true "IsDel"
  87. // @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
  88. // @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
  89. // @Router /api/v1/menu [post]
  90. // @Security Bearer
  91. func InsertMenu(c *gin.Context) {
  92. var data models.Menu
  93. err := c.BindWith(&data, binding.JSON)
  94. tools.HasError(err, "抱歉未找到相关信息", -1)
  95. data.CreateBy = tools.GetUserIdStr(c)
  96. result, err := data.Create()
  97. tools.HasError(err, "抱歉未找到相关信息", -1)
  98. app.OK(c, result, "")
  99. }
  100. // @Summary 修改菜单
  101. // @Description 获取JSON
  102. // @Tags 菜单
  103. // @Accept application/x-www-form-urlencoded
  104. // @Product application/x-www-form-urlencoded
  105. // @Param id path int true "id"
  106. // @Param data body models.Menu true "body"
  107. // @Success 200 {string} string "{"code": 200, "message": "修改成功"}"
  108. // @Success 200 {string} string "{"code": -1, "message": "修改失败"}"
  109. // @Router /api/v1/menu/{id} [put]
  110. // @Security Bearer
  111. func UpdateMenu(c *gin.Context) {
  112. var data models.Menu
  113. err2 := c.BindWith(&data, binding.JSON)
  114. data.UpdateBy = tools.GetUserIdStr(c)
  115. tools.HasError(err2, "修改失败", -1)
  116. _, err := data.Update(data.MenuId)
  117. tools.HasError(err, "", 501)
  118. app.OK(c, "", "修改成功")
  119. }
  120. // @Summary 删除菜单
  121. // @Description 删除数据
  122. // @Tags 菜单
  123. // @Param id path int true "id"
  124. // @Success 200 {string} string "{"code": 200, "message": "删除成功"}"
  125. // @Success 200 {string} string "{"code": -1, "message": "删除失败"}"
  126. // @Router /api/v1/menu/{id} [delete]
  127. func DeleteMenu(c *gin.Context) {
  128. var data models.Menu
  129. id, err := tools.StringToInt(c.Param("id"))
  130. data.UpdateBy = tools.GetUserIdStr(c)
  131. _, err = data.Delete(id)
  132. tools.HasError(err, "删除失败", 500)
  133. app.OK(c, "", "删除成功")
  134. }
  135. // @Summary 根据角色名称获取菜单列表数据(左菜单使用)
  136. // @Description 获取JSON
  137. // @Tags 菜单
  138. // @Param id path int true "id"
  139. // @Success 200 {string} string "{"code": 200, "data": [...]}"
  140. // @Success 200 {string} string "{"code": -1, "message": "抱歉未找到相关信息"}"
  141. // @Router /api/v1/menurole [get]
  142. // @Security Bearer
  143. func GetMenuRole(c *gin.Context) {
  144. var Menu models.Menu
  145. result, err := Menu.SetMenuRole(tools.GetRoleName(c))
  146. tools.HasError(err, "获取失败", 500)
  147. app.OK(c, result, "")
  148. }
  149. // @Summary 获取角色对应的菜单id数组
  150. // @Description 获取JSON
  151. // @Tags 菜单
  152. // @Param id path int true "id"
  153. // @Success 200 {string} string "{"code": 200, "data": [...]}"
  154. // @Success 200 {string} string "{"code": -1, "message": "抱歉未找到相关信息"}"
  155. // @Router /api/v1/menuids/{id} [get]
  156. // @Security Bearer
  157. func GetMenuIDS(c *gin.Context) {
  158. var data models.RoleMenu
  159. data.RoleName = c.GetString("role")
  160. data.UpdateBy = tools.GetUserIdStr(c)
  161. result, err := data.GetIDS()
  162. tools.HasError(err, "获取失败", 500)
  163. app.OK(c, result, "")
  164. }