From 37d318b4d9bbc0f144f27e6ba570d95dee154f58 Mon Sep 17 00:00:00 2001 From: zhangwenjian Date: Sun, 4 Jul 2021 05:46:20 +0800 Subject: [PATCH] =?UTF-8?q?feat=E2=9C=A8:=20vue-cli@3=20=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E4=B8=BA=20vue-cli@4=E3=80=81Change=20Node=20Sass=20to=20Dart?= =?UTF-8?q?=20Sass=E3=80=81=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90=E5=B7=A5?= =?UTF-8?q?=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. vue-cli@3 升级为 vue-cli@4 2. Change Node Sass to Dart Sass 3. 代码生成工具 --- app/admin/apis/sys_api.go | 4 +- app/other/apis/tools/gen.go | 102 +++------------------ app/other/apis/tools/sys_tables.go | 22 +++-- app/other/models/tools/sys_columns.go | 90 +++++++++--------- app/other/models/tools/sys_tables.go | 6 +- template/v4/dto.go.template | 78 ++++++++++++---- template/v4/js.go.template | 10 +- template/v4/no_actions/apis.go.template | 27 +++--- template/v4/no_actions/service.go.template | 11 +-- template/v4/vue.go.template | 6 +- 10 files changed, 168 insertions(+), 188 deletions(-) diff --git a/app/admin/apis/sys_api.go b/app/admin/apis/sys_api.go index 8e6cab2c..c2d34748 100644 --- a/app/admin/apis/sys_api.go +++ b/app/admin/apis/sys_api.go @@ -92,7 +92,7 @@ func (e SysApi) Get(c *gin.Context) { // @Tags 接口管理 // @Accept application/json // @Product application/json -// @Param data body dto.SysApiControl true "body" +// @Param data body dto.SysApiUpdateReq true "body" // @Success 200 {object} response.Response "{"code": 200, "message": "修改成功"}" // @Router /api/v1/sys-api/{id} [put] // @Security Bearer @@ -122,7 +122,7 @@ func (e SysApi) Update(c *gin.Context) { // @Summary 删除接口管理 // @Description 删除接口管理 // @Tags 接口管理 -// @Param ids body []int false "ids" +// @Param data body dto.SysApiDeleteReq true "body" // @Success 200 {object} response.Response "{"code": 200, "message": "删除成功"}" // @Router /api/v1/sys-api [delete] // @Security Bearer diff --git a/app/other/apis/tools/gen.go b/app/other/apis/tools/gen.go index 7760ad3c..6d0afcc6 100644 --- a/app/other/apis/tools/gen.go +++ b/app/other/apis/tools/gen.go @@ -83,7 +83,7 @@ func (e Gen) Preview(c *gin.Context) { return } - tab, _ := table.Get(db) + tab, _ := table.Get(db,false) var b1 bytes.Buffer err = t1.Execute(&b1, tab) var b2 bytes.Buffer @@ -129,13 +129,9 @@ func (e Gen) GenCode(c *gin.Context) { } table.TableId = id - tab, _ := table.Get(db) + tab, _ := table.Get(db,false) - if tab.IsActions == 1 { - e.ActionsGen(c, tab) - } else { - e.NOActionsGen(c, tab) - } + e.NOActionsGen(c, tab) e.OK("", "Code generated successfully!") } @@ -159,7 +155,7 @@ func (e Gen) GenApiToFile(c *gin.Context) { } table.TableId = id - tab, _ := table.Get(db) + tab, _ := table.Get(db,false) e.genApiToFile(c, tab) e.OK("", "Code generated successfully!") @@ -224,8 +220,8 @@ func (e Gen) NOActionsGen(c *gin.Context, tab tools.SysTables) { _ = pkg.PathCreate("./app/" + tab.PackageName + "/models/") _ = pkg.PathCreate("./app/" + tab.PackageName + "/router/") _ = pkg.PathCreate("./app/" + tab.PackageName + "/service/dto/") - _ = pkg.PathCreate(config.GenConfig.FrontPath + "/api/" + tab.PackageName+ "/") - err = pkg.PathCreate(config.GenConfig.FrontPath + "/views/" + tab.PackageName + "/" + tab.MLTBName+ "/") + _ = pkg.PathCreate(config.GenConfig.FrontPath + "/api/" + tab.PackageName + "/") + err = pkg.PathCreate(config.GenConfig.FrontPath + "/views/" + tab.PackageName + "/" + tab.MLTBName + "/") if err != nil { log.Error(err) e.Error(500, err, fmt.Sprintf("views目录创建失败!错误详情:%s", err.Error())) @@ -285,78 +281,6 @@ func (e Gen) genApiToFile(c *gin.Context, tab tools.SysTables) { } -func (e Gen) ActionsGen(c *gin.Context, tab tools.SysTables) { - err := e.MakeContext(c). - MakeOrm(). - Errors - if err != nil { - e.Logger.Error(err) - e.Error(500, err, err.Error()) - return - } - - basePath := "template/v4/" - routerFile := basePath + "actions/router_check_role.go.template" - - if tab.IsAuth == 2 { - routerFile = basePath + "actions/router_no_check_role.go.template" - } - - t1, err := template.ParseFiles(basePath + "model.go.template") - if err != nil { - e.Logger.Error(err) - e.Error(500, err, fmt.Sprintf("model模版解析失败!错误详情:%s", err.Error())) - return - } - t3, err := template.ParseFiles(routerFile) - if err != nil { - e.Logger.Error(err) - e.Error(500, err, fmt.Sprintf("路由模版解析失败!错误详情:%s", err.Error())) - return - } - t4, err := template.ParseFiles(basePath + "js.go.template") - if err != nil { - e.Logger.Error(err) - e.Error(500, err, fmt.Sprintf("js模版解析失败!错误详情:%s", err.Error())) - return - } - t5, err := template.ParseFiles(basePath + "vue.go.template") - if err != nil { - e.Logger.Error(err) - e.Error(500, err, fmt.Sprintf("vue模版解析失败!错误详情:%s", err.Error())) - return - } - t6, err := template.ParseFiles(basePath + "dto.go.template") - if err != nil { - e.Logger.Error(err) - e.Error(500, err, fmt.Sprintf("dto模版解析失败!错误详情:%s", err.Error())) - return - } - - _ = pkg.PathCreate("./app/" + tab.PackageName + "/models/") - _ = pkg.PathCreate("./app/" + tab.PackageName + "/router/") - _ = pkg.PathCreate("./app/" + tab.PackageName + "/service/dto/") - _ = pkg.PathCreate(config.GenConfig.FrontPath + "/api/") - _ = pkg.PathCreate(config.GenConfig.FrontPath + "/views/" + tab.ModuleFrontName) - - var b1 bytes.Buffer - err = t1.Execute(&b1, tab) - var b3 bytes.Buffer - err = t3.Execute(&b3, tab) - var b4 bytes.Buffer - err = t4.Execute(&b4, tab) - var b5 bytes.Buffer - err = t5.Execute(&b5, tab) - var b6 bytes.Buffer - err = t6.Execute(&b6, tab) - - pkg.FileCreate(b1, "./app/"+tab.PackageName+"/models/"+tab.ModuleName+".go") - pkg.FileCreate(b3, "./app/"+tab.PackageName+"/router/"+tab.ModuleName+".go") - pkg.FileCreate(b4, config.GenConfig.FrontPath+"/api/"+tab.ModuleFrontName+".js") - pkg.FileCreate(b5, config.GenConfig.FrontPath+"/views/"+tab.ModuleFrontName+"/index.vue") - pkg.FileCreate(b6, "./app/"+tab.PackageName+"/service/dto/"+tab.ModuleName+".go") -} - func (e Gen) GenMenuAndApi(c *gin.Context) { s := service.SysMenu{} err := e.MakeContext(c). @@ -378,13 +302,13 @@ func (e Gen) GenMenuAndApi(c *gin.Context) { } table.TableId = id - tab, _ := table.Get(e.Orm) + tab, _ := table.Get(e.Orm,true) tab.MLTBName = strings.Replace(tab.TBName, "_", "-", -1) Mmenu := dto.SysMenuControl{} Mmenu.Title = tab.TableComment Mmenu.Icon = "pass" - Mmenu.Path = "/" +tab.MLTBName + Mmenu.Path = "/" + tab.MLTBName Mmenu.MenuType = "M" Mmenu.Action = "无" Mmenu.ParentId = 0 @@ -403,7 +327,7 @@ func (e Gen) GenMenuAndApi(c *gin.Context) { Cmenu.Path = "/" + tab.PackageName + "/" + tab.MLTBName Cmenu.MenuType = "C" Cmenu.Action = "无" - Cmenu.Permission = tab.PackageName + ":" + tab.ModuleFrontName + ":list" + Cmenu.Permission = tab.PackageName + ":" + tab.BusinessName + ":list" Cmenu.ParentId = Mmenu.MenuId Cmenu.NoCache = false Cmenu.Component = "/" + tab.PackageName + "/" + tab.MLTBName + "/index" @@ -421,7 +345,7 @@ func (e Gen) GenMenuAndApi(c *gin.Context) { MList.Path = tab.TBName MList.MenuType = "F" MList.Action = "无" - MList.Permission = tab.PackageName + ":" + tab.ModuleFrontName + ":query" + MList.Permission = tab.PackageName + ":" + tab.BusinessName + ":query" MList.ParentId = Cmenu.MenuId MList.NoCache = false MList.Sort = 0 @@ -438,7 +362,7 @@ func (e Gen) GenMenuAndApi(c *gin.Context) { MCreate.Path = tab.TBName MCreate.MenuType = "F" MCreate.Action = "无" - MCreate.Permission = tab.PackageName + ":" + tab.ModuleFrontName + ":add" + MCreate.Permission = tab.PackageName + ":" + tab.BusinessName + ":add" MCreate.ParentId = Cmenu.MenuId MCreate.NoCache = false MCreate.Sort = 0 @@ -455,7 +379,7 @@ func (e Gen) GenMenuAndApi(c *gin.Context) { MUpdate.Path = tab.TBName MUpdate.MenuType = "F" MUpdate.Action = "无" - MUpdate.Permission = tab.PackageName + ":" + tab.ModuleFrontName + ":edit" + MUpdate.Permission = tab.PackageName + ":" + tab.BusinessName + ":edit" MUpdate.ParentId = Cmenu.MenuId MUpdate.NoCache = false MUpdate.Sort = 0 @@ -472,7 +396,7 @@ func (e Gen) GenMenuAndApi(c *gin.Context) { MDelete.Path = tab.TBName MDelete.MenuType = "F" MDelete.Action = "无" - MDelete.Permission = tab.PackageName + ":" + tab.ModuleFrontName + ":remove" + MDelete.Permission = tab.PackageName + ":" + tab.BusinessName + ":remove" MDelete.ParentId = Cmenu.MenuId MDelete.NoCache = false MDelete.Sort = 0 diff --git a/app/other/apis/tools/sys_tables.go b/app/other/apis/tools/sys_tables.go index 03a5d95e..ea7dee7b 100644 --- a/app/other/apis/tools/sys_tables.go +++ b/app/other/apis/tools/sys_tables.go @@ -79,7 +79,7 @@ func (e SysTable) Get(c *gin.Context) { var data tools.SysTables data.TableId, _ = pkg.StringToInt(c.Param("tableId")) - result, err := data.Get(db) + result, err := data.Get(db,true) if err != nil { log.Errorf("Get error, %s", err.Error()) e.Error(500, err, "") @@ -106,7 +106,7 @@ func (e SysTable) GetSysTablesInfo(c *gin.Context) { if c.Request.FormValue("tableName") != "" { data.TBName = c.Request.FormValue("tableName") } - result, err := data.Get(db) + result, err := data.Get(db,true) if err != nil { log.Errorf("Get error, %s", err.Error()) e.Error(500, err, "抱歉未找到相关信息") @@ -202,15 +202,23 @@ func genTableInit(tx *gorm.DB, tablesList []string, i int, c *gin.Context) (tool for i := 0; i < len(tablenamelist); i++ { strStart := string([]byte(tablenamelist[i])[:1]) strend := string([]byte(tablenamelist[i])[1:]) + // 大驼峰表名 结构体使用 data.ClassName += strings.ToUpper(strStart) + strend + // 小驼峰表名 js函数名和权限标识使用 + if i == 0 { + data.BusinessName += strings.ToLower(strStart) + strend + } else { + data.BusinessName += strings.ToUpper(strStart) + strend + } //data.PackageName += strings.ToLower(strStart) + strings.ToLower(strend) - data.ModuleName += strings.ToLower(strStart) + strings.ToLower(strend) + //data.ModuleName += strings.ToLower(strStart) + strings.ToLower(strend) } - data.ModuleFrontName = strings.ReplaceAll(data.ModuleName, "_", "-") + //data.ModuleFrontName = strings.ReplaceAll(data.ModuleName, "_", "-") data.PackageName = "admin" data.TplCategory = "crud" data.Crud = true - + // 中横线表名称,接口路径、前端文件夹名称和js名称使用 + data.ModuleName = strings.Replace(data.TBName, "_", "-", -1) dbcolumn, err := dbColumn.GetList(tx) data.CreateBy = 0 data.TableComment = dbtable.TableComment @@ -219,7 +227,7 @@ func genTableInit(tx *gorm.DB, tablesList []string, i int, c *gin.Context) (tool } data.FunctionName = data.TableComment - data.BusinessName = data.ModuleName + //data.BusinessName = data.ModuleName data.IsLogicalDelete = "1" data.LogicalDelete = true data.LogicalDeleteColumn = "is_del" @@ -350,4 +358,4 @@ func (e SysTable) Delete(c *gin.Context) { return } e.OK(nil, "删除成功") -} \ No newline at end of file +} diff --git a/app/other/models/tools/sys_columns.go b/app/other/models/tools/sys_columns.go index 13ebf174..34fe27c7 100644 --- a/app/other/models/tools/sys_columns.go +++ b/app/other/models/tools/sys_columns.go @@ -6,43 +6,43 @@ import ( ) type SysColumns struct { - ColumnId int `gorm:"primaryKey;autoIncrement" json:"columnId"` - TableId int `gorm:"" json:"tableId"` - ColumnName string `gorm:"size:128;" json:"columnName"` - ColumnComment string `gorm:"column:column_comment;size:128;" json:"columnComment"` - ColumnType string `gorm:"column:column_type;size:128;" json:"columnType"` - GoType string `gorm:"column:go_type;size:128;" json:"goType"` - GoField string `gorm:"column:go_field;size:128;" json:"goField"` - JsonField string `gorm:"column:json_field;size:128;" json:"jsonField"` - IsPk string `gorm:"column:is_pk;size:4;" json:"isPk"` - IsIncrement string `gorm:"column:is_increment;size:4;" json:"isIncrement"` - IsRequired string `gorm:"column:is_required;size:4;" json:"isRequired"` - IsInsert string `gorm:"column:is_insert;size:4;" json:"isInsert"` - IsEdit string `gorm:"column:is_edit;size:4;" json:"isEdit"` - IsList string `gorm:"column:is_list;size:4;" json:"isList"` - IsQuery string `gorm:"column:is_query;size:4;" json:"isQuery"` - QueryType string `gorm:"column:query_type;size:128;" json:"queryType"` - HtmlType string `gorm:"column:html_type;size:128;" json:"htmlType"` - DictType string `gorm:"column:dict_type;size:128;" json:"dictType"` - Sort int `gorm:"column:sort;" json:"sort"` - List string `gorm:"column:list;size:1;" json:"list"` - Pk bool `gorm:"column:pk;size:1;" json:"pk"` - Required bool `gorm:"column:required;size:1;" json:"required"` - SuperColumn bool `gorm:"column:super_column;size:1;" json:"superColumn"` - UsableColumn bool `gorm:"column:usable_column;size:1;" json:"usableColumn"` - Increment bool `gorm:"column:increment;size:1;" json:"increment"` - Insert bool `gorm:"column:insert;size:1;" json:"insert"` - Edit bool `gorm:"column:edit;size:1;" json:"edit"` - Query bool `gorm:"column:query;size:1;" json:"query"` - Remark string `gorm:"column:remark;size:255;" json:"remark"` - FkTableName string `gorm:"" json:"fkTableName"` - FkTableNameClass string `gorm:"" json:"fkTableNameClass"` - FkTableNamePackage string `gorm:"" json:"fkTableNamePackage"` - FkCol []SysColumns `gorm:"-" json:"fkCol"` - FkLabelId string `gorm:"" json:"fkLabelId"` - FkLabelName string `gorm:"size:255;" json:"fkLabelName"` - CreateBy int `gorm:"column:create_by;size:20;" json:"createBy"` - UpdateBy int `gorm:"column:update_By;size:20;" json:"updateBy"` + ColumnId int `gorm:"primaryKey;autoIncrement" json:"columnId"` + TableId int `gorm:"" json:"tableId"` + ColumnName string `gorm:"size:128;" json:"columnName"` + ColumnComment string `gorm:"column:column_comment;size:128;" json:"columnComment"` + ColumnType string `gorm:"column:column_type;size:128;" json:"columnType"` + GoType string `gorm:"column:go_type;size:128;" json:"goType"` + GoField string `gorm:"column:go_field;size:128;" json:"goField"` + JsonField string `gorm:"column:json_field;size:128;" json:"jsonField"` + IsPk string `gorm:"column:is_pk;size:4;" json:"isPk"` + IsIncrement string `gorm:"column:is_increment;size:4;" json:"isIncrement"` + IsRequired string `gorm:"column:is_required;size:4;" json:"isRequired"` + IsInsert string `gorm:"column:is_insert;size:4;" json:"isInsert"` + IsEdit string `gorm:"column:is_edit;size:4;" json:"isEdit"` + IsList string `gorm:"column:is_list;size:4;" json:"isList"` + IsQuery string `gorm:"column:is_query;size:4;" json:"isQuery"` + QueryType string `gorm:"column:query_type;size:128;" json:"queryType"` + HtmlType string `gorm:"column:html_type;size:128;" json:"htmlType"` + DictType string `gorm:"column:dict_type;size:128;" json:"dictType"` + Sort int `gorm:"column:sort;" json:"sort"` + List string `gorm:"column:list;size:1;" json:"list"` + Pk bool `gorm:"column:pk;size:1;" json:"pk"` + Required bool `gorm:"column:required;size:1;" json:"required"` + SuperColumn bool `gorm:"column:super_column;size:1;" json:"superColumn"` + UsableColumn bool `gorm:"column:usable_column;size:1;" json:"usableColumn"` + Increment bool `gorm:"column:increment;size:1;" json:"increment"` + Insert bool `gorm:"column:insert;size:1;" json:"insert"` + Edit bool `gorm:"column:edit;size:1;" json:"edit"` + Query bool `gorm:"column:query;size:1;" json:"query"` + Remark string `gorm:"column:remark;size:255;" json:"remark"` + FkTableName string `gorm:"" json:"fkTableName"` + FkTableNameClass string `gorm:"" json:"fkTableNameClass"` + FkTableNamePackage string `gorm:"" json:"fkTableNamePackage"` + FkCol []SysColumns `gorm:"-" json:"fkCol"` + FkLabelId string `gorm:"" json:"fkLabelId"` + FkLabelName string `gorm:"size:255;" json:"fkLabelName"` + CreateBy int `gorm:"column:create_by;size:20;" json:"createBy"` + UpdateBy int `gorm:"column:update_By;size:20;" json:"updateBy"` models.BaseModel } @@ -51,12 +51,20 @@ func (SysColumns) TableName() string { return "sys_columns" } -func (e *SysColumns) GetList(tx *gorm.DB) ([]SysColumns, error) { +func (e *SysColumns) GetList(tx *gorm.DB, exclude bool) ([]SysColumns, error) { var doc []SysColumns - table := tx.Table("sys_columns") - - table = table.Where("table_id = ?", e.TableId) + table = table.Where("table_id = ? ", e.TableId) + if exclude { + notIn := make([]string, 6) + notIn = append(notIn, "id") + notIn = append(notIn, "create_by") + notIn = append(notIn, "update_by") + notIn = append(notIn, "created_at") + notIn = append(notIn, "updated_at") + notIn = append(notIn, "deleted_at") + table = table.Where(" column_name not in(?)", notIn) + } if err := table.Find(&doc).Error; err != nil { return nil, err diff --git a/app/other/models/tools/sys_tables.go b/app/other/models/tools/sys_tables.go index fa808bb0..42674027 100644 --- a/app/other/models/tools/sys_tables.go +++ b/app/other/models/tools/sys_tables.go @@ -78,7 +78,7 @@ func (e *SysTables) GetPage(tx *gorm.DB, pageSize int, pageIndex int) ([]SysTabl return doc, int(count), nil } -func (e *SysTables) Get(tx *gorm.DB) (SysTables, error) { +func (e *SysTables) Get(tx *gorm.DB, exclude bool) (SysTables, error) { var doc SysTables var err error table := tx.Table("sys_tables") @@ -98,7 +98,7 @@ func (e *SysTables) Get(tx *gorm.DB) (SysTables, error) { } var col SysColumns col.TableId = doc.TableId - if doc.Columns, err = col.GetList(tx); err != nil { + if doc.Columns, err = col.GetList(tx, exclude); err != nil { return doc, err } @@ -127,7 +127,7 @@ func (e *SysTables) GetTree(tx *gorm.DB) ([]SysTables, error) { var col SysColumns //col.FkCol = append(col.FkCol, SysColumns{ColumnId: 0, ColumnName: "请选择"}) col.TableId = doc[i].TableId - if doc[i].Columns, err = col.GetList(tx); err != nil { + if doc[i].Columns, err = col.GetList(tx, false); err != nil { return doc, err } diff --git a/template/v4/dto.go.template b/template/v4/dto.go.template index 93e52b29..1aa5bfe4 100644 --- a/template/v4/dto.go.template +++ b/template/v4/dto.go.template @@ -20,7 +20,7 @@ import ( {{- end }} ) -type {{.ClassName}}Search struct { +type {{.ClassName}}GetPageReq struct { dto.Pagination `search:"-"` {{- $tablename := .TBName -}} {{- range .Columns -}} @@ -39,15 +39,15 @@ type {{.ClassName}}Order struct { {{ end }} } -func (m *{{.ClassName}}Search) GetNeedSearch() interface{} { +func (m *{{.ClassName}}GetPageReq) GetNeedSearch() interface{} { return *m } -type {{.ClassName}}Control struct { +type {{.ClassName}}InsertReq struct { {{- range .Columns -}} {{$x := .Pk}} {{- if ($x) }} - {{.GoField}} {{.GoType}} `uri:"{{.JsonField}}" comment:"{{.ColumnComment}}"` // {{.ColumnComment}} + {{.GoField}} {{.GoType}} `json:"-" comment:"{{.ColumnComment}}"` // {{.ColumnComment}} {{- else if eq .GoField "CreatedAt" -}} {{- else if eq .GoField "UpdatedAt" -}} {{- else if eq .GoField "DeletedAt" -}} @@ -60,7 +60,7 @@ type {{.ClassName}}Control struct { common.ControlBy } -func (s *{{.ClassName}}Control) Generate(model *models.{{.ClassName}}) { +func (s *{{.ClassName}}InsertReq) Generate(model *models.{{.ClassName}}) { {{- range .Columns -}} {{$x := .Pk}} {{- if ($x) }} @@ -78,25 +78,67 @@ func (s *{{.ClassName}}Control) Generate(model *models.{{.ClassName}}) { {{- end }} } -func (s *{{.ClassName}}Control) GetId() interface{} { +func (s *{{.ClassName}}InsertReq) GetId() interface{} { return s.{{.PkGoField}} } -type {{.ClassName}}ById struct { - Id int `uri:"id"` - Ids []int `json:"ids"` +type {{.ClassName}}UpdateReq struct { + {{- range .Columns -}} + {{$x := .Pk}} + {{- if ($x) }} + {{.GoField}} {{.GoType}} `uri:"{{.JsonField}}" comment:"{{.ColumnComment}}"` // {{.ColumnComment}} + {{- else if eq .GoField "CreatedAt" -}} + {{- else if eq .GoField "UpdatedAt" -}} + {{- else if eq .GoField "DeletedAt" -}} + {{- else if eq .GoField "CreateBy" -}} + {{- else if eq .GoField "UpdateBy" -}} + {{- else }} + {{.GoField}} {{.GoType}} `json:"{{.JsonField}}" comment:"{{.ColumnComment}}"` + {{- end -}} + {{- end }} common.ControlBy } -func (s *{{.ClassName}}ById) GetId() interface{} { - if len(s.Ids) > 0 { - s.Ids = append(s.Ids, s.Id) - return s.Ids - } - return s.Id +func (s *{{.ClassName}}UpdateReq) Generate(model *models.{{.ClassName}}) { + {{- range .Columns -}} + {{$x := .Pk}} + {{- if ($x) }} + if s.{{.GoField}} == 0 { + model.Model = common.Model{ {{.GoField}}: s.{{.GoField}} } + } + {{- else if eq .GoField "CreatedAt" -}} + {{- else if eq .GoField "UpdatedAt" -}} + {{- else if eq .GoField "DeletedAt" -}} + {{- else if eq .GoField "CreateBy" -}} + {{- else if eq .GoField "UpdateBy" -}} + {{- else }} + model.{{.GoField}} = s.{{.GoField}} + {{- end -}} + {{- end }} } -func (s *{{.ClassName}}ById) Generate() *{{.ClassName}}ById { - o := *s - return &o +func (s *{{.ClassName}}UpdateReq) GetId() interface{} { + return s.{{.PkGoField}} +} + +// {{.ClassName}}GetReq 功能获取请求参数 +type {{.ClassName}}GetReq struct { + {{- range .Columns -}} + {{$x := .Pk}} + {{- if ($x) }} + {{.GoField}} {{.GoType}} `uri:"{{.JsonField}}"` + {{- end }} + {{- end }} +} +func (s *{{.ClassName}}GetReq) GetId() interface{} { + return s.{{.PkGoField}} +} + +// {{.ClassName}}DeleteReq 功能删除请求参数 +type {{.ClassName}}DeleteReq struct { + Ids []int `json:"ids"` +} + +func (s *{{.ClassName}}DeleteReq) GetId() interface{} { + return s.Ids } \ No newline at end of file diff --git a/template/v4/js.go.template b/template/v4/js.go.template index ff980fc8..db3d4a27 100644 --- a/template/v4/js.go.template +++ b/template/v4/js.go.template @@ -3,7 +3,7 @@ import request from '@/utils/request' // 查询{{.ClassName}}列表 export function list{{.ClassName}}(query) { return request({ - url: '/api/v1/{{.MLTBName}}', + url: '/api/v1/{{.ModuleName}}', method: 'get', params: query }) @@ -12,7 +12,7 @@ export function list{{.ClassName}}(query) { // 查询{{.ClassName}}详细 export function get{{.ClassName}} ({{.PkJsonField}}) { return request({ - url: '/api/v1/{{.MLTBName}}/' + {{.PkJsonField}}, + url: '/api/v1/{{.ModuleName}}/' + {{.PkJsonField}}, method: 'get' }) } @@ -21,7 +21,7 @@ export function get{{.ClassName}} ({{.PkJsonField}}) { // 新增{{.ClassName}} export function add{{.ClassName}}(data) { return request({ - url: '/api/v1/{{.MLTBName}}', + url: '/api/v1/{{.ModuleName}}', method: 'post', data: data }) @@ -30,7 +30,7 @@ export function add{{.ClassName}}(data) { // 修改{{.ClassName}} export function update{{.ClassName}}(data) { return request({ - url: '/api/v1/{{.MLTBName}}/'+data.{{.PkJsonField}}, + url: '/api/v1/{{.ModuleName}}/'+data.{{.PkJsonField}}, method: 'put', data: data }) @@ -39,7 +39,7 @@ export function update{{.ClassName}}(data) { // 删除{{.ClassName}} export function del{{.ClassName}}(data) { return request({ - url: '/api/v1/{{.MLTBName}}', + url: '/api/v1/{{.ModuleName}}', method: 'delete', data: data }) diff --git a/template/v4/no_actions/apis.go.template b/template/v4/no_actions/apis.go.template index 1bfdcf95..08c09268 100644 --- a/template/v4/no_actions/apis.go.template +++ b/template/v4/no_actions/apis.go.template @@ -3,7 +3,6 @@ package apis import ( "fmt" - "github.com/gin-gonic/gin/binding" "github.com/gin-gonic/gin" "github.com/go-admin-team/go-admin-core/sdk/api" "github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth/user" @@ -36,11 +35,11 @@ type {{.ClassName}} struct { // @Router /api/v1/{{.ModuleName}} [get] // @Security Bearer func (e {{.ClassName}}) GetPage(c *gin.Context) { - req := dto.{{.ClassName}}Search{} + req := dto.{{.ClassName}}GetPageReq{} s := service.{{.ClassName}}{} err := e.MakeContext(c). MakeOrm(). - Bind(&req, binding.Form). + Bind(&req). MakeService(&s.Service). Errors if err != nil { @@ -71,11 +70,11 @@ func (e {{.ClassName}}) GetPage(c *gin.Context) { // @Router /api/v1/{{.ModuleName}}/{id} [get] // @Security Bearer func (e {{.ClassName}}) Get(c *gin.Context) { - req := dto.{{.ClassName}}ById{} + req := dto.{{.ClassName}}GetReq{} s := service.{{.ClassName}}{} err := e.MakeContext(c). MakeOrm(). - Bind(&req, nil). + Bind(&req). MakeService(&s.Service). Errors if err != nil { @@ -101,16 +100,16 @@ func (e {{.ClassName}}) Get(c *gin.Context) { // @Tags {{.TableComment}} // @Accept application/json // @Product application/json -// @Param data body dto.{{.ClassName}}Control true "data" +// @Param data body dto.{{.ClassName}}InsertReq true "data" // @Success 200 {object} response.Response "{"code": 200, "message": "添加成功"}" // @Router /api/v1/{{.ModuleName}} [post] // @Security Bearer func (e {{.ClassName}}) Insert(c *gin.Context) { - req := dto.{{.ClassName}}Control{} + req := dto.{{.ClassName}}InsertReq{} s := service.{{.ClassName}}{} err := e.MakeContext(c). MakeOrm(). - Bind(&req, binding.JSON). + Bind(&req). MakeService(&s.Service). Errors if err != nil { @@ -136,16 +135,16 @@ func (e {{.ClassName}}) Insert(c *gin.Context) { // @Tags {{.TableComment}} // @Accept application/json // @Product application/json -// @Param data body dto.{{.ClassName}}Control true "body" +// @Param data body dto.{{.ClassName}}UpdateReq true "body" // @Success 200 {object} response.Response "{"code": 200, "message": "修改成功"}" // @Router /api/v1/{{.ModuleName}}/{id} [put] // @Security Bearer func (e {{.ClassName}}) Update(c *gin.Context) { - req := dto.{{.ClassName}}Control{} + req := dto.{{.ClassName}}UpdateReq{} s := service.{{.ClassName}}{} err := e.MakeContext(c). MakeOrm(). - Bind(&req, binding.JSON, nil). + Bind(&req). MakeService(&s.Service). Errors if err != nil { @@ -174,10 +173,10 @@ func (e {{.ClassName}}) Update(c *gin.Context) { // @Security Bearer func (e {{.ClassName}}) Delete(c *gin.Context) { s := service.{{.ClassName}}{} - req := dto.{{.ClassName}}ById{} + req := dto.{{.ClassName}}DeleteReq{} err := e.MakeContext(c). MakeOrm(). - Bind(&req, binding.JSON). + Bind(&req). MakeService(&s.Service). Errors if err != nil { @@ -186,7 +185,7 @@ func (e {{.ClassName}}) Delete(c *gin.Context) { return } - req.SetUpdateBy(user.GetUserId(c)) + // req.SetUpdateBy(user.GetUserId(c)) p := actions.GetPermissionFromContext(c) err = s.Remove(&req, p) diff --git a/template/v4/no_actions/service.go.template b/template/v4/no_actions/service.go.template index 1aff47a3..8ab3ef6f 100644 --- a/template/v4/no_actions/service.go.template +++ b/template/v4/no_actions/service.go.template @@ -17,7 +17,7 @@ type {{.ClassName}} struct { } // GetPage 获取{{.ClassName}}列表 -func (e *{{.ClassName}}) GetPage(c *dto.{{.ClassName}}Search, p *actions.DataPermission, list *[]models.{{.ClassName}}, count *int64) error { +func (e *{{.ClassName}}) GetPage(c *dto.{{.ClassName}}GetPageReq, p *actions.DataPermission, list *[]models.{{.ClassName}}, count *int64) error { var err error var data models.{{.ClassName}} @@ -37,7 +37,7 @@ func (e *{{.ClassName}}) GetPage(c *dto.{{.ClassName}}Search, p *actions.DataPer } // Get 获取{{.ClassName}}对象 -func (e *{{.ClassName}}) Get(d *dto.{{.ClassName}}ById, p *actions.DataPermission, model *models.{{.ClassName}}) error { +func (e *{{.ClassName}}) Get(d *dto.{{.ClassName}}GetReq, p *actions.DataPermission, model *models.{{.ClassName}}) error { var data models.{{.ClassName}} err := e.Orm.Model(&data). @@ -58,7 +58,7 @@ func (e *{{.ClassName}}) Get(d *dto.{{.ClassName}}ById, p *actions.DataPermissio } // Insert 创建{{.ClassName}}对象 -func (e *{{.ClassName}}) Insert(c *dto.{{.ClassName}}Control) error { +func (e *{{.ClassName}}) Insert(c *dto.{{.ClassName}}InsertReq) error { var err error var data models.{{.ClassName}} c.Generate(&data) @@ -71,7 +71,7 @@ func (e *{{.ClassName}}) Insert(c *dto.{{.ClassName}}Control) error { } // Update 修改{{.ClassName}}对象 -func (e *{{.ClassName}}) Update(c *dto.{{.ClassName}}Control, p *actions.DataPermission) error { +func (e *{{.ClassName}}) Update(c *dto.{{.ClassName}}UpdateReq, p *actions.DataPermission) error { var err error var data = models.{{.ClassName}}{} e.Orm.Scopes( @@ -86,13 +86,12 @@ func (e *{{.ClassName}}) Update(c *dto.{{.ClassName}}Control, p *actions.DataPer } if db.RowsAffected == 0 { return errors.New("无权更新该数据") - } return nil } // Remove 删除{{.ClassName}} -func (e *{{.ClassName}}) Remove(d *dto.{{.ClassName}}ById, p *actions.DataPermission) error { +func (e *{{.ClassName}}) Remove(d *dto.{{.ClassName}}DeleteReq, p *actions.DataPermission) error { var data models.{{.ClassName}} db := e.Orm.Model(&data). diff --git a/template/v4/vue.go.template b/template/v4/vue.go.template index be1a68dc..3db9bfcd 100644 --- a/template/v4/vue.go.template +++ b/template/v4/vue.go.template @@ -78,7 +78,7 @@ - + {{- range .Columns -}} {{- $x := .IsList -}} @@ -260,7 +260,7 @@ isEdit: false, // 类型数据字典 typeOptions: [], - {{.ModuleName}}List: [], + {{.BusinessName}}List: [], {{range .Columns}} {{- if ne .DictType "" -}} {{.JsonField}}Options: [], @@ -314,7 +314,7 @@ getList() { this.loading = true list{{.ClassName}}(this.addDateRange(this.queryParams, this.dateRange)).then(response => { - this.{{.ModuleName}}List = response.data.list + this.{{.BusinessName}}List = response.data.list this.total = response.data.count this.loading = false }