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/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() 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") 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 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 +} 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 }}