Skip to content

Commit 6debb09

Browse files
committed
Merge remote-tracking branch 'origin/main'
2 parents 62b84d4 + 26dc3f3 commit 6debb09

File tree

19 files changed

+155
-199
lines changed

19 files changed

+155
-199
lines changed

server/api/v1/system/sys_api.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,13 +76,16 @@ func (s *SystemApiApi) SyncApi(c *gin.Context) {
7676
// @Success 200 {object} response.Response{msg=string} "获取API分组"
7777
// @Router /api/getApiGroups [post]
7878
func (s *SystemApiApi) GetApiGroups(c *gin.Context) {
79-
groups, err := apiService.GetApiGroups()
79+
groups, apiGroupMap, err := apiService.GetApiGroups()
8080
if err != nil {
8181
global.GVA_LOG.Error("获取失败!", zap.Error(err))
8282
response.FailWithMessage("获取失败", c)
8383
return
8484
}
85-
response.OkWithData(groups, c)
85+
response.OkWithData(gin.H{
86+
"groups": groups,
87+
"apiGroupMap": apiGroupMap,
88+
}, c)
8689
}
8790

8891
// IgnoreApi

server/model/system/request/sys_auto_code.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ type AutoCodeField struct {
229229
type AutoFunc struct {
230230
Package string `json:"package"`
231231
FuncName string `json:"funcName"` // 方法名称
232+
Router string `json:"router"` // 路由名称
232233
BusinessDB string `json:"businessDB"` // 业务库
233234
StructName string `json:"structName"` // Struct名称
234235
PackageName string `json:"packageName"` // 文件名称

server/resource/function/api.go.tpl

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
// @Param data query request.{{.StructName}}Search true "分页获取{{.Description}}列表"
88
// @Success 200 {object} response.Response{data=object,msg=string} "获取成功"
99
// @Router /{{.Abbreviation}}/{{.FuncName}} [{{.Method}}]
10-
func (a *{{.Abbreviation}}) {{.FuncName}}(c *gin.Context) {
10+
func (a *{{.Abbreviation}}) {{.Router}}(c *gin.Context) {
1111
// 请添加自己的业务逻辑
1212
err := service{{ .StructName }}.{{.FuncName}}()
1313
if err != nil {
@@ -27,14 +27,15 @@ func (a *{{.Abbreviation}}) {{.FuncName}}(c *gin.Context) {
2727
// @Produce application/json
2828
// @Param data query {{.Package}}Req.{{.StructName}}Search true "成功"
2929
// @Success 200 {object} response.Response{data=object,msg=string} "成功"
30-
// @Router /{{.Abbreviation}}/{{.FuncName}} [{{.Method}}]
30+
// @Router /{{.Abbreviation}}/{{.Router}} [{{.Method}}]
3131
func ({{.Abbreviation}}Api *{{.StructName}}Api){{.FuncName}}(c *gin.Context) {
32-
// 请添加自己的业务逻辑
33-
if err := {{.Abbreviation}}Service.{{.FuncName}}(); err != nil {
32+
// 请添加自己的业务逻辑
33+
if err := {{.Abbreviation}}Service.{{.FuncName}}()
34+
if err != nil {
3435
global.GVA_LOG.Error("失败!", zap.Error(err))
3536
response.FailWithMessage("失败", c)
36-
} else {
37-
response.OkWithData("返回数据",c)
37+
return
3838
}
39+
response.OkWithData("返回数据",c)
3940
}
4041
{{end}}

server/resource/package/server/api/api.go.tpl

Lines changed: 35 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,13 @@ func ({{.Abbreviation}}Api *{{.StructName}}Api) Create{{.StructName}}(c *gin.Con
3333
{{- if .AutoCreateResource }}
3434
{{.Abbreviation}}.CreatedBy = utils.GetUserID(c)
3535
{{- end }}
36-
if err := {{.Abbreviation}}Service.Create{{.StructName}}(&{{.Abbreviation}}); err != nil {
36+
err = {{.Abbreviation}}Service.Create{{.StructName}}(&{{.Abbreviation}})
37+
if err != nil {
3738
global.GVA_LOG.Error("创建失败!", zap.Error(err))
3839
response.FailWithMessage("创建失败", c)
39-
} else {
40-
response.OkWithMessage("创建成功", c)
40+
return
4141
}
42+
response.OkWithMessage("创建成功", c)
4243
}
4344

4445
// Delete{{.StructName}} 删除{{.Description}}
@@ -53,14 +54,15 @@ func ({{.Abbreviation}}Api *{{.StructName}}Api) Create{{.StructName}}(c *gin.Con
5354
func ({{.Abbreviation}}Api *{{.StructName}}Api) Delete{{.StructName}}(c *gin.Context) {
5455
{{.PrimaryField.FieldJson}} := c.Query("{{.PrimaryField.FieldJson}}")
5556
{{- if .AutoCreateResource }}
56-
userID := utils.GetUserID(c)
57+
userID := utils.GetUserID(c)
5758
{{- end }}
58-
if err := {{.Abbreviation}}Service.Delete{{.StructName}}({{.PrimaryField.FieldJson}} {{- if .AutoCreateResource -}},userID{{- end -}}); err != nil {
59+
err := {{.Abbreviation}}Service.Delete{{.StructName}}({{.PrimaryField.FieldJson}} {{- if .AutoCreateResource -}},userID{{- end -}})
60+
if err != nil {
5961
global.GVA_LOG.Error("删除失败!", zap.Error(err))
6062
response.FailWithMessage("删除失败", c)
61-
} else {
62-
response.OkWithMessage("删除成功", c)
63+
return
6364
}
65+
response.OkWithMessage("删除成功", c)
6466
}
6567

6668
// Delete{{.StructName}}ByIds 批量删除{{.Description}}
@@ -76,12 +78,13 @@ func ({{.Abbreviation}}Api *{{.StructName}}Api) Delete{{.StructName}}ByIds(c *gi
7678
{{- if .AutoCreateResource }}
7779
userID := utils.GetUserID(c)
7880
{{- end }}
79-
if err := {{.Abbreviation}}Service.Delete{{.StructName}}ByIds({{.PrimaryField.FieldJson}}s{{- if .AutoCreateResource }},userID{{- end }}); err != nil {
81+
err := {{.Abbreviation}}Service.Delete{{.StructName}}ByIds({{.PrimaryField.FieldJson}}s{{- if .AutoCreateResource }},userID{{- end }})
82+
if err != nil {
8083
global.GVA_LOG.Error("批量删除失败!", zap.Error(err))
8184
response.FailWithMessage("批量删除失败", c)
82-
} else {
83-
response.OkWithMessage("批量删除成功", c)
85+
return
8486
}
87+
response.OkWithMessage("批量删除成功", c)
8588
}
8689

8790
// Update{{.StructName}} 更新{{.Description}}
@@ -103,13 +106,13 @@ func ({{.Abbreviation}}Api *{{.StructName}}Api) Update{{.StructName}}(c *gin.Con
103106
{{- if .AutoCreateResource }}
104107
{{.Abbreviation}}.UpdatedBy = utils.GetUserID(c)
105108
{{- end }}
106-
107-
if err := {{.Abbreviation}}Service.Update{{.StructName}}({{.Abbreviation}}); err != nil {
109+
err = {{.Abbreviation}}Service.Update{{.StructName}}({{.Abbreviation}})
110+
if err != nil {
108111
global.GVA_LOG.Error("更新失败!", zap.Error(err))
109112
response.FailWithMessage("更新失败", c)
110-
} else {
111-
response.OkWithMessage("更新成功", c)
113+
return
112114
}
115+
response.OkWithMessage("更新成功", c)
113116
}
114117

115118
// Find{{.StructName}} 用id查询{{.Description}}
@@ -123,12 +126,13 @@ func ({{.Abbreviation}}Api *{{.StructName}}Api) Update{{.StructName}}(c *gin.Con
123126
// @Router /{{.Abbreviation}}/find{{.StructName}} [get]
124127
func ({{.Abbreviation}}Api *{{.StructName}}Api) Find{{.StructName}}(c *gin.Context) {
125128
{{.PrimaryField.FieldJson}} := c.Query("{{.PrimaryField.FieldJson}}")
126-
if re{{.Abbreviation}}, err := {{.Abbreviation}}Service.Get{{.StructName}}({{.PrimaryField.FieldJson}}); err != nil {
129+
re{{.Abbreviation}}, err := {{.Abbreviation}}Service.Get{{.StructName}}({{.PrimaryField.FieldJson}})
130+
if err != nil {
127131
global.GVA_LOG.Error("查询失败!", zap.Error(err))
128132
response.FailWithMessage("查询失败", c)
129-
} else {
130-
response.OkWithData(re{{.Abbreviation}}, c)
133+
return
131134
}
135+
response.OkWithData(re{{.Abbreviation}}, c)
132136
}
133137

134138
// Get{{.StructName}}List 分页获取{{.Description}}列表
@@ -147,17 +151,18 @@ func ({{.Abbreviation}}Api *{{.StructName}}Api) Get{{.StructName}}List(c *gin.Co
147151
response.FailWithMessage(err.Error(), c)
148152
return
149153
}
150-
if list, total, err := {{.Abbreviation}}Service.Get{{.StructName}}InfoList(pageInfo); err != nil {
154+
list, total, err := {{.Abbreviation}}Service.Get{{.StructName}}InfoList(pageInfo)
155+
if err != nil {
151156
global.GVA_LOG.Error("获取失败!", zap.Error(err))
152157
response.FailWithMessage("获取失败", c)
153-
} else {
154-
response.OkWithDetailed(response.PageResult{
155-
List: list,
156-
Total: total,
157-
Page: pageInfo.Page,
158-
PageSize: pageInfo.PageSize,
159-
}, "获取成功", c)
158+
return
160159
}
160+
response.OkWithDetailed(response.PageResult{
161+
List: list,
162+
Total: total,
163+
Page: pageInfo.Page,
164+
PageSize: pageInfo.PageSize,
165+
}, "获取成功", c)
161166
}
162167

163168
{{- if .HasDataSource }}
@@ -170,12 +175,13 @@ func ({{.Abbreviation}}Api *{{.StructName}}Api) Get{{.StructName}}List(c *gin.Co
170175
// @Router /{{.Abbreviation}}/get{{.StructName}}DataSource [get]
171176
func ({{.Abbreviation}}Api *{{.StructName}}Api) Get{{.StructName}}DataSource(c *gin.Context) {
172177
// 此接口为获取数据源定义的数据
173-
if dataSource, err := {{.Abbreviation}}Service.Get{{.StructName}}DataSource(); err != nil {
178+
dataSource, err := {{.Abbreviation}}Service.Get{{.StructName}}DataSource()
179+
if err != nil {
174180
global.GVA_LOG.Error("查询失败!", zap.Error(err))
175181
response.FailWithMessage("查询失败", c)
176-
} else {
177-
response.OkWithData(dataSource, c)
178-
}
182+
return
183+
}
184+
response.OkWithData(dataSource, c)
179185
}
180186
{{- end }}
181187

server/resource/plugin/server/api/api.go.template

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,8 @@ func (a *{{.Abbreviation}}) Delete{{.StructName}}ByIds(c *gin.Context) {
8080
{{- if .AutoCreateResource }}
8181
userID := utils.GetUserID(c)
8282
{{- end }}
83-
if err := service{{ .StructName }}.Delete{{.StructName}}ByIds({{.PrimaryField.FieldJson}}s{{- if .AutoCreateResource }},userID{{- end }}); err != nil {
83+
err := service{{ .StructName }}.Delete{{.StructName}}ByIds({{.PrimaryField.FieldJson}}s{{- if .AutoCreateResource }},userID{{- end }})
84+
if err != nil {
8485
global.GVA_LOG.Error("批量删除失败!", zap.Error(err))
8586
response.FailWithMessage("批量删除失败", c)
8687
return
@@ -105,7 +106,7 @@ func (a *{{.Abbreviation}}) Update{{.StructName}}(c *gin.Context) {
105106
return
106107
}
107108
{{- if .AutoCreateResource }}
108-
{{.Abbreviation}}.UpdatedBy = utils.GetUserID(c)
109+
info.UpdatedBy = utils.GetUserID(c)
109110
{{- end }}
110111
err = service{{ .StructName }}.Update{{.StructName}}(info)
111112
if err != nil {

server/service/system/auto_code_template.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,10 +220,10 @@ func (s *autoCodeTemplate) getTemplateStr(t string, info request.AutoFunc) (stri
220220
func (s *autoCodeTemplate) addTemplateToAst(t string, info request.AutoFunc) error {
221221
tPath := filepath.Join(global.GVA_CONFIG.AutoCode.Root, global.GVA_CONFIG.AutoCode.Server, "router", info.Package, info.HumpPackageName+".go")
222222
funcName := fmt.Sprintf("Init%sRouter", info.StructName)
223-
stmtStr := fmt.Sprintf("%sRouterWithoutAuth.%s(\"%s\", %sApi.%s)", info.Abbreviation, info.Method, info.FuncName, info.Abbreviation, info.FuncName)
223+
stmtStr := fmt.Sprintf("%sRouterWithoutAuth.%s(\"%s\", %sApi.%s)", info.Abbreviation, info.Method, info.Router, info.Abbreviation, info.FuncName)
224224
if info.IsPlugin {
225225
tPath = filepath.Join(global.GVA_CONFIG.AutoCode.Root, global.GVA_CONFIG.AutoCode.Server, "plugin", info.Package, "router", info.HumpPackageName+".go")
226-
stmtStr = fmt.Sprintf("group.%s(\"%s\", api%s.%s)", info.Method, info.FuncName, info.StructName, info.FuncName)
226+
stmtStr = fmt.Sprintf("group.%s(\"%s\", api%s.%s)", info.Method, info.Router, info.StructName, info.FuncName)
227227
funcName = "Init"
228228
}
229229

server/service/system/sys_api.go

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"github.com/flipped-aurora/gin-vue-admin/server/model/system"
99
systemRes "github.com/flipped-aurora/gin-vue-admin/server/model/system/response"
1010
"gorm.io/gorm"
11+
"strings"
1112
)
1213

1314
//@author: [piexlmax](https://github.com/piexlmax)
@@ -27,8 +28,26 @@ func (apiService *ApiService) CreateApi(api system.SysApi) (err error) {
2728
return global.GVA_DB.Create(&api).Error
2829
}
2930

30-
func (apiService *ApiService) GetApiGroups() (groups []string, err error) {
31-
err = global.GVA_DB.Model(&system.SysApi{}).Select("DISTINCT api_group").Pluck("api_group", &groups).Error
31+
func (apiService *ApiService) GetApiGroups() (groups []string, groupApiMap map[string]string, err error) {
32+
var apis []system.SysApi
33+
err = global.GVA_DB.Find(&apis).Error
34+
if err != nil {
35+
return
36+
}
37+
groupApiMap = make(map[string]string, 0)
38+
for i := range apis {
39+
pathArr := strings.Split(apis[i].Path, "/")
40+
newGroup := true
41+
for i2 := range groups {
42+
if groups[i2] == apis[i].ApiGroup {
43+
newGroup = false
44+
}
45+
}
46+
if newGroup {
47+
groups = append(groups, apis[i].ApiGroup)
48+
}
49+
groupApiMap[pathArr[1]] = apis[i].ApiGroup
50+
}
3251
return
3352
}
3453

server/source/system/api.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ func (i *initApi) InitializeData(ctx context.Context) (context.Context, error) {
125125
{ApiGroup: "代码生成器历史", Method: "POST", Path: "/autoCode/rollback", Description: "回滚自动生成代码"},
126126
{ApiGroup: "代码生成器历史", Method: "POST", Path: "/autoCode/getSysHistory", Description: "查询回滚记录"},
127127
{ApiGroup: "代码生成器历史", Method: "POST", Path: "/autoCode/delSysHistory", Description: "删除回滚记录"},
128+
{ApiGroup: "代码生成器历史", Method: "POST", Path: "/autoCode/addFunc", Description: "增加模板方法"},
128129

129130
{ApiGroup: "系统字典详情", Method: "PUT", Path: "/sysDictionaryDetail/updateSysDictionaryDetail", Description: "更新字典内容"},
130131
{ApiGroup: "系统字典详情", Method: "POST", Path: "/sysDictionaryDetail/createSysDictionaryDetail", Description: "新增字典内容"},

server/source/system/casbin.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ func (i *initCasbin) InitializeData(ctx context.Context) (context.Context, error
127127
{Ptype: "p", V0: "888", V1: "/autoCode/createPlug", V2: "POST"},
128128
{Ptype: "p", V0: "888", V1: "/autoCode/installPlugin", V2: "POST"},
129129
{Ptype: "p", V0: "888", V1: "/autoCode/pubPlug", V2: "POST"},
130+
{Ptype: "p", V0: "888", V1: "/autoCode/addFunc", V2: "POST"},
130131

131132
{Ptype: "p", V0: "888", V1: "/sysDictionaryDetail/findSysDictionaryDetail", V2: "GET"},
132133
{Ptype: "p", V0: "888", V1: "/sysDictionaryDetail/updateSysDictionaryDetail", V2: "PUT"},

web/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
"unplugin-vue-components": "^0.25.1",
6161
"vite": "^4.4.6",
6262
"vite-plugin-banner": "^0.7.0",
63-
"vite-plugin-importer": "^0.2.5"
63+
"vite-plugin-importer": "^0.2.5",
64+
"vite-plugin-vue-devtools": "^7.3.7"
6465
}
6566
}

0 commit comments

Comments
 (0)