From a3ac2845ace5d5530bf26160e0ff18f95e5f7a7f Mon Sep 17 00:00:00 2001 From: zhangwenjian Date: Mon, 4 May 2020 23:15:01 +0800 Subject: [PATCH 1/5] 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 0caf51331f3c20f448b7e6e25b3d8d5ff966b043 Mon Sep 17 00:00:00 2001 From: zhangwenjian Date: Mon, 4 May 2020 23:15:15 +0800 Subject: [PATCH 2/5] 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 5479b95e84582832532242206c3d8d117ca4e664 Mon Sep 17 00:00:00 2001 From: zhangwenjian Date: Mon, 4 May 2020 23:15:23 +0800 Subject: [PATCH 3/5] update js template --- template/js.go.template | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/template/js.go.template b/template/js.go.template index 9c7ca820..efa51fed 100644 --- a/template/js.go.template +++ b/template/js.go.template @@ -1,6 +1,6 @@ import request from '@/utils/request' -// 查询参数列表 +// 查询{{.ClassName}}列表 export function list{{.ClassName}}(query) { return request({ url: '/api/v1/{{.ModuleName}}List', @@ -9,7 +9,7 @@ params: query }) } -// 查询参数详细 +// 查询{{.ClassName}}详细 export function get{{.ClassName}} ({{.PkJsonField}}) { return request({ url: '/api/v1/{{.ModuleName}}/' + {{.PkJsonField}}, @@ -18,7 +18,7 @@ method: 'get' } -// 新增参数配置 +// 新增{{.ClassName}} export function add{{.ClassName}}(data) { return request({ url: '/api/v1/{{.ModuleName}}', @@ -27,7 +27,7 @@ data: data }) } -// 修改参数配置 +// 修改{{.ClassName}} export function update{{.ClassName}}(data) { return request({ url: '/api/v1/{{.ModuleName}}', @@ -36,7 +36,7 @@ data: data }) } -// 删除参数配置 +// 删除{{.ClassName}} export function del{{.ClassName}}({{.PkJsonField}}) { return request({ url: '/api/v1/{{.ModuleName}}/' + {{.PkJsonField}}, From c4daa5081966121ebb836b04a6ace3711f95abec Mon Sep 17 00:00:00 2001 From: zhangwenjian Date: Mon, 4 May 2020 23:15:32 +0800 Subject: [PATCH 4/5] update model template --- template/model.go.template | 128 +++++++++++++++++++++---------------- 1 file changed, 72 insertions(+), 56 deletions(-) diff --git a/template/model.go.template b/template/model.go.template index 8dc41860..994885ad 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,89 +11,105 @@ 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) - if result.Error != nil { - err := result.Error - return doc, err - } - doc = *e - return doc, nil +var doc {{.ClassName}} +result := orm.Eloquent.Table(e.TableName()).Create(&e) +if result.Error != nil { +err := result.Error +return doc, err } +doc = *e +return doc, nil +} + // 获取{{.ClassName}} func (e *{{.ClassName}}) Get() ({{.ClassName}}, error) { - var doc {{.ClassName}} +var doc {{.ClassName}} - table := orm.Eloquent.Table("{{.TableName}}") - {{ range .Columns -}} +table := orm.Eloquent.Table(e.TableName()) +{{ range .Columns -}} {{$z := .IsQuery}} {{- if ($z) -}} - if e.{{.GoField}} != "" { + if e.{{.GoField}} != "" { table = table.Where("{{.ColumnName}} = ?", e.{{.GoField}}) - } + } {{ end -}} - {{ end }} +{{ end }} - if err := table.First(&doc).Error; err != nil { - return doc, err - } - return doc, nil +if err := table.First(&doc).Error; err != nil { +return doc, err +} +return doc, nil } // 获取{{.ClassName}}带分页 -func (e *{{.ClassName}}) GetPage(pageSize int, pageIndex int) ([]{{.ClassName}}, int32, error) { - var doc []{{.ClassName}} +func (e *{{.ClassName}}) GetPage(pageSize int, pageIndex int) ([]{{.ClassName}}, int, error) { +var doc []{{.ClassName}} - table := orm.Eloquent.Select("*").Table("{{.TableName}}") - {{ range .Columns -}} +table := orm.Eloquent.Select("*").Table(e.TableName()) +{{ range .Columns -}} {{$z := .IsQuery}} {{- if ($z) -}} - if e.{{.GoField}} != "" { + if e.{{.GoField}} != "" { table = table.Where("{{.ColumnName}} = ?", e.{{.GoField}}) - } + } {{ end -}} - {{ end }} +{{ end }} - // 数据权限控制 - dataPermission := new(DataPermission) - dataPermission.UserId, _ = utils.StringToInt(e.DataScope) - table = dataPermission.GetDataScope("{{.TableName}}", table) +// 数据权限控制(如果不需要数据权限请将此处去掉) +dataPermission := new(DataPermission) +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 { - return nil, 0, err - } - table.Count(&count) - return doc, count, 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) +return doc, count, nil } // 更新{{.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 { - return - } +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 { - return - } - return +//参数1:是要修改的数据 +//参数2:是修改的数据 +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 { - success = false - return - } - success = true - return +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 +} +success = true +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 9e2726cbbbf04f28b16254a855b4e023f7709cfb Mon Sep 17 00:00:00 2001 From: zhangwenjian Date: Mon, 4 May 2020 23:15:40 +0800 Subject: [PATCH 5/5] 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 }}