feat: vue-cli@3 升级为 vue-cli@4、Change Node Sass to Dart Sass、代码生成工具

1. vue-cli@3 升级为 vue-cli@4
2. Change Node Sass to Dart Sass
3. 代码生成工具
This commit is contained in:
zhangwenjian
2021-07-04 05:46:20 +08:00
parent 5368cfbcb8
commit 37d318b4d9
10 changed files with 168 additions and 188 deletions
+2 -2
View File
@@ -92,7 +92,7 @@ func (e SysApi) Get(c *gin.Context) {
// @Tags 接口管理 // @Tags 接口管理
// @Accept application/json // @Accept application/json
// @Product 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": "修改成功"}" // @Success 200 {object} response.Response "{"code": 200, "message": "修改成功"}"
// @Router /api/v1/sys-api/{id} [put] // @Router /api/v1/sys-api/{id} [put]
// @Security Bearer // @Security Bearer
@@ -122,7 +122,7 @@ func (e SysApi) Update(c *gin.Context) {
// @Summary 删除接口管理 // @Summary 删除接口管理
// @Description 删除接口管理 // @Description 删除接口管理
// @Tags 接口管理 // @Tags 接口管理
// @Param ids body []int false "ids" // @Param data body dto.SysApiDeleteReq true "body"
// @Success 200 {object} response.Response "{"code": 200, "message": "删除成功"}" // @Success 200 {object} response.Response "{"code": 200, "message": "删除成功"}"
// @Router /api/v1/sys-api [delete] // @Router /api/v1/sys-api [delete]
// @Security Bearer // @Security Bearer
+13 -89
View File
@@ -83,7 +83,7 @@ func (e Gen) Preview(c *gin.Context) {
return return
} }
tab, _ := table.Get(db) tab, _ := table.Get(db,false)
var b1 bytes.Buffer var b1 bytes.Buffer
err = t1.Execute(&b1, tab) err = t1.Execute(&b1, tab)
var b2 bytes.Buffer var b2 bytes.Buffer
@@ -129,13 +129,9 @@ func (e Gen) GenCode(c *gin.Context) {
} }
table.TableId = id table.TableId = id
tab, _ := table.Get(db) tab, _ := table.Get(db,false)
if tab.IsActions == 1 { e.NOActionsGen(c, tab)
e.ActionsGen(c, tab)
} else {
e.NOActionsGen(c, tab)
}
e.OK("", "Code generated successfully") e.OK("", "Code generated successfully")
} }
@@ -159,7 +155,7 @@ func (e Gen) GenApiToFile(c *gin.Context) {
} }
table.TableId = id table.TableId = id
tab, _ := table.Get(db) tab, _ := table.Get(db,false)
e.genApiToFile(c, tab) e.genApiToFile(c, tab)
e.OK("", "Code generated successfully") 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 + "/models/")
_ = pkg.PathCreate("./app/" + tab.PackageName + "/router/") _ = pkg.PathCreate("./app/" + tab.PackageName + "/router/")
_ = pkg.PathCreate("./app/" + tab.PackageName + "/service/dto/") _ = pkg.PathCreate("./app/" + tab.PackageName + "/service/dto/")
_ = pkg.PathCreate(config.GenConfig.FrontPath + "/api/" + tab.PackageName+ "/") _ = pkg.PathCreate(config.GenConfig.FrontPath + "/api/" + tab.PackageName + "/")
err = pkg.PathCreate(config.GenConfig.FrontPath + "/views/" + tab.PackageName + "/" + tab.MLTBName+ "/") err = pkg.PathCreate(config.GenConfig.FrontPath + "/views/" + tab.PackageName + "/" + tab.MLTBName + "/")
if err != nil { if err != nil {
log.Error(err) log.Error(err)
e.Error(500, err, fmt.Sprintf("views目录创建失败!错误详情:%s", err.Error())) 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) { func (e Gen) GenMenuAndApi(c *gin.Context) {
s := service.SysMenu{} s := service.SysMenu{}
err := e.MakeContext(c). err := e.MakeContext(c).
@@ -378,13 +302,13 @@ func (e Gen) GenMenuAndApi(c *gin.Context) {
} }
table.TableId = id table.TableId = id
tab, _ := table.Get(e.Orm) tab, _ := table.Get(e.Orm,true)
tab.MLTBName = strings.Replace(tab.TBName, "_", "-", -1) tab.MLTBName = strings.Replace(tab.TBName, "_", "-", -1)
Mmenu := dto.SysMenuControl{} Mmenu := dto.SysMenuControl{}
Mmenu.Title = tab.TableComment Mmenu.Title = tab.TableComment
Mmenu.Icon = "pass" Mmenu.Icon = "pass"
Mmenu.Path = "/" +tab.MLTBName Mmenu.Path = "/" + tab.MLTBName
Mmenu.MenuType = "M" Mmenu.MenuType = "M"
Mmenu.Action = "无" Mmenu.Action = "无"
Mmenu.ParentId = 0 Mmenu.ParentId = 0
@@ -403,7 +327,7 @@ func (e Gen) GenMenuAndApi(c *gin.Context) {
Cmenu.Path = "/" + tab.PackageName + "/" + tab.MLTBName Cmenu.Path = "/" + tab.PackageName + "/" + tab.MLTBName
Cmenu.MenuType = "C" Cmenu.MenuType = "C"
Cmenu.Action = "无" Cmenu.Action = "无"
Cmenu.Permission = tab.PackageName + ":" + tab.ModuleFrontName + ":list" Cmenu.Permission = tab.PackageName + ":" + tab.BusinessName + ":list"
Cmenu.ParentId = Mmenu.MenuId Cmenu.ParentId = Mmenu.MenuId
Cmenu.NoCache = false Cmenu.NoCache = false
Cmenu.Component = "/" + tab.PackageName + "/" + tab.MLTBName + "/index" Cmenu.Component = "/" + tab.PackageName + "/" + tab.MLTBName + "/index"
@@ -421,7 +345,7 @@ func (e Gen) GenMenuAndApi(c *gin.Context) {
MList.Path = tab.TBName MList.Path = tab.TBName
MList.MenuType = "F" MList.MenuType = "F"
MList.Action = "无" MList.Action = "无"
MList.Permission = tab.PackageName + ":" + tab.ModuleFrontName + ":query" MList.Permission = tab.PackageName + ":" + tab.BusinessName + ":query"
MList.ParentId = Cmenu.MenuId MList.ParentId = Cmenu.MenuId
MList.NoCache = false MList.NoCache = false
MList.Sort = 0 MList.Sort = 0
@@ -438,7 +362,7 @@ func (e Gen) GenMenuAndApi(c *gin.Context) {
MCreate.Path = tab.TBName MCreate.Path = tab.TBName
MCreate.MenuType = "F" MCreate.MenuType = "F"
MCreate.Action = "无" MCreate.Action = "无"
MCreate.Permission = tab.PackageName + ":" + tab.ModuleFrontName + ":add" MCreate.Permission = tab.PackageName + ":" + tab.BusinessName + ":add"
MCreate.ParentId = Cmenu.MenuId MCreate.ParentId = Cmenu.MenuId
MCreate.NoCache = false MCreate.NoCache = false
MCreate.Sort = 0 MCreate.Sort = 0
@@ -455,7 +379,7 @@ func (e Gen) GenMenuAndApi(c *gin.Context) {
MUpdate.Path = tab.TBName MUpdate.Path = tab.TBName
MUpdate.MenuType = "F" MUpdate.MenuType = "F"
MUpdate.Action = "无" MUpdate.Action = "无"
MUpdate.Permission = tab.PackageName + ":" + tab.ModuleFrontName + ":edit" MUpdate.Permission = tab.PackageName + ":" + tab.BusinessName + ":edit"
MUpdate.ParentId = Cmenu.MenuId MUpdate.ParentId = Cmenu.MenuId
MUpdate.NoCache = false MUpdate.NoCache = false
MUpdate.Sort = 0 MUpdate.Sort = 0
@@ -472,7 +396,7 @@ func (e Gen) GenMenuAndApi(c *gin.Context) {
MDelete.Path = tab.TBName MDelete.Path = tab.TBName
MDelete.MenuType = "F" MDelete.MenuType = "F"
MDelete.Action = "无" MDelete.Action = "无"
MDelete.Permission = tab.PackageName + ":" + tab.ModuleFrontName + ":remove" MDelete.Permission = tab.PackageName + ":" + tab.BusinessName + ":remove"
MDelete.ParentId = Cmenu.MenuId MDelete.ParentId = Cmenu.MenuId
MDelete.NoCache = false MDelete.NoCache = false
MDelete.Sort = 0 MDelete.Sort = 0
+15 -7
View File
@@ -79,7 +79,7 @@ func (e SysTable) Get(c *gin.Context) {
var data tools.SysTables var data tools.SysTables
data.TableId, _ = pkg.StringToInt(c.Param("tableId")) data.TableId, _ = pkg.StringToInt(c.Param("tableId"))
result, err := data.Get(db) result, err := data.Get(db,true)
if err != nil { if err != nil {
log.Errorf("Get error, %s", err.Error()) log.Errorf("Get error, %s", err.Error())
e.Error(500, err, "") e.Error(500, err, "")
@@ -106,7 +106,7 @@ func (e SysTable) GetSysTablesInfo(c *gin.Context) {
if c.Request.FormValue("tableName") != "" { if c.Request.FormValue("tableName") != "" {
data.TBName = c.Request.FormValue("tableName") data.TBName = c.Request.FormValue("tableName")
} }
result, err := data.Get(db) result, err := data.Get(db,true)
if err != nil { if err != nil {
log.Errorf("Get error, %s", err.Error()) log.Errorf("Get error, %s", err.Error())
e.Error(500, err, "抱歉未找到相关信息") 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++ { for i := 0; i < len(tablenamelist); i++ {
strStart := string([]byte(tablenamelist[i])[:1]) strStart := string([]byte(tablenamelist[i])[:1])
strend := string([]byte(tablenamelist[i])[1:]) strend := string([]byte(tablenamelist[i])[1:])
// 大驼峰表名 结构体使用
data.ClassName += strings.ToUpper(strStart) + strend 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.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.PackageName = "admin"
data.TplCategory = "crud" data.TplCategory = "crud"
data.Crud = true data.Crud = true
// 中横线表名称,接口路径、前端文件夹名称和js名称使用
data.ModuleName = strings.Replace(data.TBName, "_", "-", -1)
dbcolumn, err := dbColumn.GetList(tx) dbcolumn, err := dbColumn.GetList(tx)
data.CreateBy = 0 data.CreateBy = 0
data.TableComment = dbtable.TableComment 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.FunctionName = data.TableComment
data.BusinessName = data.ModuleName //data.BusinessName = data.ModuleName
data.IsLogicalDelete = "1" data.IsLogicalDelete = "1"
data.LogicalDelete = true data.LogicalDelete = true
data.LogicalDeleteColumn = "is_del" data.LogicalDeleteColumn = "is_del"
@@ -350,4 +358,4 @@ func (e SysTable) Delete(c *gin.Context) {
return return
} }
e.OK(nil, "删除成功") e.OK(nil, "删除成功")
} }
+49 -41
View File
@@ -6,43 +6,43 @@ import (
) )
type SysColumns struct { type SysColumns struct {
ColumnId int `gorm:"primaryKey;autoIncrement" json:"columnId"` ColumnId int `gorm:"primaryKey;autoIncrement" json:"columnId"`
TableId int `gorm:"" json:"tableId"` TableId int `gorm:"" json:"tableId"`
ColumnName string `gorm:"size:128;" json:"columnName"` ColumnName string `gorm:"size:128;" json:"columnName"`
ColumnComment string `gorm:"column:column_comment;size:128;" json:"columnComment"` ColumnComment string `gorm:"column:column_comment;size:128;" json:"columnComment"`
ColumnType string `gorm:"column:column_type;size:128;" json:"columnType"` ColumnType string `gorm:"column:column_type;size:128;" json:"columnType"`
GoType string `gorm:"column:go_type;size:128;" json:"goType"` GoType string `gorm:"column:go_type;size:128;" json:"goType"`
GoField string `gorm:"column:go_field;size:128;" json:"goField"` GoField string `gorm:"column:go_field;size:128;" json:"goField"`
JsonField string `gorm:"column:json_field;size:128;" json:"jsonField"` JsonField string `gorm:"column:json_field;size:128;" json:"jsonField"`
IsPk string `gorm:"column:is_pk;size:4;" json:"isPk"` IsPk string `gorm:"column:is_pk;size:4;" json:"isPk"`
IsIncrement string `gorm:"column:is_increment;size:4;" json:"isIncrement"` IsIncrement string `gorm:"column:is_increment;size:4;" json:"isIncrement"`
IsRequired string `gorm:"column:is_required;size:4;" json:"isRequired"` IsRequired string `gorm:"column:is_required;size:4;" json:"isRequired"`
IsInsert string `gorm:"column:is_insert;size:4;" json:"isInsert"` IsInsert string `gorm:"column:is_insert;size:4;" json:"isInsert"`
IsEdit string `gorm:"column:is_edit;size:4;" json:"isEdit"` IsEdit string `gorm:"column:is_edit;size:4;" json:"isEdit"`
IsList string `gorm:"column:is_list;size:4;" json:"isList"` IsList string `gorm:"column:is_list;size:4;" json:"isList"`
IsQuery string `gorm:"column:is_query;size:4;" json:"isQuery"` IsQuery string `gorm:"column:is_query;size:4;" json:"isQuery"`
QueryType string `gorm:"column:query_type;size:128;" json:"queryType"` QueryType string `gorm:"column:query_type;size:128;" json:"queryType"`
HtmlType string `gorm:"column:html_type;size:128;" json:"htmlType"` HtmlType string `gorm:"column:html_type;size:128;" json:"htmlType"`
DictType string `gorm:"column:dict_type;size:128;" json:"dictType"` DictType string `gorm:"column:dict_type;size:128;" json:"dictType"`
Sort int `gorm:"column:sort;" json:"sort"` Sort int `gorm:"column:sort;" json:"sort"`
List string `gorm:"column:list;size:1;" json:"list"` List string `gorm:"column:list;size:1;" json:"list"`
Pk bool `gorm:"column:pk;size:1;" json:"pk"` Pk bool `gorm:"column:pk;size:1;" json:"pk"`
Required bool `gorm:"column:required;size:1;" json:"required"` Required bool `gorm:"column:required;size:1;" json:"required"`
SuperColumn bool `gorm:"column:super_column;size:1;" json:"superColumn"` SuperColumn bool `gorm:"column:super_column;size:1;" json:"superColumn"`
UsableColumn bool `gorm:"column:usable_column;size:1;" json:"usableColumn"` UsableColumn bool `gorm:"column:usable_column;size:1;" json:"usableColumn"`
Increment bool `gorm:"column:increment;size:1;" json:"increment"` Increment bool `gorm:"column:increment;size:1;" json:"increment"`
Insert bool `gorm:"column:insert;size:1;" json:"insert"` Insert bool `gorm:"column:insert;size:1;" json:"insert"`
Edit bool `gorm:"column:edit;size:1;" json:"edit"` Edit bool `gorm:"column:edit;size:1;" json:"edit"`
Query bool `gorm:"column:query;size:1;" json:"query"` Query bool `gorm:"column:query;size:1;" json:"query"`
Remark string `gorm:"column:remark;size:255;" json:"remark"` Remark string `gorm:"column:remark;size:255;" json:"remark"`
FkTableName string `gorm:"" json:"fkTableName"` FkTableName string `gorm:"" json:"fkTableName"`
FkTableNameClass string `gorm:"" json:"fkTableNameClass"` FkTableNameClass string `gorm:"" json:"fkTableNameClass"`
FkTableNamePackage string `gorm:"" json:"fkTableNamePackage"` FkTableNamePackage string `gorm:"" json:"fkTableNamePackage"`
FkCol []SysColumns `gorm:"-" json:"fkCol"` FkCol []SysColumns `gorm:"-" json:"fkCol"`
FkLabelId string `gorm:"" json:"fkLabelId"` FkLabelId string `gorm:"" json:"fkLabelId"`
FkLabelName string `gorm:"size:255;" json:"fkLabelName"` FkLabelName string `gorm:"size:255;" json:"fkLabelName"`
CreateBy int `gorm:"column:create_by;size:20;" json:"createBy"` CreateBy int `gorm:"column:create_by;size:20;" json:"createBy"`
UpdateBy int `gorm:"column:update_By;size:20;" json:"updateBy"` UpdateBy int `gorm:"column:update_By;size:20;" json:"updateBy"`
models.BaseModel models.BaseModel
} }
@@ -51,12 +51,20 @@ func (SysColumns) TableName() string {
return "sys_columns" 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 var doc []SysColumns
table := tx.Table("sys_columns") 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 { if err := table.Find(&doc).Error; err != nil {
return nil, err return nil, err
+3 -3
View File
@@ -78,7 +78,7 @@ func (e *SysTables) GetPage(tx *gorm.DB, pageSize int, pageIndex int) ([]SysTabl
return doc, int(count), nil 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 doc SysTables
var err error var err error
table := tx.Table("sys_tables") table := tx.Table("sys_tables")
@@ -98,7 +98,7 @@ func (e *SysTables) Get(tx *gorm.DB) (SysTables, error) {
} }
var col SysColumns var col SysColumns
col.TableId = doc.TableId 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 return doc, err
} }
@@ -127,7 +127,7 @@ func (e *SysTables) GetTree(tx *gorm.DB) ([]SysTables, error) {
var col SysColumns var col SysColumns
//col.FkCol = append(col.FkCol, SysColumns{ColumnId: 0, ColumnName: "请选择"}) //col.FkCol = append(col.FkCol, SysColumns{ColumnId: 0, ColumnName: "请选择"})
col.TableId = doc[i].TableId 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 return doc, err
} }
+60 -18
View File
@@ -20,7 +20,7 @@ import (
{{- end }} {{- end }}
) )
type {{.ClassName}}Search struct { type {{.ClassName}}GetPageReq struct {
dto.Pagination `search:"-"` dto.Pagination `search:"-"`
{{- $tablename := .TBName -}} {{- $tablename := .TBName -}}
{{- range .Columns -}} {{- range .Columns -}}
@@ -39,15 +39,15 @@ type {{.ClassName}}Order struct {
{{ end }} {{ end }}
} }
func (m *{{.ClassName}}Search) GetNeedSearch() interface{} { func (m *{{.ClassName}}GetPageReq) GetNeedSearch() interface{} {
return *m return *m
} }
type {{.ClassName}}Control struct { type {{.ClassName}}InsertReq struct {
{{- range .Columns -}} {{- range .Columns -}}
{{$x := .Pk}} {{$x := .Pk}}
{{- if ($x) }} {{- if ($x) }}
{{.GoField}} {{.GoType}} `uri:"{{.JsonField}}" comment:"{{.ColumnComment}}"` // {{.ColumnComment}} {{.GoField}} {{.GoType}} `json:"-" comment:"{{.ColumnComment}}"` // {{.ColumnComment}}
{{- else if eq .GoField "CreatedAt" -}} {{- else if eq .GoField "CreatedAt" -}}
{{- else if eq .GoField "UpdatedAt" -}} {{- else if eq .GoField "UpdatedAt" -}}
{{- else if eq .GoField "DeletedAt" -}} {{- else if eq .GoField "DeletedAt" -}}
@@ -60,7 +60,7 @@ type {{.ClassName}}Control struct {
common.ControlBy common.ControlBy
} }
func (s *{{.ClassName}}Control) Generate(model *models.{{.ClassName}}) { func (s *{{.ClassName}}InsertReq) Generate(model *models.{{.ClassName}}) {
{{- range .Columns -}} {{- range .Columns -}}
{{$x := .Pk}} {{$x := .Pk}}
{{- if ($x) }} {{- if ($x) }}
@@ -78,25 +78,67 @@ func (s *{{.ClassName}}Control) Generate(model *models.{{.ClassName}}) {
{{- end }} {{- end }}
} }
func (s *{{.ClassName}}Control) GetId() interface{} { func (s *{{.ClassName}}InsertReq) GetId() interface{} {
return s.{{.PkGoField}} return s.{{.PkGoField}}
} }
type {{.ClassName}}ById struct { type {{.ClassName}}UpdateReq struct {
Id int `uri:"id"` {{- range .Columns -}}
Ids []int `json:"ids"` {{$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 common.ControlBy
} }
func (s *{{.ClassName}}ById) GetId() interface{} { func (s *{{.ClassName}}UpdateReq) Generate(model *models.{{.ClassName}}) {
if len(s.Ids) > 0 { {{- range .Columns -}}
s.Ids = append(s.Ids, s.Id) {{$x := .Pk}}
return s.Ids {{- if ($x) }}
} if s.{{.GoField}} == 0 {
return s.Id 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 { func (s *{{.ClassName}}UpdateReq) GetId() interface{} {
o := *s return s.{{.PkGoField}}
return &o }
// {{.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
} }
+5 -5
View File
@@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询{{.ClassName}}列表 // 查询{{.ClassName}}列表
export function list{{.ClassName}}(query) { export function list{{.ClassName}}(query) {
return request({ return request({
url: '/api/v1/{{.MLTBName}}', url: '/api/v1/{{.ModuleName}}',
method: 'get', method: 'get',
params: query params: query
}) })
@@ -12,7 +12,7 @@ export function list{{.ClassName}}(query) {
// 查询{{.ClassName}}详细 // 查询{{.ClassName}}详细
export function get{{.ClassName}} ({{.PkJsonField}}) { export function get{{.ClassName}} ({{.PkJsonField}}) {
return request({ return request({
url: '/api/v1/{{.MLTBName}}/' + {{.PkJsonField}}, url: '/api/v1/{{.ModuleName}}/' + {{.PkJsonField}},
method: 'get' method: 'get'
}) })
} }
@@ -21,7 +21,7 @@ export function get{{.ClassName}} ({{.PkJsonField}}) {
// 新增{{.ClassName}} // 新增{{.ClassName}}
export function add{{.ClassName}}(data) { export function add{{.ClassName}}(data) {
return request({ return request({
url: '/api/v1/{{.MLTBName}}', url: '/api/v1/{{.ModuleName}}',
method: 'post', method: 'post',
data: data data: data
}) })
@@ -30,7 +30,7 @@ export function add{{.ClassName}}(data) {
// 修改{{.ClassName}} // 修改{{.ClassName}}
export function update{{.ClassName}}(data) { export function update{{.ClassName}}(data) {
return request({ return request({
url: '/api/v1/{{.MLTBName}}/'+data.{{.PkJsonField}}, url: '/api/v1/{{.ModuleName}}/'+data.{{.PkJsonField}},
method: 'put', method: 'put',
data: data data: data
}) })
@@ -39,7 +39,7 @@ export function update{{.ClassName}}(data) {
// 删除{{.ClassName}} // 删除{{.ClassName}}
export function del{{.ClassName}}(data) { export function del{{.ClassName}}(data) {
return request({ return request({
url: '/api/v1/{{.MLTBName}}', url: '/api/v1/{{.ModuleName}}',
method: 'delete', method: 'delete',
data: data data: data
}) })
+13 -14
View File
@@ -3,7 +3,6 @@ package apis
import ( import (
"fmt" "fmt"
"github.com/gin-gonic/gin/binding"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/go-admin-team/go-admin-core/sdk/api" "github.com/go-admin-team/go-admin-core/sdk/api"
"github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth/user" "github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth/user"
@@ -36,11 +35,11 @@ type {{.ClassName}} struct {
// @Router /api/v1/{{.ModuleName}} [get] // @Router /api/v1/{{.ModuleName}} [get]
// @Security Bearer // @Security Bearer
func (e {{.ClassName}}) GetPage(c *gin.Context) { func (e {{.ClassName}}) GetPage(c *gin.Context) {
req := dto.{{.ClassName}}Search{} req := dto.{{.ClassName}}GetPageReq{}
s := service.{{.ClassName}}{} s := service.{{.ClassName}}{}
err := e.MakeContext(c). err := e.MakeContext(c).
MakeOrm(). MakeOrm().
Bind(&req, binding.Form). Bind(&req).
MakeService(&s.Service). MakeService(&s.Service).
Errors Errors
if err != nil { if err != nil {
@@ -71,11 +70,11 @@ func (e {{.ClassName}}) GetPage(c *gin.Context) {
// @Router /api/v1/{{.ModuleName}}/{id} [get] // @Router /api/v1/{{.ModuleName}}/{id} [get]
// @Security Bearer // @Security Bearer
func (e {{.ClassName}}) Get(c *gin.Context) { func (e {{.ClassName}}) Get(c *gin.Context) {
req := dto.{{.ClassName}}ById{} req := dto.{{.ClassName}}GetReq{}
s := service.{{.ClassName}}{} s := service.{{.ClassName}}{}
err := e.MakeContext(c). err := e.MakeContext(c).
MakeOrm(). MakeOrm().
Bind(&req, nil). Bind(&req).
MakeService(&s.Service). MakeService(&s.Service).
Errors Errors
if err != nil { if err != nil {
@@ -101,16 +100,16 @@ func (e {{.ClassName}}) Get(c *gin.Context) {
// @Tags {{.TableComment}} // @Tags {{.TableComment}}
// @Accept application/json // @Accept application/json
// @Product 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": "添加成功"}" // @Success 200 {object} response.Response "{"code": 200, "message": "添加成功"}"
// @Router /api/v1/{{.ModuleName}} [post] // @Router /api/v1/{{.ModuleName}} [post]
// @Security Bearer // @Security Bearer
func (e {{.ClassName}}) Insert(c *gin.Context) { func (e {{.ClassName}}) Insert(c *gin.Context) {
req := dto.{{.ClassName}}Control{} req := dto.{{.ClassName}}InsertReq{}
s := service.{{.ClassName}}{} s := service.{{.ClassName}}{}
err := e.MakeContext(c). err := e.MakeContext(c).
MakeOrm(). MakeOrm().
Bind(&req, binding.JSON). Bind(&req).
MakeService(&s.Service). MakeService(&s.Service).
Errors Errors
if err != nil { if err != nil {
@@ -136,16 +135,16 @@ func (e {{.ClassName}}) Insert(c *gin.Context) {
// @Tags {{.TableComment}} // @Tags {{.TableComment}}
// @Accept application/json // @Accept application/json
// @Product 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": "修改成功"}" // @Success 200 {object} response.Response "{"code": 200, "message": "修改成功"}"
// @Router /api/v1/{{.ModuleName}}/{id} [put] // @Router /api/v1/{{.ModuleName}}/{id} [put]
// @Security Bearer // @Security Bearer
func (e {{.ClassName}}) Update(c *gin.Context) { func (e {{.ClassName}}) Update(c *gin.Context) {
req := dto.{{.ClassName}}Control{} req := dto.{{.ClassName}}UpdateReq{}
s := service.{{.ClassName}}{} s := service.{{.ClassName}}{}
err := e.MakeContext(c). err := e.MakeContext(c).
MakeOrm(). MakeOrm().
Bind(&req, binding.JSON, nil). Bind(&req).
MakeService(&s.Service). MakeService(&s.Service).
Errors Errors
if err != nil { if err != nil {
@@ -174,10 +173,10 @@ func (e {{.ClassName}}) Update(c *gin.Context) {
// @Security Bearer // @Security Bearer
func (e {{.ClassName}}) Delete(c *gin.Context) { func (e {{.ClassName}}) Delete(c *gin.Context) {
s := service.{{.ClassName}}{} s := service.{{.ClassName}}{}
req := dto.{{.ClassName}}ById{} req := dto.{{.ClassName}}DeleteReq{}
err := e.MakeContext(c). err := e.MakeContext(c).
MakeOrm(). MakeOrm().
Bind(&req, binding.JSON). Bind(&req).
MakeService(&s.Service). MakeService(&s.Service).
Errors Errors
if err != nil { if err != nil {
@@ -186,7 +185,7 @@ func (e {{.ClassName}}) Delete(c *gin.Context) {
return return
} }
req.SetUpdateBy(user.GetUserId(c)) // req.SetUpdateBy(user.GetUserId(c))
p := actions.GetPermissionFromContext(c) p := actions.GetPermissionFromContext(c)
err = s.Remove(&req, p) err = s.Remove(&req, p)
+5 -6
View File
@@ -17,7 +17,7 @@ type {{.ClassName}} struct {
} }
// GetPage 获取{{.ClassName}}列表 // 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 err error
var data models.{{.ClassName}} var data models.{{.ClassName}}
@@ -37,7 +37,7 @@ func (e *{{.ClassName}}) GetPage(c *dto.{{.ClassName}}Search, p *actions.DataPer
} }
// Get 获取{{.ClassName}}对象 // 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}} var data models.{{.ClassName}}
err := e.Orm.Model(&data). err := e.Orm.Model(&data).
@@ -58,7 +58,7 @@ func (e *{{.ClassName}}) Get(d *dto.{{.ClassName}}ById, p *actions.DataPermissio
} }
// Insert 创建{{.ClassName}}对象 // Insert 创建{{.ClassName}}对象
func (e *{{.ClassName}}) Insert(c *dto.{{.ClassName}}Control) error { func (e *{{.ClassName}}) Insert(c *dto.{{.ClassName}}InsertReq) error {
var err error var err error
var data models.{{.ClassName}} var data models.{{.ClassName}}
c.Generate(&data) c.Generate(&data)
@@ -71,7 +71,7 @@ func (e *{{.ClassName}}) Insert(c *dto.{{.ClassName}}Control) error {
} }
// Update 修改{{.ClassName}}对象 // 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 err error
var data = models.{{.ClassName}}{} var data = models.{{.ClassName}}{}
e.Orm.Scopes( e.Orm.Scopes(
@@ -86,13 +86,12 @@ func (e *{{.ClassName}}) Update(c *dto.{{.ClassName}}Control, p *actions.DataPer
} }
if db.RowsAffected == 0 { if db.RowsAffected == 0 {
return errors.New("无权更新该数据") return errors.New("无权更新该数据")
} }
return nil return nil
} }
// Remove 删除{{.ClassName}} // 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}} var data models.{{.ClassName}}
db := e.Orm.Model(&data). db := e.Orm.Model(&data).
+3 -3
View File
@@ -78,7 +78,7 @@
</el-col> </el-col>
</el-row> </el-row>
<el-table v-loading="loading" :data="{{.ModuleName}}List" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="{{.BusinessName}}List" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"/> <el-table-column type="selection" width="55" align="center"/>
{{- range .Columns -}} {{- range .Columns -}}
{{- $x := .IsList -}} {{- $x := .IsList -}}
@@ -260,7 +260,7 @@
isEdit: false, isEdit: false,
// 类型数据字典 // 类型数据字典
typeOptions: [], typeOptions: [],
{{.ModuleName}}List: [], {{.BusinessName}}List: [],
{{range .Columns}} {{range .Columns}}
{{- if ne .DictType "" -}} {{- if ne .DictType "" -}}
{{.JsonField}}Options: [], {{.JsonField}}Options: [],
@@ -314,7 +314,7 @@
getList() { getList() {
this.loading = true this.loading = true
list{{.ClassName}}(this.addDateRange(this.queryParams, this.dateRange)).then(response => { 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.total = response.data.count
this.loading = false this.loading = false
} }