From 1f74d2f5cd78f4386f9bd192c8b87a4e08efc3d6 Mon Sep 17 00:00:00 2001 From: wall-js Date: Wed, 8 May 2024 09:34:42 +0800 Subject: [PATCH 1/5] =?UTF-8?q?fix(bug):=20[api.go.tpl]=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=8C=96=E4=BB=A3=E7=A0=81swag=E8=B7=AF=E5=BE=84=E5=86=B2?= =?UTF-8?q?=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/resource/autocode_template/server/api.go.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/resource/autocode_template/server/api.go.tpl b/server/resource/autocode_template/server/api.go.tpl index 3ddfff6568..6deb41d454 100644 --- a/server/resource/autocode_template/server/api.go.tpl +++ b/server/resource/autocode_template/server/api.go.tpl @@ -192,7 +192,7 @@ func ({{.Abbreviation}}Api *{{.StructName}}Api) Get{{.StructName}}DataSource(c * // @Produce application/json // @Param data query {{.Package}}Req.{{.StructName}}Search true "分页获取{{.Description}}列表" // @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}" -// @Router /{{.Abbreviation}}/get{{.StructName}}List [get] +// @Router /{{.Abbreviation}}/get{{.StructName}}Public [get] func ({{.Abbreviation}}Api *{{.StructName}}Api) Get{{.StructName}}Public(c *gin.Context) { // 此接口不需要鉴权 // 示例为返回了一个固定的消息接口,一般本接口用于C端服务,需要自己实现业务逻辑 From 47159c6fee2da7368ab1dc8041702d886013a64b Mon Sep 17 00:00:00 2001 From: wall-js Date: Wed, 15 May 2024 15:32:57 +0800 Subject: [PATCH 2/5] =?UTF-8?q?fixed:=E8=B0=83=E6=95=B4=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=8C=96=E4=BB=A3=E7=A0=81swagger=E6=96=87=E6=A1=A3=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=80=BC=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resource/autocode_template/server/api.go.tpl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/server/resource/autocode_template/server/api.go.tpl b/server/resource/autocode_template/server/api.go.tpl index 6deb41d454..7d91d01b95 100644 --- a/server/resource/autocode_template/server/api.go.tpl +++ b/server/resource/autocode_template/server/api.go.tpl @@ -26,7 +26,7 @@ var {{.Abbreviation}}Service = service.ServiceGroupApp.{{.PackageT}}ServiceGroup // @accept application/json // @Produce application/json // @Param data body {{.Package}}.{{.StructName}} true "创建{{.Description}}" -// @Success 200 {string} string "{"success":true,"data":{},"msg":"创建成功"}" +// @Success 200 {object} response.Response{msg=string} "创建成功" // @Router /{{.Abbreviation}}/create{{.StructName}} [post] func ({{.Abbreviation}}Api *{{.StructName}}Api) Create{{.StructName}}(c *gin.Context) { var {{.Abbreviation}} {{.Package}}.{{.StructName}} @@ -54,7 +54,7 @@ func ({{.Abbreviation}}Api *{{.StructName}}Api) Create{{.StructName}}(c *gin.Con // @accept application/json // @Produce application/json // @Param data body {{.Package}}.{{.StructName}} true "删除{{.Description}}" -// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}" +// @Success 200 {object} response.Response{msg=string} "删除成功" // @Router /{{.Abbreviation}}/delete{{.StructName}} [delete] func ({{.Abbreviation}}Api *{{.StructName}}Api) Delete{{.StructName}}(c *gin.Context) { {{.PrimaryField.FieldJson}} := c.Query("{{.PrimaryField.FieldJson}}") @@ -75,7 +75,7 @@ func ({{.Abbreviation}}Api *{{.StructName}}Api) Delete{{.StructName}}(c *gin.Con // @Security ApiKeyAuth // @accept application/json // @Produce application/json -// @Success 200 {string} string "{"success":true,"data":{},"msg":"批量删除成功"}" +// @Success 200 {object} response.Response{msg=string} "批量删除成功" // @Router /{{.Abbreviation}}/delete{{.StructName}}ByIds [delete] func ({{.Abbreviation}}Api *{{.StructName}}Api) Delete{{.StructName}}ByIds(c *gin.Context) { {{.PrimaryField.FieldJson}}s := c.QueryArray("{{.PrimaryField.FieldJson}}s[]") @@ -97,7 +97,7 @@ func ({{.Abbreviation}}Api *{{.StructName}}Api) Delete{{.StructName}}ByIds(c *gi // @accept application/json // @Produce application/json // @Param data body {{.Package}}.{{.StructName}} true "更新{{.Description}}" -// @Success 200 {string} string "{"success":true,"data":{},"msg":"更新成功"}" +// @Success 200 {object} response.Response{msg=string} "更新成功" // @Router /{{.Abbreviation}}/update{{.StructName}} [put] func ({{.Abbreviation}}Api *{{.StructName}}Api) Update{{.StructName}}(c *gin.Context) { var {{.Abbreviation}} {{.Package}}.{{.StructName}} @@ -125,7 +125,7 @@ func ({{.Abbreviation}}Api *{{.StructName}}Api) Update{{.StructName}}(c *gin.Con // @accept application/json // @Produce application/json // @Param data query {{.Package}}.{{.StructName}} true "用id查询{{.Description}}" -// @Success 200 {string} string "{"success":true,"data":{},"msg":"查询成功"}" +// @Success 200 {object} response.Response{data=object{re{{.Abbreviation}}={{.Package}}.{{.StructName}}},msg=string} "查询成功" // @Router /{{.Abbreviation}}/find{{.StructName}} [get] func ({{.Abbreviation}}Api *{{.StructName}}Api) Find{{.StructName}}(c *gin.Context) { {{.PrimaryField.FieldJson}} := c.Query("{{.PrimaryField.FieldJson}}") @@ -144,7 +144,7 @@ func ({{.Abbreviation}}Api *{{.StructName}}Api) Find{{.StructName}}(c *gin.Conte // @accept application/json // @Produce application/json // @Param data query {{.Package}}Req.{{.StructName}}Search true "分页获取{{.Description}}列表" -// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}" +// @Success 200 {object} response.Response{data=response.PageResult,msg=string} "获取成功" // @Router /{{.Abbreviation}}/get{{.StructName}}List [get] func ({{.Abbreviation}}Api *{{.StructName}}Api) Get{{.StructName}}List(c *gin.Context) { var pageInfo {{.Package}}Req.{{.StructName}}Search @@ -172,7 +172,7 @@ func ({{.Abbreviation}}Api *{{.StructName}}Api) Get{{.StructName}}List(c *gin.Co // @Summary 获取{{.StructName}}的数据源 // @accept application/json // @Produce application/json -// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}" +// @Success 200 {object} response.Response{data=object,msg=string} "查询成功" // @Router /{{.Abbreviation}}/get{{.StructName}}DataSource [get] func ({{.Abbreviation}}Api *{{.StructName}}Api) Get{{.StructName}}DataSource(c *gin.Context) { // 此接口为获取数据源定义的数据 @@ -191,7 +191,7 @@ func ({{.Abbreviation}}Api *{{.StructName}}Api) Get{{.StructName}}DataSource(c * // @accept application/json // @Produce application/json // @Param data query {{.Package}}Req.{{.StructName}}Search true "分页获取{{.Description}}列表" -// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}" +// @Success 200 {object} response.Response{data=object,msg=string} "获取成功" // @Router /{{.Abbreviation}}/get{{.StructName}}Public [get] func ({{.Abbreviation}}Api *{{.StructName}}Api) Get{{.StructName}}Public(c *gin.Context) { // 此接口不需要鉴权 From ee2a79c5bada00ffacb89d30e5eaa4bc26606a70 Mon Sep 17 00:00:00 2001 From: wall-js Date: Fri, 17 May 2024 16:17:19 +0800 Subject: [PATCH 3/5] =?UTF-8?q?fixed:=E4=BF=AE=E5=A4=8DRouterPrefix?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=90=8E=E4=B8=8D=E5=BD=B1=E5=93=8D=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E8=B7=AF=E7=94=B1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/initialize/plugin.go | 7 +++---- server/initialize/router.go | 9 ++++++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/server/initialize/plugin.go b/server/initialize/plugin.go index 7155ffb075..18723983e7 100644 --- a/server/initialize/plugin.go +++ b/server/initialize/plugin.go @@ -17,10 +17,9 @@ func PluginInit(group *gin.RouterGroup, Plugin ...plugin.Plugin) { } } -func InstallPlugin(Router *gin.Engine) { - PublicGroup := Router.Group("") - fmt.Println("无鉴权插件安装==》", PublicGroup) - PrivateGroup := Router.Group("") +func InstallPlugin(PrivateGroup *gin.RouterGroup, PublicRouter *gin.RouterGroup) { + fmt.Println("无鉴权插件安装==》", PublicRouter) + fmt.Println("鉴权插件安装==》", PrivateGroup) PrivateGroup.Use(middleware.JWTAuth()).Use(middleware.CasbinHandler()) // 添加跟角色挂钩权限的插件 示例 本地示例模式于在线仓库模式注意上方的import 可以自行切换 效果相同 diff --git a/server/initialize/router.go b/server/initialize/router.go index 3b90889b48..74ecac497a 100644 --- a/server/initialize/router.go +++ b/server/initialize/router.go @@ -1,6 +1,9 @@ package initialize import ( + "net/http" + "os" + "github.com/flipped-aurora/gin-vue-admin/server/docs" "github.com/flipped-aurora/gin-vue-admin/server/global" "github.com/flipped-aurora/gin-vue-admin/server/middleware" @@ -8,8 +11,6 @@ import ( "github.com/gin-gonic/gin" swaggerFiles "github.com/swaggo/files" ginSwagger "github.com/swaggo/gin-swagger" - "net/http" - "os" ) type justFilesFilesystem struct { @@ -39,7 +40,6 @@ func Routers() *gin.Engine { Router.Use(gin.Logger()) } - InstallPlugin(Router) // 安装插件 systemRouter := router.RouterGroupApp.System exampleRouter := router.RouterGroupApp.Example // 如果想要不使用nginx代理前端网页,可以修改 web/.env.production 下的 @@ -93,6 +93,9 @@ func Routers() *gin.Engine { } + //插件路由安装 + InstallPlugin(PrivateGroup, PublicGroup) + global.GVA_LOG.Info("router register success") return Router } From b3e81a3dcb022ad4301724d6b98ad31b9804c72f Mon Sep 17 00:00:00 2001 From: wall-js Date: Wed, 22 May 2024 13:06:05 +0800 Subject: [PATCH 4/5] =?UTF-8?q?fixed:=E4=BF=AE=E5=A4=8D=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=8C=96=E4=BB=A3=E7=A0=81=E6=97=A0=E6=B3=95=E8=AF=86=E5=88=AB?= =?UTF-8?q?json=E7=B1=BB=E5=9E=8B=EF=BC=8C=E5=8E=BB=E6=8E=89=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E8=B7=AF=E7=94=B1=E5=86=97=E4=BD=99=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/initialize/plugin.go | 2 -- server/resource/autocode_template/server/model.go.tpl | 10 ++++++---- .../resource/autocode_template/server/request.go.tpl | 8 ++++++-- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/server/initialize/plugin.go b/server/initialize/plugin.go index 18723983e7..591d02a65c 100644 --- a/server/initialize/plugin.go +++ b/server/initialize/plugin.go @@ -4,7 +4,6 @@ import ( "fmt" "github.com/flipped-aurora/gin-vue-admin/server/global" - "github.com/flipped-aurora/gin-vue-admin/server/middleware" "github.com/flipped-aurora/gin-vue-admin/server/plugin/email" "github.com/flipped-aurora/gin-vue-admin/server/utils/plugin" "github.com/gin-gonic/gin" @@ -21,7 +20,6 @@ func InstallPlugin(PrivateGroup *gin.RouterGroup, PublicRouter *gin.RouterGroup) fmt.Println("无鉴权插件安装==》", PublicRouter) fmt.Println("鉴权插件安装==》", PrivateGroup) - PrivateGroup.Use(middleware.JWTAuth()).Use(middleware.CasbinHandler()) // 添加跟角色挂钩权限的插件 示例 本地示例模式于在线仓库模式注意上方的import 可以自行切换 效果相同 PluginInit(PrivateGroup, email.CreateEmailPlug( global.GVA_CONFIG.Email.To, diff --git a/server/resource/autocode_template/server/model.go.tpl b/server/resource/autocode_template/server/model.go.tpl index c39d1a026b..afd7371802 100644 --- a/server/resource/autocode_template/server/model.go.tpl +++ b/server/resource/autocode_template/server/model.go.tpl @@ -18,13 +18,15 @@ type {{.StructName}} struct { {{- else if eq .FieldType "video" }} {{.FieldName}} string `json:"{{.FieldJson}}" form:"{{.FieldJson}}" gorm:"{{- if .PrimaryKey -}}primarykey;{{- end -}}{{- if .DefaultValue -}}default:{{ .DefaultValue }};{{- end -}}column:{{.ColumnName}};comment:{{.Comment}};{{- if .DataTypeLong -}}size:{{.DataTypeLong}};{{- end -}}" {{- if .Require }} binding:"required"{{- end -}}` {{- else if eq .FieldType "file" }} - {{.FieldName}} datatypes.JSON `json:"{{.FieldJson}}" form:"{{.FieldJson}}" gorm:"{{- if .PrimaryKey -}}primarykey;{{- end -}}{{- if .DefaultValue -}}default:{{ .DefaultValue }};{{- end -}}column:{{.ColumnName}};comment:{{.Comment}};{{- if .DataTypeLong -}}size:{{.DataTypeLong}};{{- end -}}" {{- if .Require }} binding:"required"{{- end -}}` + {{.FieldName}} datatypes.JSON `json:"{{.FieldJson}}" form:"{{.FieldJson}}" gorm:"{{- if .PrimaryKey -}}primarykey;{{- end -}}{{- if .DefaultValue -}}default:{{ .DefaultValue }};{{- end -}}column:{{.ColumnName}};comment:{{.Comment}};{{- if .DataTypeLong -}}size:{{.DataTypeLong}};{{- end -}}" {{- if .Require }} binding:"required"{{- end -}} swaggertype:"array,object"` {{- else if eq .FieldType "pictures" }} - {{.FieldName}} datatypes.JSON `json:"{{.FieldJson}}" form:"{{.FieldJson}}" gorm:"{{- if .PrimaryKey -}}primarykey;{{- end -}}{{- if .DefaultValue -}}default:{{ .DefaultValue }};{{- end -}}column:{{.ColumnName}};comment:{{.Comment}};{{- if .DataTypeLong -}}size:{{.DataTypeLong}};{{- end -}}" {{- if .Require }} binding:"required"{{- end -}}` + {{.FieldName}} datatypes.JSON `json:"{{.FieldJson}}" form:"{{.FieldJson}}" gorm:"{{- if .PrimaryKey -}}primarykey;{{- end -}}{{- if .DefaultValue -}}default:{{ .DefaultValue }};{{- end -}}column:{{.ColumnName}};comment:{{.Comment}};{{- if .DataTypeLong -}}size:{{.DataTypeLong}};{{- end -}}" {{- if .Require }} binding:"required"{{- end -}} swaggertype:"array,object"` {{- else if eq .FieldType "richtext" }} {{.FieldName}} string `json:"{{.FieldJson}}" form:"{{.FieldJson}}" gorm:"{{- if .PrimaryKey -}}primarykey;{{- end -}}{{- if .DefaultValue -}}default:{{ .DefaultValue }};{{- end -}}column:{{.ColumnName}};comment:{{.Comment}};{{- if .DataTypeLong -}}size:{{.DataTypeLong}};{{- end -}}type:text;" {{- if .Require }} binding:"required"{{- end -}}` - {{- else if or (eq .FieldType "json") (eq .FieldType "array") }} - {{.FieldName}} datatypes.JSON `json:"{{.FieldJson}}" form:"{{.FieldJson}}" gorm:"{{- if .PrimaryKey -}}primarykey;{{- end -}}{{- if .DefaultValue -}}default:{{ .DefaultValue }};{{- end -}}column:{{.ColumnName}};comment:{{.Comment}};{{- if .DataTypeLong -}}size:{{.DataTypeLong}};{{- end -}}type:text;" {{- if .Require }} binding:"required"{{- end -}}` + {{- else if eq .FieldType "json" }} + {{.FieldName}} datatypes.JSON `json:"{{.FieldJson}}" form:"{{.FieldJson}}" gorm:"{{- if .PrimaryKey -}}primarykey;{{- end -}}{{- if .DefaultValue -}}default:{{ .DefaultValue }};{{- end -}}column:{{.ColumnName}};comment:{{.Comment}};{{- if .DataTypeLong -}}size:{{.DataTypeLong}};{{- end -}}type:text;" {{- if .Require }} binding:"required"{{- end -}} swaggertype:"object"` + {{- else if eq .FieldType "array" }} + {{.FieldName}} datatypes.JSON `json:"{{.FieldJson}}" form:"{{.FieldJson}}" gorm:"{{- if .PrimaryKey -}}primarykey;{{- end -}}{{- if .DefaultValue -}}default:{{ .DefaultValue }};{{- end -}}column:{{.ColumnName}};comment:{{.Comment}};{{- if .DataTypeLong -}}size:{{.DataTypeLong}};{{- end -}}type:text;" {{- if .Require }} binding:"required"{{- end -}} swaggertype:"array,object"` {{- else if ne .FieldType "string" }} {{.FieldName}} *{{.FieldType}} `json:"{{.FieldJson}}" form:"{{.FieldJson}}" gorm:"{{- if .PrimaryKey -}}primarykey;{{- end -}}{{- if .DefaultValue -}}default:{{ .DefaultValue }};{{- end -}}column:{{.ColumnName}};comment:{{.Comment}};{{- if .DataTypeLong -}}size:{{.DataTypeLong}};{{- end -}}" {{- if .Require }} binding:"required"{{- end -}}` {{- else }} diff --git a/server/resource/autocode_template/server/request.go.tpl b/server/resource/autocode_template/server/request.go.tpl index 7acd20ff10..cdcc43e6c6 100644 --- a/server/resource/autocode_template/server/request.go.tpl +++ b/server/resource/autocode_template/server/request.go.tpl @@ -24,11 +24,15 @@ type {{.StructName}}Search struct{ {{- else if eq .FieldType "video" }} {{.FieldName}} string `json:"{{.FieldJson}}" form:"{{.FieldJson}}" ` {{- else if eq .FieldType "file" }} - {{.FieldName}} datatypes.JSON `json:"{{.FieldJson}}" form:"{{.FieldJson}}" ` + {{.FieldName}} datatypes.JSON `json:"{{.FieldJson}}" form:"{{.FieldJson}}" swaggertype:"array,object"` {{- else if eq .FieldType "pictures" }} - {{.FieldName}} datatypes.JSON `json:"{{.FieldJson}}" form:"{{.FieldJson}}" ` + {{.FieldName}} datatypes.JSON `json:"{{.FieldJson}}" form:"{{.FieldJson}}" swaggertype:"array,object"` {{- else if eq .FieldType "richtext" }} {{.FieldName}} string `json:"{{.FieldJson}}" form:"{{.FieldJson}}" ` + {{- else if eq .FieldType "json" }} + {{.FieldName}} datatypes.JSON `json:"{{.FieldJson}}" form:"{{.FieldJson}}" swaggertype:"object"` + {{- else if eq .FieldType "array" }} + {{.FieldName}} datatypes.JSON `json:"{{.FieldJson}}" form:"{{.FieldJson}}" swaggertype:"array,object"` {{- else if ne .FieldType "string" }} {{.FieldName}} *{{.FieldType}} `json:"{{.FieldJson}}" form:"{{.FieldJson}}" ` {{- else }} From 0e77a7264883d462df17dfea403c091ed0867323 Mon Sep 17 00:00:00 2001 From: wall-js Date: Sat, 25 May 2024 14:12:44 +0800 Subject: [PATCH 5/5] =?UTF-8?q?fixed:=E4=BF=AE=E5=A4=8D=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=8C=96=E7=94=9F=E6=88=90=E8=A1=A8=E6=A0=BC=E7=BC=BA=E5=B0=91?= =?UTF-8?q?=E7=9A=84prop?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resource/autocode_template/web/table.vue.tpl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/server/resource/autocode_template/web/table.vue.tpl b/server/resource/autocode_template/web/table.vue.tpl index 45d6f1df08..42a3e13914 100644 --- a/server/resource/autocode_template/web/table.vue.tpl +++ b/server/resource/autocode_template/web/table.vue.tpl @@ -99,7 +99,7 @@ > {{ if .GvaModel }} - + {{ end }} @@ -127,17 +127,17 @@ {{- else if eq .FieldType "time.Time" }} - + {{- else if eq .FieldType "picture" }} - + {{- else if eq .FieldType "pictures" }} - + {{- else if eq .FieldType "video" }} - +