sys_api.go 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. package v1
  2. import (
  3. "fmt"
  4. "gin-vue-admin/global/response"
  5. "gin-vue-admin/model"
  6. "gin-vue-admin/model/request"
  7. resp "gin-vue-admin/model/response"
  8. "gin-vue-admin/service"
  9. "gin-vue-admin/utils"
  10. "github.com/gin-gonic/gin"
  11. )
  12. // @Tags SysApi
  13. // @Summary 创建基础api
  14. // @Security ApiKeyAuth
  15. // @accept application/json
  16. // @Produce application/json
  17. // @Param data body model.SysApi true "创建api"
  18. // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
  19. // @Router /api/createApi [post]
  20. func CreateApi(c *gin.Context) {
  21. var api model.SysApi
  22. _ = c.ShouldBindJSON(&api)
  23. ApiVerify := utils.Rules{
  24. "Path": {utils.NotEmpty()},
  25. "Description": {utils.NotEmpty()},
  26. "ApiGroup": {utils.NotEmpty()},
  27. "Method": {utils.NotEmpty()},
  28. }
  29. ApiVerifyErr := utils.Verify(api, ApiVerify)
  30. if ApiVerifyErr!=nil {
  31. response.FailWithMessage(ApiVerifyErr.Error(), c)
  32. return
  33. }
  34. err := service.CreateApi(api)
  35. if err != nil {
  36. response.FailWithMessage(fmt.Sprintf("创建失败,%v", err), c)
  37. } else {
  38. response.OkWithMessage("创建成功", c)
  39. }
  40. }
  41. // @Tags SysApi
  42. // @Summary 删除指定api
  43. // @Security ApiKeyAuth
  44. // @accept application/json
  45. // @Produce application/json
  46. // @Param data body model.SysApi true "删除api"
  47. // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
  48. // @Router /api/deleteApi [post]
  49. func DeleteApi(c *gin.Context) {
  50. var a model.SysApi
  51. _ = c.ShouldBindJSON(&a)
  52. ApiVerify := utils.Rules{
  53. "ID": {utils.NotEmpty()},
  54. }
  55. ApiVerifyErr := utils.Verify(a.Model, ApiVerify)
  56. if ApiVerifyErr!=nil {
  57. response.FailWithMessage(ApiVerifyErr.Error(), c)
  58. return
  59. }
  60. err := service.DeleteApi(a)
  61. if err != nil {
  62. response.FailWithMessage(fmt.Sprintf("删除失败,%v", err), c)
  63. } else {
  64. response.OkWithMessage("删除成功", c)
  65. }
  66. }
  67. //条件搜索后端看此api
  68. // @Tags SysApi
  69. // @Summary 分页获取API列表
  70. // @Security ApiKeyAuth
  71. // @accept application/json
  72. // @Produce application/json
  73. // @Param data body request.SearchApiParams true "分页获取API列表"
  74. // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
  75. // @Router /api/getApiList [post]
  76. func GetApiList(c *gin.Context) {
  77. // 此结构体仅本方法使用
  78. var sp request.SearchApiParams
  79. _ = c.ShouldBindJSON(&sp)
  80. ApiVerify := utils.Rules{
  81. "Page": {utils.NotEmpty()},
  82. "PageSize": {utils.NotEmpty()},
  83. }
  84. ApiVerifyErr := utils.Verify(sp.PageInfo, ApiVerify)
  85. if ApiVerifyErr!=nil {
  86. response.FailWithMessage(ApiVerifyErr.Error(), c)
  87. return
  88. }
  89. err, list, total := service.GetAPIInfoList(sp.SysApi, sp.PageInfo, sp.OrderKey, sp.Desc)
  90. if err != nil {
  91. response.FailWithMessage(fmt.Sprintf("获取数据失败,%v", err), c)
  92. } else {
  93. response.OkWithData(resp.PageResult{
  94. List: list,
  95. Total: total,
  96. Page: sp.PageInfo.Page,
  97. PageSize: sp.PageInfo.PageSize,
  98. }, c)
  99. }
  100. }
  101. // @Tags SysApi
  102. // @Summary 根据id获取api
  103. // @Security ApiKeyAuth
  104. // @accept application/json
  105. // @Produce application/json
  106. // @Param data body request.GetById true "根据id获取api"
  107. // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
  108. // @Router /api/getApiById [post]
  109. func GetApiById(c *gin.Context) {
  110. var idInfo request.GetById
  111. _ = c.ShouldBindJSON(&idInfo)
  112. ApiVerify := utils.Rules{
  113. "Id": {utils.NotEmpty()},
  114. }
  115. ApiVerifyErr := utils.Verify(idInfo, ApiVerify)
  116. if ApiVerifyErr!=nil {
  117. response.FailWithMessage(ApiVerifyErr.Error(), c)
  118. return
  119. }
  120. err, api := service.GetApiById(idInfo.Id)
  121. if err != nil {
  122. response.FailWithMessage(fmt.Sprintf("获取数据失败,%v", err), c)
  123. } else {
  124. response.OkWithData(resp.SysAPIResponse{Api: api}, c)
  125. }
  126. }
  127. // @Tags SysApi
  128. // @Summary 创建基础api
  129. // @Security ApiKeyAuth
  130. // @accept application/json
  131. // @Produce application/json
  132. // @Param data body model.SysApi true "创建api"
  133. // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
  134. // @Router /api/updateApi [post]
  135. func UpdateApi(c *gin.Context) {
  136. var api model.SysApi
  137. _ = c.ShouldBindJSON(&api)
  138. ApiVerify := utils.Rules{
  139. "Path": {utils.NotEmpty()},
  140. "Description": {utils.NotEmpty()},
  141. "ApiGroup": {utils.NotEmpty()},
  142. "Method": {utils.NotEmpty()},
  143. }
  144. ApiVerifyErr := utils.Verify(api, ApiVerify)
  145. if ApiVerifyErr!=nil {
  146. response.FailWithMessage(ApiVerifyErr.Error(), c)
  147. return
  148. }
  149. err := service.UpdateApi(api)
  150. if err != nil {
  151. response.FailWithMessage(fmt.Sprintf("修改数据失败,%v", err), c)
  152. } else {
  153. response.OkWithMessage("修改数据成功", c)
  154. }
  155. }
  156. // @Tags SysApi
  157. // @Summary 获取所有的Api 不分页
  158. // @Security ApiKeyAuth
  159. // @accept application/json
  160. // @Produce application/json
  161. // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
  162. // @Router /api/getAllApis [post]
  163. func GetAllApis(c *gin.Context) {
  164. err, apis := service.GetAllApis()
  165. if err != nil {
  166. response.FailWithMessage(fmt.Sprintf("获取数据失败,%v", err), c)
  167. } else {
  168. response.OkWithData(resp.SysAPIListResponse{Apis: apis}, c)
  169. }
  170. }