sys_api.go 4.8 KB
Newer Older
Mr.奇淼('s avatar
Mr.奇淼( 已提交
1
package v1
Mr.奇淼('s avatar
Mr.奇淼( 已提交
2 3 4

import (
	"fmt"
Mr.奇淼('s avatar
Mr.奇淼( 已提交
5 6
	"gin-vue-admin/global/response"
	"gin-vue-admin/model"
7
	"gin-vue-admin/model/request"
8
	resp "gin-vue-admin/model/response"
9
	"gin-vue-admin/service"
10
	"gin-vue-admin/utils"
Mr.奇淼('s avatar
Mr.奇淼( 已提交
11 12 13
	"github.com/gin-gonic/gin"
)

14
// @Tags SysApi
Mr.奇淼('s avatar
Mr.奇淼( 已提交
15
// @Summary 创建基础api
Mr.奇淼('s avatar
Mr.奇淼( 已提交
16 17 18
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
19
// @Param data body model.SysApi true "创建api"
20
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
Mr.奇淼('s avatar
Mr.奇淼( 已提交
21 22
// @Router /api/createApi [post]
func CreateApi(c *gin.Context) {
Mr.奇淼('s avatar
Mr.奇淼( 已提交
23
	var api model.SysApi
24
	_ = c.ShouldBindJSON(&api)
25
	ApiVerify := utils.Rules{
Mr.奇淼('s avatar
Mr.奇淼( 已提交
26 27 28
		"Path":        {utils.NotEmpty()},
		"Description": {utils.NotEmpty()},
		"ApiGroup":    {utils.NotEmpty()},
29 30 31
		"Method":      {utils.NotEmpty()},
	}
	ApiVerifyErr := utils.Verify(api, ApiVerify)
Mr.奇淼('s avatar
Mr.奇淼( 已提交
32
	if ApiVerifyErr != nil {
33 34 35
		response.FailWithMessage(ApiVerifyErr.Error(), c)
		return
	}
36
	err := service.CreateApi(api)
Mr.奇淼('s avatar
Mr.奇淼( 已提交
37
	if err != nil {
38
		response.FailWithMessage(fmt.Sprintf("创建失败,%v", err), c)
Mr.奇淼('s avatar
Mr.奇淼( 已提交
39
	} else {
40
		response.OkWithMessage("创建成功", c)
Mr.奇淼('s avatar
Mr.奇淼( 已提交
41 42 43
	}
}

44
// @Tags SysApi
Mr.奇淼('s avatar
Mr.奇淼( 已提交
45
// @Summary 删除指定api
Mr.奇淼('s avatar
Mr.奇淼( 已提交
46 47 48
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
49
// @Param data body model.SysApi true "删除api"
50
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
Mr.奇淼('s avatar
Mr.奇淼( 已提交
51 52
// @Router /api/deleteApi [post]
func DeleteApi(c *gin.Context) {
Mr.奇淼('s avatar
Mr.奇淼( 已提交
53
	var a model.SysApi
54
	_ = c.ShouldBindJSON(&a)
55
	ApiVerify := utils.Rules{
Mr.奇淼('s avatar
Mr.奇淼( 已提交
56
		"ID": {utils.NotEmpty()},
57 58
	}
	ApiVerifyErr := utils.Verify(a.Model, ApiVerify)
Mr.奇淼('s avatar
Mr.奇淼( 已提交
59
	if ApiVerifyErr != nil {
60 61 62
		response.FailWithMessage(ApiVerifyErr.Error(), c)
		return
	}
63
	err := service.DeleteApi(a)
Mr.奇淼('s avatar
Mr.奇淼( 已提交
64
	if err != nil {
65
		response.FailWithMessage(fmt.Sprintf("删除失败,%v", err), c)
Mr.奇淼('s avatar
Mr.奇淼( 已提交
66
	} else {
67
		response.OkWithMessage("删除成功", c)
Mr.奇淼('s avatar
Mr.奇淼( 已提交
68 69
	}
}
70

71
// 条件搜索后端看此api
72

73
// @Tags SysApi
Mr.奇淼('s avatar
Mr.奇淼( 已提交
74
// @Summary 分页获取API列表
75 76 77
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
Mr.奇淼('s avatar
Mr.奇淼( 已提交
78
// @Param data body request.SearchApiParams true "分页获取API列表"
79
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
80 81
// @Router /api/getApiList [post]
func GetApiList(c *gin.Context) {
82
	// 此结构体仅本方法使用
83
	var sp request.SearchApiParams
84
	_ = c.ShouldBindJSON(&sp)
Mr.奇淼('s avatar
Mr.奇淼( 已提交
85 86 87
	PageVerifyErr := utils.Verify(sp.PageInfo, utils.CustomizeMap["PageVerify"])
	if PageVerifyErr != nil {
		response.FailWithMessage(PageVerifyErr.Error(), c)
88 89
		return
	}
90
	err, list, total := service.GetAPIInfoList(sp.SysApi, sp.PageInfo, sp.OrderKey, sp.Desc)
91
	if err != nil {
92
		response.FailWithMessage(fmt.Sprintf("获取数据失败,%v", err), c)
93
	} else {
Mr.奇淼('s avatar
Mr.奇淼( 已提交
94 95 96 97 98 99
		response.OkWithData(resp.PageResult{
			List:     list,
			Total:    total,
			Page:     sp.PageInfo.Page,
			PageSize: sp.PageInfo.PageSize,
		}, c)
100
	}
Mr.奇淼('s avatar
Mr.奇淼( 已提交
101
}
Mr.奇淼('s avatar
Mr.奇淼( 已提交
102

103
// @Tags SysApi
Mr.奇淼('s avatar
Mr.奇淼( 已提交
104 105 106 107
// @Summary 根据id获取api
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
Mr.奇淼('s avatar
Mr.奇淼( 已提交
108
// @Param data body request.GetById true "根据id获取api"
109
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
Mr.奇淼('s avatar
Mr.奇淼( 已提交
110 111
// @Router /api/getApiById [post]
func GetApiById(c *gin.Context) {
112
	var idInfo request.GetById
113
	_ = c.ShouldBindJSON(&idInfo)
Mr.奇淼('s avatar
Mr.奇淼( 已提交
114 115 116
	IdVerifyErr := utils.Verify(idInfo, utils.CustomizeMap["IdVerify"])
	if IdVerifyErr != nil {
		response.FailWithMessage(IdVerifyErr.Error(), c)
117 118
		return
	}
119
	err, api := service.GetApiById(idInfo.Id)
Mr.奇淼('s avatar
Mr.奇淼( 已提交
120
	if err != nil {
121
		response.FailWithMessage(fmt.Sprintf("获取数据失败,%v", err), c)
Mr.奇淼('s avatar
Mr.奇淼( 已提交
122
	} else {
123
		response.OkWithData(resp.SysAPIResponse{Api: api}, c)
Mr.奇淼('s avatar
Mr.奇淼( 已提交
124 125 126
	}
}

127
// @Tags SysApi
Mr.奇淼('s avatar
Mr.奇淼( 已提交
128 129 130 131
// @Summary 创建基础api
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
132
// @Param data body model.SysApi true "创建api"
133
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
R
rainyan 已提交
134 135
// @Router /api/updateApi [post]
func UpdateApi(c *gin.Context) {
Mr.奇淼('s avatar
Mr.奇淼( 已提交
136
	var api model.SysApi
137
	_ = c.ShouldBindJSON(&api)
138
	ApiVerify := utils.Rules{
Mr.奇淼('s avatar
Mr.奇淼( 已提交
139 140 141
		"Path":        {utils.NotEmpty()},
		"Description": {utils.NotEmpty()},
		"ApiGroup":    {utils.NotEmpty()},
142 143 144
		"Method":      {utils.NotEmpty()},
	}
	ApiVerifyErr := utils.Verify(api, ApiVerify)
Mr.奇淼('s avatar
Mr.奇淼( 已提交
145
	if ApiVerifyErr != nil {
146 147 148
		response.FailWithMessage(ApiVerifyErr.Error(), c)
		return
	}
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
	}
}
Mr.奇淼('s avatar
Mr.奇淼( 已提交
156

157
// @Tags SysApi
Mr.奇淼('s avatar
Mr.奇淼( 已提交
158 159 160 161
// @Summary 获取所有的Api 不分页
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
162
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
Mr.奇淼('s avatar
Mr.奇淼( 已提交
163
// @Router /api/getAllApis [post]
164
func GetAllApis(c *gin.Context) {
165
	err, apis := service.GetAllApis()
Mr.奇淼('s avatar
Mr.奇淼( 已提交
166
	if err != nil {
167
		response.FailWithMessage(fmt.Sprintf("获取数据失败,%v", err), c)
Mr.奇淼('s avatar
Mr.奇淼( 已提交
168
	} else {
169
		response.OkWithData(resp.SysAPIListResponse{Apis: apis}, c)
Mr.奇淼('s avatar
Mr.奇淼( 已提交
170
	}
171
}