From fa2d88870eca6388253df36be955d1025877c00b Mon Sep 17 00:00:00 2001 From: zhangwenjian Date: Sun, 3 May 2020 23:34:50 +0800 Subject: [PATCH 1/8] fix role control btn isshow --- models/rolemenu.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/rolemenu.go b/models/rolemenu.go index 66fb4e9d..7d7c010b 100644 --- a/models/rolemenu.go +++ b/models/rolemenu.go @@ -37,7 +37,7 @@ func (rm *RoleMenu) Get() ([]RoleMenu, error) { func (rm *RoleMenu) GetPermis() ([]string, error) { var r []Menu - table := orm.Eloquent.Select("sys_menu.permission").Table("sys_role_menu").Joins("left join sys_menu on sys_menu.menu_id = sys_role_menu.menu_id") + table := orm.Eloquent.Select("sys_menu.permission").Table("sys_menu").Joins("left join sys_role_menu on sys_menu.menu_id = sys_role_menu.menu_id") table = table.Where("role_id = ?", rm.RoleId) From de41e30aa17bd59342c2d8795e5868e03c3c3747 Mon Sep 17 00:00:00 2001 From: wenjianzhang Date: Mon, 4 May 2020 22:11:40 +0800 Subject: [PATCH 2/8] Modify unauthorized code --- middleware/permission.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/middleware/permission.go b/middleware/permission.go index 5edf6524..cf91ca89 100644 --- a/middleware/permission.go +++ b/middleware/permission.go @@ -27,7 +27,7 @@ func AuthCheckRole() gin.HandlerFunc { c.Next() } else { c.JSON(http.StatusOK, gin.H{ - "code": 401, + "code": 403, "msg": "对不起,您没有该接口访问权限,请联系管理员", }) c.Abort() From 9ea3ccc06452e44d1ef5ff0bb2201d646a84ed9f Mon Sep 17 00:00:00 2001 From: zhangwenjian Date: Mon, 4 May 2020 22:44:30 +0800 Subject: [PATCH 3/8] remove demo middleware --- middleware/demo.go | 27 --------------------------- router/router.go | 1 - 2 files changed, 28 deletions(-) delete mode 100644 middleware/demo.go diff --git a/middleware/demo.go b/middleware/demo.go deleted file mode 100644 index 00954dcd..00000000 --- a/middleware/demo.go +++ /dev/null @@ -1,27 +0,0 @@ -package middleware - -import ( - "github.com/gin-gonic/gin" - config2 "go-admin/tools/config" - "net/http" -) - -func DemoEvn() gin.HandlerFunc { - return func(c *gin.Context) { - if config2.ApplicationConfig.Mode == "demo" { - method := c.Request.Method - if method == "GET" || method == "OPTIONS" || c.Request.RequestURI == "/login" || c.Request.RequestURI == "/api/v1/logout" { - c.Next() - } else { - c.JSON(http.StatusOK, gin.H{ - "code": 500, - "msg": config2.ApplicationConfig.DemoMsg, - }) - c.Abort() - return - } - } else { - c.Next() - } - } -} diff --git a/router/router.go b/router/router.go index fcbd4498..6f0ad545 100644 --- a/router/router.go +++ b/router/router.go @@ -25,7 +25,6 @@ func InitRouter() *gin.Engine { r.Use(middleware.Options) r.Use(middleware.Secure) r.Use(middleware.RequestId()) - r.Use(middleware.DemoEvn()) r.GET("/", system.HelloWorld) r.Static("/static", "./static") From 8260581be1396d096aec506298bbac9d31cde709 Mon Sep 17 00:00:00 2001 From: zhangwenjian Date: Mon, 4 May 2020 22:46:36 +0800 Subject: [PATCH 4/8] update api template --- template/api.go.template | 119 ++++++++++++++++----------------------- 1 file changed, 50 insertions(+), 69 deletions(-) diff --git a/template/api.go.template b/template/api.go.template index 06c39735..77010c9e 100644 --- a/template/api.go.template +++ b/template/api.go.template @@ -1,95 +1,76 @@ package apis import ( - "github.com/gin-gonic/gin" - "github.com/gin-gonic/gin/binding" - "go-admin/models" - "go-admin/tools/app" - "go-admin/pkg" - "go-admin/utils" - "net/http" +"github.com/gin-gonic/gin" +"github.com/gin-gonic/gin/binding" +"go-admin/models" +"go-admin/tools" +"go-admin/tools/app" +"go-admin/tools/app/msg" ) func Get{{.ClassName}}List(c *gin.Context) { - var data models.{{.ClassName}} - var err error - var pageSize = 10 - var pageIndex = 1 +var data models.{{.ClassName}} +var err error +var pageSize = 10 +var pageIndex = 1 - if size := c.Request.FormValue("pageSize"); size != "" { - pageSize = pkg.StrToInt(err, size) - } - if index := c.Request.FormValue("pageIndex"); index != "" { - pageIndex = pkg.StrToInt(err, index) - } +if size := c.Request.FormValue("pageSize"); size != "" { +pageSize = tools.StrToInt(err, size) +} +if index := c.Request.FormValue("pageIndex"); index != "" { +pageIndex = tools.StrToInt(err, index) +} - {{ range .Columns -}} - {{$z := .IsQuery}} - {{- if ($z) -}}data.{{.GoField}} = c.Request.FormValue("{{.JsonField}}") - {{ end -}} - {{end}} +{{ range .Columns -}} + {{$z := .IsQuery}} + {{- if ($z) -}}data.{{.GoField}} = c.Request.FormValue("{{.JsonField}}") + {{ end -}} +{{end}} - data.DataScope = utils.GetUserIdStr(c) - result, count, err := data.GetPage(pageSize, pageIndex) - pkg.HasError(err, "", -1) +data.DataScope = tools.GetUserIdStr(c) +result, count, err := data.GetPage(pageSize, pageIndex) +tools.HasError(err, "", -1) - var mp = make(map[string]interface{}, 3) - mp["list"] = result - mp["count"] = count - mp["pageIndex"] = pageIndex - mp["pageIndex"] = pageSize - - var res models.Response - res.Data = mp - - c.JSON(http.StatusOK, res.ReturnOK()) +app.PageOK(c, result, count, pageIndex, pageSize, "") } func Get{{.ClassName}}(c *gin.Context) { - var data models.{{.ClassName}} - data.{{.PkGoField}}, _ = utils.StringToInt(c.Param("{{.PkJsonField}}")) - result, err := data.Get() - pkg.HasError(err, "抱歉未找到相关信息", -1) +var data models.{{.ClassName}} +data.{{.PkGoField}}, _ = tools.StringToInt(c.Param("{{.PkJsonField}}")) +result, err := data.Get() +tools.HasError(err, "抱歉未找到相关信息", -1) - var res models.Response - res.Data = result - - c.JSON(http.StatusOK, res.ReturnOK()) +app.OK(c, result, "") } func Insert{{.ClassName}}(c *gin.Context) { - var data models.{{.ClassName}} - err := c.BindWith(&data, binding.JSON) - data.CreateBy = utils.GetUserIdStr(c) - pkg.HasError(err, "", 500) - result, err := data.Create() - pkg.HasError(err, "", -1) - var res models.Response - res.Data = result - c.JSON(http.StatusOK, res.ReturnOK()) +var data models.{{.ClassName}} +err := c.ShouldBindJSON(&data) +data.CreateBy = tools.GetUserIdStr(c) +tools.HasError(err, "", 500) +result, err := data.Create() +tools.HasError(err, "", -1) +app.OK(c, result, "") } func Update{{.ClassName}}(c *gin.Context) { - var data models.{{.ClassName}} - err := c.BindWith(&data, binding.JSON) - pkg.HasError(err, "数据解析失败", -1) - data.UpdateBy = utils.GetUserIdStr(c) - result, err := data.Update(data.{{.PkGoField}}) - pkg.HasError(err, "", -1) +var data models.{{.ClassName}} +err := c.BindWith(&data, binding.JSON) +tools.HasError(err, "数据解析失败", -1) +data.UpdateBy = tools.GetUserIdStr(c) +result, err := data.Update(data.{{.PkGoField}}) +tools.HasError(err, "", -1) - var res models.Response - res.Data = result - c.JSON(http.StatusOK, res.ReturnOK()) +app.OK(c, result, "") } func Delete{{.ClassName}}(c *gin.Context) { - var data models.{{.ClassName}} - id, err := utils.StringToInt(c.Param("{{.PkJsonField}}")) - data.UpdateBy = utils.GetUserIdStr(c) - _, err = data.Delete(id) - pkg.HasError(err, "修改失败", 500) +var data models.{{.ClassName}} +data.UpdateBy = tools.GetUserIdStr(c) - var res models.Response - res.Msg = "删除成功" - c.JSON(http.StatusOK, res.ReturnOK()) +IDS := tools.IdsStrToIdsIntGroup("{{.PkJsonField}}", c) +_, err := data.BatchDelete(IDS) +tools.HasError(err, msg.DeletedFail, 500) +app.OK(c, nil, msg.DeletedSuccess) } \ No newline at end of file From 570afbbe120bd243eff9d7bd9f125e191eb9b202 Mon Sep 17 00:00:00 2001 From: zhangwenjian Date: Mon, 4 May 2020 22:49:15 +0800 Subject: [PATCH 5/8] update model template --- template/model.go.template | 52 +++++++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 18 deletions(-) diff --git a/template/model.go.template b/template/model.go.template index 8dc41860..c5541d1f 100644 --- a/template/model.go.template +++ b/template/model.go.template @@ -1,9 +1,9 @@ package models import ( - orm "go-admin/database" - "go-admin/utils" - "time" +orm "go-admin/database" +"go-admin/tools" +_ "time" ) type {{.ClassName}} struct { @@ -11,12 +11,19 @@ type {{.ClassName}} struct { {{$x := .Pk}} {{if ($x)}}{{.GoField}} {{.GoType}} `json:"{{.JsonField}}" gorm:"type:{{.ColumnType}};primary_key"`{{else}}{{.GoField}} {{.GoType}} `json:"{{.JsonField}}" gorm:"type:{{.ColumnType}};"`{{end}} // {{.ColumnComment}} {{- end }} + DataScope string `json:"dataScope" gorm:"-"` + Params string `json:"params" gorm:"-"` + BaseModel +} + +func ({{.ClassName}}) TableName() string { + return "{{.TBName}}" } // 创建{{.ClassName}} func (e *{{.ClassName}}) Create() ({{.ClassName}}, error) { var doc {{.ClassName}} - result := orm.Eloquent.Table("{{.TableName}}").Create(&e) + result := orm.Eloquent.Table(e.TableName()).Create(&e) if result.Error != nil { err := result.Error return doc, err @@ -25,11 +32,12 @@ func (e *{{.ClassName}}) Create() ({{.ClassName}}, error) { return doc, nil } + // 获取{{.ClassName}} func (e *{{.ClassName}}) Get() ({{.ClassName}}, error) { var doc {{.ClassName}} - table := orm.Eloquent.Table("{{.TableName}}") + table := orm.Eloquent.Table(e.TableName()) {{ range .Columns -}} {{$z := .IsQuery}} {{- if ($z) -}} @@ -46,10 +54,10 @@ func (e *{{.ClassName}}) Get() ({{.ClassName}}, error) { } // 获取{{.ClassName}}带分页 -func (e *{{.ClassName}}) GetPage(pageSize int, pageIndex int) ([]{{.ClassName}}, int32, error) { +func (e *{{.ClassName}}) GetPage(pageSize int, pageIndex int) ([]{{.ClassName}}, int, error) { var doc []{{.ClassName}} - table := orm.Eloquent.Select("*").Table("{{.TableName}}") + table := orm.Eloquent.Select("*").Table(e.TableName()) {{ range .Columns -}} {{$z := .IsQuery}} {{- if ($z) -}} @@ -59,14 +67,14 @@ func (e *{{.ClassName}}) GetPage(pageSize int, pageIndex int) ([]{{.ClassName}}, {{ end -}} {{ end }} - // 数据权限控制 + // 数据权限控制(如果不需要数据权限请将此处去掉) dataPermission := new(DataPermission) - dataPermission.UserId, _ = utils.StringToInt(e.DataScope) - table = dataPermission.GetDataScope("{{.TableName}}", table) + dataPermission.UserId, _ = tools.StringToInt(e.DataScope) + table = dataPermission.GetDataScope(e.TableName(), table) - var count int32 - table = table.Offset((pageIndex - 1) * pageSize).Limit(pageSize) - if err := table.Find(&doc).Error; err != nil { + var count int + + if err := table.Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&doc).Error; err != nil { return nil, 0, err } table.Count(&count) @@ -74,22 +82,22 @@ func (e *{{.ClassName}}) GetPage(pageSize int, pageIndex int) ([]{{.ClassName}}, } // 更新{{.ClassName}} -func (e *{{.ClassName}}) Update(id int64) (update {{.ClassName}}, err error) { - if err = orm.Eloquent.Table("{{.TableName}}").Where("{{.PkColumn}} = ?", id).First(&update).Error; err != nil { +func (e *{{.ClassName}}) Update(id int) (update {{.ClassName}}, err error) { + if err = orm.Eloquent.Table(e.TableName()).Where("{{.PkColumn}} = ?", id).First(&update).Error; err != nil { return } //参数1:是要修改的数据 //参数2:是修改的数据 - if err = orm.Eloquent.Table("{{.TableName}}").Model(&update).Updates(&e).Error; err != nil { + if err = orm.Eloquent.Table(e.TableName()).Model(&update).Updates(&e).Error; err != nil { return } return } // 删除{{.ClassName}} -func (e *{{.ClassName}}) Delete(id int64) (success bool, err error) { - if err = orm.Eloquent.Table("{{.TableName}}").Where("{{.PkColumn}} = ?", id).Delete(&{{.ClassName}}{}).Error; err != nil { +func (e *{{.ClassName}}) Delete(id int) (success bool, err error) { + if err = orm.Eloquent.Table(e.TableName()).Where("{{.PkColumn}} = ?", id).Delete(&{{.ClassName}}{}).Error; err != nil { success = false return } @@ -97,3 +105,11 @@ func (e *{{.ClassName}}) Delete(id int64) (success bool, err error) { return } +//批量删除 +func (e *{{.ClassName}}) BatchDelete(id []int) (Result bool, err error) { + if err = orm.Eloquent.Table(e.TableName()).Where("{{.PkColumn}} in (?)", id).Delete(&{{.ClassName}}{}).Error; err != nil { + return + } + Result = true + return +} From 38eed4a8fe94b169296e696c599ef6d1fb4c4a35 Mon Sep 17 00:00:00 2001 From: zhangwenjian Date: Mon, 4 May 2020 22:50:04 +0800 Subject: [PATCH 6/8] update vue template --- template/vue.go.template | 96 +++++++++++++++++++--------------------- 1 file changed, 46 insertions(+), 50 deletions(-) diff --git a/template/vue.go.template b/template/vue.go.template index 4173b5c2..904f3796 100644 --- a/template/vue.go.template +++ b/template/vue.go.template @@ -2,12 +2,12 @@
{{range .Columns}} - {{- $x := .IsQuery -}} - {{- if ($x) -}} - - - - {{end}} + {{- $x := .IsQuery -}} + {{- if ($x) -}} + + + + {{end}} {{- end }} 搜索 @@ -47,13 +47,13 @@ - + {{- range .Columns -}} - {{- $x := .IsList -}} - {{- if ($x) -}} - - {{- end -}} + {{- $x := .IsList -}} + {{- if ($x) -}} + + {{- end -}} {{- end }}