Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
weixin_54624550
gin-vue-admin
提交
3a6e67fc
G
gin-vue-admin
项目概览
weixin_54624550
/
gin-vue-admin
与 Fork 源项目一致
Fork自
FLIPPED-AURORA / gin-vue-admin
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gin-vue-admin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3a6e67fc
编写于
4月 24, 2020
作者:
Mr.奇淼(
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新代码生成器
上级
b7ededea
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
80 addition
and
106 deletion
+80
-106
server/resource/template/fe/api.js.tpl
server/resource/template/fe/api.js.tpl
+14
-14
server/resource/template/te/api.go.tpl
server/resource/template/te/api.go.tpl
+36
-37
server/resource/template/te/model.go.tpl
server/resource/template/te/model.go.tpl
+1
-41
server/resource/template/te/router.go.tpl
server/resource/template/te/router.go.tpl
+4
-4
server/service/exa_customer.go
server/service/exa_customer.go
+1
-1
server/service/sys_auto_code.go
server/service/sys_auto_code.go
+24
-9
未找到文件。
server/resource/template/fe/api.js.tpl
浏览文件 @
3a6e67fc
...
...
@@ -5,7 +5,7 @@ import service from '@/utils/request'
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body
{{.PackageName}}
.{{.StructName}} true "创建{{.StructName}}"
// @Param data body
model
.{{.StructName}} true "创建{{.StructName}}"
// @Success 200
{
string
}
string "
{
"success"
:
true
,
"data"
:
{}
,
"msg"
:
"获取成功"
}
"
// @Router /{{.Abbreviation}}/create{{.StructName}} [post]
export const create{{.StructName}} = (data) => {
...
...
@@ -22,13 +22,13 @@ export const create{{.StructName}} = (data) => {
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body
{{.PackageName}}
.{{.StructName}} true "删除{{.StructName}}"
// @Param data body
model
.{{.StructName}} true "删除{{.StructName}}"
// @Success 200
{
string
}
string "
{
"success"
:
true
,
"data"
:
{}
,
"msg"
:
"删除成功"
}
"
// @Router /{{.Abbreviation}}/delete{{.StructName}} [
post
]
// @Router /{{.Abbreviation}}/delete{{.StructName}} [
delete
]
export const delete{{.StructName}} = (data) => {
return service({
url: "/{{.Abbreviation}}/delete{{.StructName}}",
method: '
post
',
method: '
delete
',
data
})
}
...
...
@@ -38,13 +38,13 @@ export const create{{.StructName}} = (data) => {
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body
{{.PackageName}}
.{{.StructName}} true "更新{{.StructName}}"
// @Param data body
model
.{{.StructName}} true "更新{{.StructName}}"
// @Success 200
{
string
}
string "
{
"success"
:
true
,
"data"
:
{}
,
"msg"
:
"更新成功"
}
"
// @Router /{{.Abbreviation}}/update{{.StructName}} [p
os
t]
// @Router /{{.Abbreviation}}/update{{.StructName}} [p
u
t]
export const update{{.StructName}} = (data) => {
return service({
url: "/{{.Abbreviation}}/update{{.StructName}}",
method: 'p
os
t',
method: 'p
u
t',
data
})
}
...
...
@@ -55,14 +55,14 @@ export const create{{.StructName}} = (data) => {
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body
{{.PackageName}}
.{{.StructName}} true "用id查询{{.StructName}}"
// @Param data body
model
.{{.StructName}} true "用id查询{{.StructName}}"
// @Success 200
{
string
}
string "
{
"success"
:
true
,
"data"
:
{}
,
"msg"
:
"查询成功"
}
"
// @Router /{{.Abbreviation}}/find{{.StructName}} [
pos
t]
// @Router /{{.Abbreviation}}/find{{.StructName}} [
ge
t]
export const find{{.StructName}} = (data) => {
return service({
url: "/{{.Abbreviation}}/find{{.StructName}}",
method: '
pos
t',
data
method: '
ge
t',
params
})
}
...
...
@@ -74,11 +74,11 @@ export const create{{.StructName}} = (data) => {
// @Produce application/json
// @Param data body request.PageInfo true "分页获取{{.StructName}}列表"
// @Success 200
{
string
}
string "
{
"success"
:
true
,
"data"
:
{}
,
"msg"
:
"获取成功"
}
"
// @Router /{{.Abbreviation}}/get{{.StructName}}List [
pos
t]
// @Router /{{.Abbreviation}}/get{{.StructName}}List [
ge
t]
export const get{{.StructName}}List = (data) => {
return service({
url: "/{{.Abbreviation}}/get{{.StructName}}List",
method: '
pos
t',
data
method: '
ge
t',
params
})
}
\ No newline at end of file
server/resource/template/te/api.go.tpl
浏览文件 @
3a6e67fc
package
api
package
v1
import (
"fmt"
"gin-vue-admin/global/response"
"gin-vue-admin/global/response"
"gin-vue-admin/model"
"github.com/gin-gonic/gin"
"gin-vue-admin/model/request"
resp "gin-vue-admin/model/response"
"gin-vue-admin/service"
"github.com/gin-gonic/gin"
)
...
...
@@ -17,13 +20,13 @@ import (
// @Success 200
{
string
}
string "
{
"success"
:
true
,
"data"
:
{}
,
"msg"
:
"获取成功"
}
"
// @Router /{{.Abbreviation}}/create{{.StructName}} [post]
func Create{{.StructName}}(c *gin.Context) {
var {{.Abbreviation}}
{{.PackageName}}
.{{.StructName}}
var {{.Abbreviation}}
model
.{{.StructName}}
_ = c.ShouldBindJSON(
&
{{.Abbreviation}})
err :=
{{.Abbreviation}}.Create{{.StructName}}(
)
err :=
service.Create{{.StructName}}({{.Abbreviation}}
)
if err != nil {
response.Result(response.ERROR, gin.H{},
fmt.Sprintf("创建失败,%v", err), c)
response.FailWithMessage(
fmt.Sprintf("创建失败,%v", err), c)
} else {
response.
Result(response.SUCCESS, gin.H{},
"创建成功", c)
response.
OkWithMessage(
"创建成功", c)
}
}
...
...
@@ -35,15 +38,15 @@ func Create{{.StructName}}(c *gin.Context) {
// @Produce application/json
// @Param data body model.{{.StructName}} true "删除{{.StructName}}"
// @Success 200
{
string
}
string "
{
"success"
:
true
,
"data"
:
{}
,
"msg"
:
"删除成功"
}
"
// @Router /{{.Abbreviation}}/delete{{.StructName}} [
post
]
// @Router /{{.Abbreviation}}/delete{{.StructName}} [
delete
]
func Delete{{.StructName}}(c *gin.Context) {
var {{.Abbreviation}}
{{.PackageName}}
.{{.StructName}}
var {{.Abbreviation}}
model
.{{.StructName}}
_ = c.ShouldBindJSON(
&
{{.Abbreviation}})
err :=
{{.Abbreviation}}.Delete{{.StructName}}(
)
err :=
service.Delete{{.StructName}}({{.Abbreviation}}
)
if err != nil {
response.
Result(response.ERROR, gin.H{},
fmt.Sprintf("删除失败,%v", err), c)
response.
FailWithMessage(
fmt.Sprintf("删除失败,%v", err), c)
} else {
response.
Result(response.SUCCESS, gin.H{},
"删除成功", c)
response.
OkWithMessage(
"删除成功", c)
}
}
...
...
@@ -55,17 +58,15 @@ func Delete{{.StructName}}(c *gin.Context) {
// @Produce application/json
// @Param data body model.{{.StructName}} true "更新{{.StructName}}"
// @Success 200
{
string
}
string "
{
"success"
:
true
,
"data"
:
{}
,
"msg"
:
"更新成功"
}
"
// @Router /{{.Abbreviation}}/update{{.StructName}} [p
os
t]
// @Router /{{.Abbreviation}}/update{{.StructName}} [p
u
t]
func Update{{.StructName}}(c *gin.Context) {
var {{.Abbreviation}}
{{.PackageName}}
.{{.StructName}}
var {{.Abbreviation}}
model
.{{.StructName}}
_ = c.ShouldBindJSON(
&
{{.Abbreviation}})
err
,re{{.Abbreviation}} := {{.Abbreviation}}.Update{{.StructName}}(
)
err
:= service.Update{{.StructName}}(
&
{{.Abbreviation}}
)
if err != nil {
response.
Result(response.ERROR, gin.H{},
fmt.Sprintf("更新失败,%v", err), c)
response.
FailWithMessage(
fmt.Sprintf("更新失败,%v", err), c)
} else {
response.Result(response.SUCCESS, gin.H{
"re{{.Abbreviation}}":re{{.Abbreviation}},
}, "更新成功", c)
response.OkWithMessage("删除成功", c)
}
}
...
...
@@ -77,17 +78,15 @@ func Update{{.StructName}}(c *gin.Context) {
// @Produce application/json
// @Param data body model.{{.StructName}} true "用id查询{{.StructName}}"
// @Success 200
{
string
}
string "
{
"success"
:
true
,
"data"
:
{}
,
"msg"
:
"查询成功"
}
"
// @Router /{{.Abbreviation}}/find{{.StructName}} [
pos
t]
// @Router /{{.Abbreviation}}/find{{.StructName}} [
ge
t]
func Find{{.StructName}}(c *gin.Context) {
var {{.Abbreviation}}
{{.PackageName}}
.{{.StructName}}
_ = c.ShouldBind
JSON
(
&
{{.Abbreviation}})
err,re{{.Abbreviation}} :=
{{.Abbreviation}}.FindById(
)
var {{.Abbreviation}}
model
.{{.StructName}}
_ = c.ShouldBind
Query
(
&
{{.Abbreviation}})
err,re{{.Abbreviation}} :=
service.Get{{.StructName}}({{.Abbreviation}}.ID
)
if err != nil {
response.Result(response.ERROR, gin.H{},
fmt.Sprintf("查询失败,%v", err), c)
response.FailWithMessage(
fmt.Sprintf("查询失败,%v", err), c)
} else {
response.Result(response.SUCCESS, gin.H{
"re{{.Abbreviation}}":re{{.Abbreviation}},
}, "查询成功", c)
response.OkWithData( gin.H
{
"re{{.Abbreviation}}"
:
re
{{
.
Abbreviation
}}
,
}
, c)
}
}
...
...
@@ -99,19 +98,19 @@ func Find{{.StructName}}(c *gin.Context) {
// @Produce application/json
// @Param data body request.PageInfo true "分页获取{{.StructName}}列表"
// @Success 200
{
string
}
string "
{
"success"
:
true
,
"data"
:
{}
,
"msg"
:
"获取成功"
}
"
// @Router /{{.Abbreviation}}/get{{.StructName}}List [
pos
t]
// @Router /{{.Abbreviation}}/get{{.StructName}}List [
ge
t]
func Get{{.StructName}}List(c *gin.Context) {
var pageInfo request.PageInfo
_ = c.ShouldBind
JSON
(
&
pageInfo)
err, list, total :=
new({{.PackageName}}.{{.StructName}}).Get
InfoList(pageInfo)
_ = c.ShouldBind
Query
(
&
pageInfo)
err, list, total :=
service.Get{{.StructName}}
InfoList(pageInfo)
if err != nil {
response.Result(response.ERROR, gin.H{},
fmt.Sprintf("获取数据失败,%v", err), c)
response.FailWithMessage(
fmt.Sprintf("获取数据失败,%v", err), c)
} else {
response.Result(response.SUCCESS, gin.H
{
"{{.PackageName}}List":
list,
"total"
: total,
"page"
: pageInfo.Page,
"pageSize"
: pageInfo.PageSize,
}, "获取数据成功"
, c)
response.OkWithData(resp.PageResult
{
List:
list,
Total
: total,
Page
: pageInfo.Page,
PageSize
: pageInfo.PageSize,
}
, c)
}
}
\ No newline at end of file
server/resource/template/te/model.go.tpl
浏览文件 @
3a6e67fc
// 自动生成模板{{.StructName}}
package
{{.PackageName}}
package
model
import (
"gin-vue-admin/global"
"github.com/jinzhu/gorm"
"github.com/pkg/errors"
)
type {{.StructName}} struct {
gorm.Model {
{
range
.
Fields
}
}
{{.FieldName}} {{.FieldType}} `json:"{{.FieldJson}}"{
{
if
.
ColumnName
}
} gorm:"column:{{.ColumnName}}"{
{
end
}
}`{{ end }}
}
// 创建{{.StructName}}
func ({{.Abbreviation}} *{{.StructName}})Create{{.StructName}}()(err error){
err = global.GVA_DB.Create({{.Abbreviation}}).Error
return err
}
// 删除{{.StructName}}
func ({{.Abbreviation}} *{{.StructName}})Delete{{.StructName}}()(err error){
err = global.GVA_DB.Delete({{.Abbreviation}}).Error
return err
}
// 更新{{.StructName}}
func ({{.Abbreviation}} *{{.StructName}})Update{{.StructName}}()(err error, re{{.Abbreviation}} {{.StructName}}){
err = global.GVA_DB.Save({{.Abbreviation}}).Error
return err, *{{.Abbreviation}}
}
// 根据ID查看单条{{.StructName}}
func ({{.Abbreviation}} *{{.StructName}})FindById()(err error,re{{.Abbreviation}} {{.StructName}}){
err = global.GVA_DB.Where("id = ?",{{.Abbreviation}}.ID).First(
&
re{{.Abbreviation}}).Error
return err,re{{.Abbreviation}}
}
// 分页获取{{.StructName}}
func ({{.Abbreviation}} *{{.StructName}})GetInfoList(info PageInfo)(err error, list interface{}, total int){
limit := info.PageSize
offset := info.PageSize * (info.Page - 1)
db:=global.GVA_DB
if err != nil {
return
} else {
var re{{.StructName}}List []{{.StructName}}
err = db.Limit(limit).Offset(offset).Find(
&
re{{.StructName}}List).Error
return err, re{{.StructName}}List, total
}
}
\ No newline at end of file
server/resource/template/te/router.go.tpl
浏览文件 @
3a6e67fc
...
...
@@ -10,9 +10,9 @@ func Init{{.StructName}}Router(Router *gin.RouterGroup) {
{{.StructName}}Router := Router.Group("{{.Abbreviation}}").Use(middleware.JWTAuth()).Use(middleware.CasbinHandler())
{
{{.StructName}}Router.POST("create{{.StructName}}", v1.Create{{.StructName}}) // 新建{{.StructName}}
{{.StructName}}Router.
POST
("delete{{.StructName}}", v1.Delete{{.StructName}}) //删除{{.StructName}}
{{.StructName}}Router.P
OS
T("update{{.StructName}}", v1.Update{{.StructName}}) //更新{{.StructName}}
{{.StructName}}Router.
POS
T("find{{.StructName}}", v1.Find{{.StructName}}) // 根据ID获取{{.StructName}}
{{.StructName}}Router.
POS
T("get{{.StructName}}List", v1.Get{{.StructName}}List) //获取{{.StructName}}列表
{{.StructName}}Router.
DELETE
("delete{{.StructName}}", v1.Delete{{.StructName}}) //删除{{.StructName}}
{{.StructName}}Router.P
U
T("update{{.StructName}}", v1.Update{{.StructName}}) //更新{{.StructName}}
{{.StructName}}Router.
GE
T("find{{.StructName}}", v1.Find{{.StructName}}) // 根据ID获取{{.StructName}}
{{.StructName}}Router.
GE
T("get{{.StructName}}List", v1.Get{{.StructName}}List) //获取{{.StructName}}列表
}
}
server/service/exa_customer.go
浏览文件 @
3a6e67fc
...
...
@@ -20,7 +20,7 @@ func CreateExaCustomer(e model.ExaCustomer) (err error) {
// @title DeleteFileChunk
// @description delete a customer, 删除用户
// @auth (2020/04/05 20:22)
// @param e
*
model.ExaCustomer
// @param e model.ExaCustomer
// @return error
func
DeleteExaCustomer
(
e
model
.
ExaCustomer
)
(
err
error
)
{
...
...
server/service/sys_auto_code.go
浏览文件 @
3a6e67fc
...
...
@@ -27,6 +27,10 @@ func CreateTemp(autoCode model.AutoCodeStruct) (err error) {
if
err
!=
nil
{
return
err
}
serviceTmpl
,
err
:=
template
.
ParseFiles
(
basePath
+
"/te/service.go.tpl"
)
if
err
!=
nil
{
return
err
}
feapiTmpl
,
err
:=
template
.
ParseFiles
(
basePath
+
"/fe/api.js.tpl"
)
if
err
!=
nil
{
return
err
...
...
@@ -43,27 +47,32 @@ func CreateTemp(autoCode model.AutoCodeStruct) (err error) {
_modeldir
:=
_te
+
autoCode
.
PackageName
+
"/model"
_apidir
:=
_te
+
autoCode
.
PackageName
+
"/api"
_routerdir
:=
_te
+
autoCode
.
PackageName
+
"/router"
_servicedir
:=
_te
+
autoCode
.
PackageName
+
"/service"
//自动化前台代码目录
_fe
:=
"./autoCode/fe/"
_fe_dir
:=
_fe
+
autoCode
.
PackageName
_fe_apidir
:=
_fe
+
autoCode
.
PackageName
+
"/api"
err
=
utils
.
CreateDir
(
_autoCode
,
_te
,
_dir
,
_modeldir
,
_apidir
,
_routerdir
,
_fe
,
_fe_dir
,
_fe_apidir
)
err
=
utils
.
CreateDir
(
_autoCode
,
_te
,
_dir
,
_modeldir
,
_apidir
,
_routerdir
,
_
servicedir
,
_
fe
,
_fe_dir
,
_fe_apidir
)
if
err
!=
nil
{
return
err
}
model
,
err
:=
os
.
OpenFile
(
_te
+
autoCode
.
PackageName
+
"/model/
model
.go"
,
os
.
O_CREATE
|
os
.
O_WRONLY
,
0755
)
model
,
err
:=
os
.
OpenFile
(
_te
+
autoCode
.
PackageName
+
"/model/
"
+
autoCode
.
PackageName
+
"
.go"
,
os
.
O_CREATE
|
os
.
O_WRONLY
,
0755
)
if
err
!=
nil
{
return
err
}
api
,
err
:=
os
.
OpenFile
(
_te
+
autoCode
.
PackageName
+
"/api/
api
.go"
,
os
.
O_CREATE
|
os
.
O_WRONLY
,
0755
)
api
,
err
:=
os
.
OpenFile
(
_te
+
autoCode
.
PackageName
+
"/api/
"
+
autoCode
.
PackageName
+
"
.go"
,
os
.
O_CREATE
|
os
.
O_WRONLY
,
0755
)
if
err
!=
nil
{
return
err
}
router
,
err
:=
os
.
OpenFile
(
_te
+
autoCode
.
PackageName
+
"/router/
router
.go"
,
os
.
O_CREATE
|
os
.
O_WRONLY
,
0755
)
router
,
err
:=
os
.
OpenFile
(
_te
+
autoCode
.
PackageName
+
"/router/
"
+
autoCode
.
PackageName
+
"
.go"
,
os
.
O_CREATE
|
os
.
O_WRONLY
,
0755
)
if
err
!=
nil
{
return
err
}
feapi
,
err
:=
os
.
OpenFile
(
_fe
+
autoCode
.
PackageName
+
"/api/api.js"
,
os
.
O_CREATE
|
os
.
O_WRONLY
,
0755
)
service
,
err
:=
os
.
OpenFile
(
_te
+
autoCode
.
PackageName
+
"/service/"
+
autoCode
.
PackageName
+
".go"
,
os
.
O_CREATE
|
os
.
O_WRONLY
,
0755
)
if
err
!=
nil
{
return
err
}
feapi
,
err
:=
os
.
OpenFile
(
_fe
+
autoCode
.
PackageName
+
"/api/"
+
autoCode
.
PackageName
+
".js"
,
os
.
O_CREATE
|
os
.
O_WRONLY
,
0755
)
if
err
!=
nil
{
return
err
}
...
...
@@ -85,6 +94,10 @@ func CreateTemp(autoCode model.AutoCodeStruct) (err error) {
if
err
!=
nil
{
return
err
}
err
=
serviceTmpl
.
Execute
(
service
,
autoCode
)
if
err
!=
nil
{
return
err
}
err
=
feapiTmpl
.
Execute
(
feapi
,
autoCode
)
if
err
!=
nil
{
return
err
...
...
@@ -97,13 +110,15 @@ func CreateTemp(autoCode model.AutoCodeStruct) (err error) {
_
=
model
.
Close
()
_
=
api
.
Close
()
_
=
router
.
Close
()
_
=
service
.
Close
()
_
=
feapi
.
Close
()
_
=
readme
.
Close
()
fileList
:=
[]
string
{
_te
+
autoCode
.
PackageName
+
"/model/model.go"
,
_te
+
autoCode
.
PackageName
+
"/api/api.go"
,
_te
+
autoCode
.
PackageName
+
"/router/router.go"
,
_fe
+
autoCode
.
PackageName
+
"/api/api.js"
,
_te
+
autoCode
.
PackageName
+
"/model/"
+
autoCode
.
PackageName
+
".go"
,
_te
+
autoCode
.
PackageName
+
"/api/"
+
autoCode
.
PackageName
+
".go"
,
_te
+
autoCode
.
PackageName
+
"/router/"
+
autoCode
.
PackageName
+
".go"
,
_te
+
autoCode
.
PackageName
+
"/service/"
+
autoCode
.
PackageName
+
".go"
,
_fe
+
autoCode
.
PackageName
+
"/api/"
+
autoCode
.
PackageName
+
".js"
,
_autoCode
+
"readme.txt"
,
}
err
=
utils
.
ZipFiles
(
"./ginvueadmin.zip"
,
fileList
,
"."
,
"."
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录