admin.go 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. package v1
  2. type LoginRequest struct {
  3. Username string `json:"username" binding:"required" example:"1234@gmail.com"`
  4. Password string `json:"password" binding:"required" example:"123456"`
  5. }
  6. type LoginResponseData struct {
  7. AccessToken string `json:"accessToken"`
  8. }
  9. type LoginResponse struct {
  10. Response
  11. Data LoginResponseData
  12. }
  13. type AdminUserDataItem struct {
  14. ID uint `json:"id"`
  15. Username string `json:"username" binding:"required" example:"张三"`
  16. Nickname string `json:"nickname" binding:"required" example:"小Baby"`
  17. Password string `json:"password" binding:"required" example:"123456"`
  18. Email string `json:"email" binding:"required,email" example:"1234@gmail.com"`
  19. Phone string `form:"phone" binding:"" example:"1858888888"`
  20. Roles []string `json:"roles" example:""`
  21. UpdatedAt string `json:"updatedAt"`
  22. CreatedAt string `json:"createdAt"`
  23. }
  24. type GetAdminUsersRequest struct {
  25. Page int `form:"page" binding:"required" example:"1"`
  26. PageSize int `form:"pageSize" binding:"required" example:"10"`
  27. Username string `json:"username" binding:"" example:"张三"`
  28. Nickname string `json:"nickname" binding:"" example:"小Baby"`
  29. Phone string `form:"phone" binding:"" example:"1858888888"`
  30. Email string `form:"email" binding:"" example:"1234@gmail.com"`
  31. }
  32. type GetAdminUserResponseData struct {
  33. ID uint `json:"id"`
  34. Username string `json:"username" example:"张三"`
  35. Nickname string `json:"nickname" example:"小Baby"`
  36. Password string `json:"password" example:"123456"`
  37. Email string `json:"email" example:"1234@gmail.com"`
  38. Phone string `form:"phone" example:"1858888888"`
  39. Roles []string `json:"roles" example:""`
  40. UpdatedAt string `json:"updatedAt"`
  41. CreatedAt string `json:"createdAt"`
  42. }
  43. type GetAdminUserResponse struct {
  44. Response
  45. Data GetAdminUserResponseData
  46. }
  47. type GetAdminUsersResponseData struct {
  48. List []AdminUserDataItem `json:"list"`
  49. Total int64 `json:"total"`
  50. }
  51. type GetAdminUsersResponse struct {
  52. Response
  53. Data GetAdminUsersResponseData
  54. }
  55. type AdminUserCreateRequest struct {
  56. Username string `json:"username" binding:"required" example:"张三"`
  57. Nickname string `json:"nickname" binding:"" example:"小Baby"`
  58. Password string `json:"password" binding:"required" example:"123456"`
  59. Email string `json:"email" binding:"" example:"1234@gmail.com"`
  60. Phone string `form:"phone" binding:"" example:"1858888888"`
  61. Roles []string `json:"roles" example:""`
  62. }
  63. type AdminUserUpdateRequest struct {
  64. ID uint `json:"id"`
  65. Username string `json:"username" binding:"required" example:"张三"`
  66. Nickname string `json:"nickname" binding:"" example:"小Baby"`
  67. Password string `json:"password" binding:"" example:"123456"`
  68. Email string `json:"email" binding:"" example:"1234@gmail.com"`
  69. Phone string `form:"phone" binding:"" example:"1858888888"`
  70. Roles []string `json:"roles" example:""`
  71. }
  72. type AdminUserDeleteRequest struct {
  73. ID uint `form:"id" binding:"required" example:"1"`
  74. }
  75. type MenuDataItem struct {
  76. ID uint `json:"id,omitempty"` // 唯一id,使用整数表示
  77. ParentID uint `json:"parentId,omitempty"` // 父级菜单的id,使用整数表示
  78. Weight int `json:"weight"` // 排序权重
  79. Path string `json:"path"` // 地址
  80. Title string `json:"title"` // 展示名称
  81. Name string `json:"name,omitempty"` // 同路由中的name,唯一标识
  82. Component string `json:"component,omitempty"` // 绑定的组件
  83. Locale string `json:"locale,omitempty"` // 本地化标识
  84. Icon string `json:"icon,omitempty"` // 图标,使用字符串表示
  85. Redirect string `json:"redirect,omitempty"` // 重定向地址
  86. KeepAlive bool `json:"keepAlive,omitempty"` // 是否保活
  87. HideInMenu bool `json:"hideInMenu,omitempty"` // 是否保活
  88. URL string `json:"url,omitempty"` // iframe模式下的跳转url,不能与path重复
  89. UpdatedAt string `json:"updatedAt,omitempty"` // 是否保活
  90. }
  91. type GetMenuResponseData struct {
  92. List []MenuDataItem `json:"list"`
  93. }
  94. type GetMenuResponse struct {
  95. Response
  96. Data GetMenuResponseData
  97. }
  98. type MenuCreateRequest struct {
  99. ParentID uint `json:"parentId,omitempty"` // 父级菜单的id,使用整数表示
  100. Weight int `json:"weight"` // 排序权重
  101. Path string `json:"path"` // 地址
  102. Title string `json:"title"` // 展示名称
  103. Name string `json:"name,omitempty"` // 同路由中的name,唯一标识
  104. Component string `json:"component,omitempty"` // 绑定的组件
  105. Locale string `json:"locale,omitempty"` // 本地化标识
  106. Icon string `json:"icon,omitempty"` // 图标,使用字符串表示
  107. Redirect string `json:"redirect,omitempty"` // 重定向地址
  108. KeepAlive bool `json:"keepAlive,omitempty"` // 是否保活
  109. HideInMenu bool `json:"hideInMenu,omitempty"` // 是否保活
  110. URL string `json:"url,omitempty"` // iframe模式下的跳转url,不能与path重复
  111. }
  112. type MenuUpdateRequest struct {
  113. ID uint `json:"id,omitempty"` // 唯一id,使用整数表示
  114. ParentID uint `json:"parentId,omitempty"` // 父级菜单的id,使用整数表示
  115. Weight int `json:"weight"` // 排序权重
  116. Path string `json:"path"` // 地址
  117. Title string `json:"title"` // 展示名称
  118. Name string `json:"name,omitempty"` // 同路由中的name,唯一标识
  119. Component string `json:"component,omitempty"` // 绑定的组件
  120. Locale string `json:"locale,omitempty"` // 本地化标识
  121. Icon string `json:"icon,omitempty"` // 图标,使用字符串表示
  122. Redirect string `json:"redirect,omitempty"` // 重定向地址
  123. KeepAlive bool `json:"keepAlive,omitempty"` // 是否保活
  124. HideInMenu bool `json:"hideInMenu,omitempty"` // 是否保活
  125. URL string `json:"url,omitempty"` // iframe模式下的跳转url,不能与path重复
  126. UpdatedAt string `json:"updatedAt"`
  127. }
  128. type MenuDeleteRequest struct {
  129. ID uint `form:"id"` // 唯一id,使用整数表示
  130. }
  131. type GetRoleListRequest struct {
  132. Page int `form:"page" binding:"required" example:"1"`
  133. PageSize int `form:"pageSize" binding:"required" example:"10"`
  134. Sid string `form:"sid" binding:"" example:"1"`
  135. Name string `form:"name" binding:"" example:"Admin"`
  136. }
  137. type RoleDataItem struct {
  138. ID uint `json:"id"`
  139. Name string `json:"name"`
  140. Sid string `json:"sid"`
  141. UpdatedAt string `json:"updatedAt"`
  142. CreatedAt string `json:"createdAt"`
  143. }
  144. type GetRolesResponseData struct {
  145. List []RoleDataItem `json:"list"`
  146. Total int64 `json:"total"`
  147. }
  148. type GetRolesResponse struct {
  149. Response
  150. Data GetRolesResponseData
  151. }
  152. type RoleCreateRequest struct {
  153. Sid string `form:"sid" binding:"required" example:"1"`
  154. Name string `form:"name" binding:"required" example:"Admin"`
  155. }
  156. type RoleUpdateRequest struct {
  157. ID uint `form:"id" binding:"required" example:"1"`
  158. Sid string `form:"sid" binding:"required" example:"1"`
  159. Name string `form:"name" binding:"required" example:"Admin"`
  160. }
  161. type RoleDeleteRequest struct {
  162. ID uint `form:"id" binding:"required" example:"1"`
  163. }
  164. type PermissionCreateRequest struct {
  165. Sid string `form:"sid" binding:"required" example:"1"`
  166. Name string `form:"name" binding:"required" example:"Admin"`
  167. }
  168. type GetApisRequest struct {
  169. Page int `form:"page" binding:"required" example:"1"`
  170. PageSize int `form:"pageSize" binding:"required" example:"10"`
  171. Group string `form:"group" binding:"" example:"权限管理"`
  172. Name string `form:"name" binding:"" example:"菜单列表"`
  173. Path string `form:"path" binding:"" example:"/v1/test"`
  174. Method string `form:"method" binding:"" example:"GET"`
  175. }
  176. type ApiDataItem struct {
  177. ID uint `json:"id"`
  178. Name string `json:"name"`
  179. Path string `json:"path"`
  180. Method string `json:"method"`
  181. Group string `json:"group"`
  182. UpdatedAt string `json:"updatedAt"`
  183. CreatedAt string `json:"createdAt"`
  184. }
  185. type GetApisResponseData struct {
  186. List []ApiDataItem `json:"list"`
  187. Total int64 `json:"total"`
  188. Groups []string `json:"groups"`
  189. }
  190. type GetApisResponse struct {
  191. Response
  192. Data GetApisResponseData
  193. }
  194. type ApiCreateRequest struct {
  195. Group string `form:"group" binding:"" example:"权限管理"`
  196. Name string `form:"name" binding:"" example:"菜单列表"`
  197. Path string `form:"path" binding:"" example:"/v1/test"`
  198. Method string `form:"method" binding:"" example:"GET"`
  199. }
  200. type ApiUpdateRequest struct {
  201. ID uint `form:"id" binding:"required" example:"1"`
  202. Group string `form:"group" binding:"" example:"权限管理"`
  203. Name string `form:"name" binding:"" example:"菜单列表"`
  204. Path string `form:"path" binding:"" example:"/v1/test"`
  205. Method string `form:"method" binding:"" example:"GET"`
  206. }
  207. type ApiDeleteRequest struct {
  208. ID uint `form:"id" binding:"required" example:"1"`
  209. }
  210. type GetUserPermissionsData struct {
  211. List []string `json:"list"`
  212. }
  213. type GetRolePermissionsRequest struct {
  214. Role string `form:"role" binding:"required" example:"admin"`
  215. }
  216. type GetRolePermissionsData struct {
  217. List []string `json:"list"`
  218. }
  219. type UpdateRolePermissionRequest struct {
  220. Role string `form:"role" binding:"required" example:"admin"`
  221. List []string `form:"list" binding:"required" example:""`
  222. }