Skip to content

文件结构调整,支持插件自动化 #1824

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 127 commits into from
Jul 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
4e04f61
Update index.vue
zayn-code Jul 3, 2024
e636189
feature:新增同步API功能
pixelmaxQm Jul 3, 2024
a655c96
fixed: 增加api同步功能
pixelmaxQm Jul 4, 2024
f8df681
fixed: 增加初始化api
pixelmaxQm Jul 4, 2024
6b7c4c6
feature: 同步表数据
pixelmaxQm Jul 4, 2024
2d4f90d
feature:新增同步API功能
pixelmaxQm Jul 4, 2024
9afb9f1
feature: 增加V2插件注册
pixelmaxQm Jul 5, 2024
02f1331
feature:给Enter的依赖结构增加单独的New 方便引用
pixelmaxQm Jul 6, 2024
25a904a
Merge remote-tracking branch 'refs/remotes/origin/sync_api' into plug…
pixelmaxQm Jul 8, 2024
00d3b80
Merge remote-tracking branch 'refs/remotes/origin/main' into pluginNew
pixelmaxQm Jul 8, 2024
b89bf07
update: 代码生成器重构 v1
SliverHorn Jul 8, 2024
3c058af
update: plugin biz
SliverHorn Jul 8, 2024
0d9ae5f
update: 代码生成器 优化
SliverHorn Jul 8, 2024
6933313
Merge branch 'flipped-aurora:main' into main
zayn-code Jul 9, 2024
4ff64c9
获取服务器信息和配置文件内容,不写入操作日志
zayn-code Jul 9, 2024
6c0f9ea
Merge pull request #1 from zayn-code/patch-1
zayn-code Jul 9, 2024
93277bd
update: 代码生成器 TemplateMap => templates
SliverHorn Jul 9, 2024
ad0d33e
update: ast 重构标准化
SliverHorn Jul 9, 2024
ef3a77e
update: ast importPath 为空不作为
SliverHorn Jul 9, 2024
9819b9d
update: AutoCode 规范化代码
SliverHorn Jul 9, 2024
500a5f2
remove: plug_template
SliverHorn Jul 9, 2024
598be04
update: 新增package的enter.go 模版
SliverHorn Jul 9, 2024
1d58b2e
update: enter 统一规范化
SliverHorn Jul 9, 2024
0e4c1db
update: example router enter 统一规范化
SliverHorn Jul 9, 2024
fd5bfd2
update: PackageEnter 优化, 新增PackageModuleEnter
SliverHorn Jul 9, 2024
a3088fa
update: PackageEnter && PackageModuleEnter 构造函数
SliverHorn Jul 9, 2024
0f088c2
update:
SliverHorn Jul 9, 2024
623085f
获取所有API接口添加ID倒序
zayn-code Jul 10, 2024
a24d4d2
Merge branch 'flipped-aurora:main' into main
zayn-code Jul 10, 2024
5d648ca
update: ast_type.go extended and interface.go rename and plugin_enter…
SliverHorn Jul 10, 2024
903d170
update:
SliverHorn Jul 11, 2024
5cf5bf4
update: PackageInitializeRouter ast 注入路由
SliverHorn Jul 11, 2024
9faf338
feature: 调整关联属性的选择模式
pixelmaxQm Jul 12, 2024
1ce21b1
update: ast_type.go and PluginInitializeApi
SliverHorn Jul 12, 2024
04b5da2
update: PluginInitializeGorm
SliverHorn Jul 12, 2024
883cd5a
feature: 增加component组件和name的映射插件,防止keepalive的懒加载失效。
pixelmaxQm Jul 12, 2024
e3428ed
feature: 增加component组件和name的映射插件,防止keepalive的懒加载失效。
pixelmaxQm Jul 12, 2024
32963c5
update: PluginInitializeRouter && 修复TypePluginInitializeMenu ast 类型错误
SliverHorn Jul 12, 2024
3b19fd0
Merge remote-tracking branch 'origin/pluginNew' into pluginNew
SliverHorn Jul 12, 2024
f135fad
update: 测试文件的astType 类型错误
SliverHorn Jul 12, 2024
2f549e2
feature: 文件变更自动同步componentName.json。
pixelmaxQm Jul 12, 2024
f392bfb
feature: 文件变更自动同步componentName.json。
pixelmaxQm Jul 12, 2024
673a8c9
update:
SliverHorn Jul 12, 2024
21c4db3
Merge remote-tracking branch 'origin/pluginNew' into pluginNew
SliverHorn Jul 12, 2024
f24293a
feat: UI美化
pixelmaxQm Jul 13, 2024
3617bd9
feat: 自动化页面顺序调整
pixelmaxQm Jul 13, 2024
9b6e05e
feature:修改404页面
krank666 Jul 13, 2024
6138deb
Merge branch 'pluginNew' into main
pixelmaxQm Jul 13, 2024
72f1642
Merge pull request #1815 from zayn-code/main
pixelmaxQm Jul 13, 2024
47452b4
Merge pull request #1817 from krank666/my-feature-branch
pixelmaxQm Jul 13, 2024
815cb74
update: PluginInitializeMenu
SliverHorn Jul 14, 2024
333d8cc
update: Plugin template
SliverHorn Jul 14, 2024
e325c84
fixed systemApi 重复声明
SliverHorn Jul 14, 2024
d3462b4
api.vue:update:修改API分组为下拉列表
Jul 14, 2024
67f52c7
Merge pull request #1819 from wulicjk/main
pixelmaxQm Jul 14, 2024
ec657de
update:
SliverHorn Jul 15, 2024
ebe41b6
update: import添加注释
SliverHorn Jul 15, 2024
bc84deb
update: plugin_enter_test.go 增加测试用例
SliverHorn Jul 15, 2024
7f4ddc6
update:
SliverHorn Jul 15, 2024
7edea2b
update:
SliverHorn Jul 15, 2024
44db656
update: ast 预览文件路径
SliverHorn Jul 16, 2024
8d65253
update: config Autocode 新增Module字段以及如果为空的情况下自动获取运行目录下的go.mod文件
SliverHorn Jul 16, 2024
7eefa94
update: auto_code_package.go 完善调用ast工具类的封装使用
SliverHorn Jul 16, 2024
c247c69
update: auto_code_template.go Create方法和修正SysAutoCodeHistory
SliverHorn Jul 16, 2024
5dfa10a
feat:调整自动化package为模板,增加初始化配置信息,调整页面信息。
piexlmax Jul 16, 2024
657a459
Merge remote-tracking branch 'origin/pluginNew' into pluginNew
piexlmax Jul 16, 2024
4e567b0
update: ast PreviewPath MkdirAll
SliverHorn Jul 16, 2024
692e17b
Merge remote-tracking branch 'origin/pluginNew' into pluginNew
SliverHorn Jul 16, 2024
c478d4e
update: ast type错误, PluginEnter and PackageModuleEnter add TemplatePa…
SliverHorn Jul 16, 2024
b862939
update: autoCodePackage and autoCodeTemplate bug修正
SliverHorn Jul 16, 2024
a2c03e2
update: PackageInitializeRouter 传入两个路由组
SliverHorn Jul 16, 2024
e3955cf
update: PackageModuleEnter 处理空变量时与type冲突注入
SliverHorn Jul 16, 2024
9ac61fc
update: Package 模版更新
SliverHorn Jul 16, 2024
16c011c
update: utils/ast 优化统一
SliverHorn Jul 16, 2024
9cbe599
update: 注入内容修复错误
SliverHorn Jul 16, 2024
3cdd9b0
fix: 修复注释错误
zhongmax Jul 16, 2024
6fbfad0
update: plugin 模版 完成
SliverHorn Jul 17, 2024
21f29b4
update:
SliverHorn Jul 17, 2024
8c7a4de
Merge pull request #1820 from zhongmax/main
pixelmaxQm Jul 17, 2024
e166f17
Merge remote-tracking branch 'refs/remotes/origin/main' into pluginNew
pixelmaxQm Jul 17, 2024
dbebcf1
Merge remote-tracking branch 'origin/pluginNew' into pluginNew
pixelmaxQm Jul 17, 2024
aecf57e
feature: 文件watch功能只在development下开启
pixelmaxQm Jul 17, 2024
8b1183b
update: viper.go.template 因为viper不区分配置的key的大小写所以用package
SliverHorn Jul 17, 2024
c4d12d2
Merge remote-tracking branch 'origin/pluginNew' into pluginNew
SliverHorn Jul 17, 2024
84d8153
update: ast 测试代码规范化
SliverHorn Jul 17, 2024
1053fae
update: package 删除api和router多余导包
SliverHorn Jul 17, 2024
1995523
update: plugin template
SliverHorn Jul 17, 2024
b6def79
update: auto_code_package 问题修复
SliverHorn Jul 17, 2024
c4a3104
update: ast 测试插件的预览功能
SliverHorn Jul 17, 2024
e893659
update: gorm_biz 更新注册方式
SliverHorn Jul 17, 2024
199d101
update: go.mod tidy
SliverHorn Jul 17, 2024
0111cc6
remove: plugin template gen main.go.template
SliverHorn Jul 17, 2024
dd2bbc8
update: ast 重构, 分离读取和写入步骤支持
SliverHorn Jul 18, 2024
36e5827
update: AutoCodePackageApi 传入参数错误修复
SliverHorn Jul 18, 2024
be178c7
rename: sys_autocode_history.go => sys_auto_code_history.go
SliverHorn Jul 18, 2024
bd50f58
update: 预览无需落盘, 创建落盘,抽离公共参数
SliverHorn Jul 18, 2024
7132b16
update: api.go.tpl 导包位置fmt 和package js位置存放错误
SliverHorn Jul 18, 2024
4dceac1
update: 测试用例修复 and PackageInitializeGorm 重构
SliverHorn Jul 18, 2024
eedb43d
update: ast 新增相对路径, 代码生成器历史回滚功能
SliverHorn Jul 18, 2024
057e7b0
update: 代码生成器历史优化
SliverHorn Jul 18, 2024
ee0ccc3
update: 代码生成器历史记录创建相对路径优化完成
SliverHorn Jul 18, 2024
c11e6c2
fixed: 修改绑定字段
pixelmaxQm Jul 18, 2024
44f53fb
fixed: 调整viper模板和自动化package的前端路径拼接
pixelmaxQm Jul 18, 2024
26bf46d
fixed: 调整plugin web模板和router注册
pixelmaxQm Jul 18, 2024
08a88d3
update: 调整plugin的api和menu的初始号模版
SliverHorn Jul 19, 2024
14d0253
update: auto_code_package.go enter不写入返回的code map
SliverHorn Jul 19, 2024
3588cac
update: hook value写错成了key
SliverHorn Jul 19, 2024
198d613
update: pluginInitialize
SliverHorn Jul 19, 2024
4cec1e8
update: pluginInitialize v1 and v2 分开, 代码生成器注入跳过插件注册
SliverHorn Jul 19, 2024
2ccbf21
fixed: ast base writer 空指针问题
SliverHorn Jul 19, 2024
7ddf47e
update: ast 工具类回滚失败修复以及测试文件
SliverHorn Jul 19, 2024
4fe6ee1
update: 代码生成器历史 回滚问题修复
SliverHorn Jul 19, 2024
bca960c
update: 代码生成器模版忽略.DS_Store
SliverHorn Jul 19, 2024
865ca1a
update: auto_code_package.go 不删除插件的gen.go, router.go, gorm.go; Plugin…
SliverHorn Jul 19, 2024
249e864
update: PackageInitializeGorm
SliverHorn Jul 19, 2024
e021e3a
featute: 自动化GORM结构的注入和剔除
pixelmaxQm Jul 19, 2024
b5bce48
feature: 插件模板调整
pixelmaxQm Jul 20, 2024
88e27ce
feature: 增加公告插件示例,调整代码模板。
pixelmaxQm Jul 20, 2024
f2045b3
feature: 增加公告插件示例,调整代码模板。
pixelmaxQm Jul 20, 2024
ea4b2df
feature: 增加初始化V2菜单数据。
pixelmaxQm Jul 20, 2024
1db7705
feature: 版本调整v2.7.0。
pixelmaxQm Jul 20, 2024
a86f7f0
feature: 插件view模板调整。
pixelmaxQm Jul 20, 2024
7f7bddb
update: ast Ast 接口 注入和回滚 新增error, PluginInitializeV2 注入寻找插件的相关信息
SliverHorn Jul 20, 2024
878fc7b
fixed: 调整自动化代码菜单生成路径。
pixelmaxQm Jul 20, 2024
5633532
fixed: 自动注册model逻辑调整
pixelmaxQm Jul 20, 2024
3378fc7
feature: 插件化模板调整。
pixelmaxQm Jul 20, 2024
c8bf1ea
feature: 自动注册插件V2。
pixelmaxQm Jul 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions server/api/v1/enter.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import (
"github.com/flipped-aurora/gin-vue-admin/server/api/v1/system"
)

var ApiGroupApp = new(ApiGroup)

type ApiGroup struct {
SystemApiGroup system.ApiGroup
ExampleApiGroup example.ApiGroup
}

var ApiGroupApp = new(ApiGroup)
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ package system

import (
"github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/model/common/request"
common "github.com/flipped-aurora/gin-vue-admin/server/model/common/request"
"github.com/flipped-aurora/gin-vue-admin/server/model/common/response"
systemReq "github.com/flipped-aurora/gin-vue-admin/server/model/system/request"
request "github.com/flipped-aurora/gin-vue-admin/server/model/system/request"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
)
Expand All @@ -21,13 +21,13 @@ type AutoCodeHistoryApi struct{}
// @Success 200 {object} response.Response{data=map[string]interface{},msg=string} "获取meta信息"
// @Router /autoCode/getMeta [post]
func (a *AutoCodeHistoryApi) First(c *gin.Context) {
var info request.GetById
var info common.GetById
err := c.ShouldBindJSON(&info)
if err != nil {
response.FailWithMessage(err.Error(), c)
return
}
data, err := autoCodeHistoryService.First(&info)
data, err := autoCodeHistoryService.First(c.Request.Context(), info)
if err != nil {
response.FailWithMessage(err.Error(), c)
return
Expand All @@ -45,13 +45,13 @@ func (a *AutoCodeHistoryApi) First(c *gin.Context) {
// @Success 200 {object} response.Response{msg=string} "删除回滚记录"
// @Router /autoCode/delSysHistory [post]
func (a *AutoCodeHistoryApi) Delete(c *gin.Context) {
var info request.GetById
var info common.GetById
err := c.ShouldBindJSON(&info)
if err != nil {
response.FailWithMessage(err.Error(), c)
return
}
err = autoCodeHistoryService.Delete(&info)
err = autoCodeHistoryService.Delete(c.Request.Context(), info)
if err != nil {
global.GVA_LOG.Error("删除失败!", zap.Error(err))
response.FailWithMessage("删除失败", c)
Expand All @@ -70,13 +70,13 @@ func (a *AutoCodeHistoryApi) Delete(c *gin.Context) {
// @Success 200 {object} response.Response{msg=string} "回滚自动生成代码"
// @Router /autoCode/rollback [post]
func (a *AutoCodeHistoryApi) RollBack(c *gin.Context) {
var info systemReq.RollBack
var info request.SysAutoHistoryRollBack
err := c.ShouldBindJSON(&info)
if err != nil {
response.FailWithMessage(err.Error(), c)
return
}
err = autoCodeHistoryService.RollBack(&info)
err = autoCodeHistoryService.RollBack(c.Request.Context(), info)
if err != nil {
response.FailWithMessage(err.Error(), c)
return
Expand All @@ -94,13 +94,13 @@ func (a *AutoCodeHistoryApi) RollBack(c *gin.Context) {
// @Success 200 {object} response.Response{data=response.PageResult,msg=string} "查询回滚记录,返回包括列表,总数,页码,每页数量"
// @Router /autoCode/getSysHistory [post]
func (a *AutoCodeHistoryApi) GetList(c *gin.Context) {
var search systemReq.SysAutoHistory
err := c.ShouldBindJSON(&search)
var info common.PageInfo
err := c.ShouldBindJSON(&info)
if err != nil {
response.FailWithMessage(err.Error(), c)
return
}
list, total, err := autoCodeHistoryService.GetList(search.PageInfo)
list, total, err := autoCodeHistoryService.GetList(c.Request.Context(), info)
if err != nil {
global.GVA_LOG.Error("获取失败!", zap.Error(err))
response.FailWithMessage("获取失败", c)
Expand All @@ -109,7 +109,7 @@ func (a *AutoCodeHistoryApi) GetList(c *gin.Context) {
response.OkWithDetailed(response.PageResult{
List: list,
Total: total,
Page: search.Page,
PageSize: search.PageSize,
Page: info.Page,
PageSize: info.PageSize,
}, "获取成功", c)
}
100 changes: 100 additions & 0 deletions server/api/v1/system/auto_code_package.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
package system

import (
"github.com/flipped-aurora/gin-vue-admin/server/global"
common "github.com/flipped-aurora/gin-vue-admin/server/model/common/request"
"github.com/flipped-aurora/gin-vue-admin/server/model/common/response"
"github.com/flipped-aurora/gin-vue-admin/server/model/system/request"
"github.com/flipped-aurora/gin-vue-admin/server/utils"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
"strings"
)

type AutoCodePackageApi struct{}

// Create
// @Tags AutoCodePackage
// @Summary 创建package
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body system.SysAutoCode true "创建package"
// @Success 200 {object} response.Response{data=map[string]interface{},msg=string} "创建package成功"
// @Router /autoCode/createPackage [post]
func (a *AutoCodePackageApi) Create(c *gin.Context) {
var info request.SysAutoCodePackageCreate
_ = c.ShouldBindJSON(&info)
if err := utils.Verify(info, utils.AutoPackageVerify); err != nil {
response.FailWithMessage(err.Error(), c)
return
}
if strings.Contains(info.PackageName, "\\") || strings.Contains(info.PackageName, "/") || strings.Contains(info.PackageName, "..") {
response.FailWithMessage("包名不合法", c)
return
} // PackageName可能导致路径穿越的问题 / 和 \ 都要防止
err := autoCodePackageService.Create(c.Request.Context(), &info)
if err != nil {
global.GVA_LOG.Error("创建失败!", zap.Error(err))
response.FailWithMessage("创建失败", c)
return
}
response.OkWithMessage("创建成功", c)
}

// Delete
// @Tags AutoCode
// @Summary 删除package
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body system.SysAutoCode true "创建package"
// @Success 200 {object} response.Response{data=map[string]interface{},msg=string} "删除package成功"
// @Router /autoCode/delPackage [post]
func (a *AutoCodePackageApi) Delete(c *gin.Context) {
var info common.GetById
_ = c.ShouldBindJSON(&info)
err := autoCodePackageService.Delete(c.Request.Context(), info)
if err != nil {
global.GVA_LOG.Error("删除失败!", zap.Error(err))
response.FailWithMessage("删除失败", c)
return
}
response.OkWithMessage("删除成功", c)
}

// All
// @Tags AutoCodePackage
// @Summary 获取package
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Success 200 {object} response.Response{data=map[string]interface{},msg=string} "创建package成功"
// @Router /autoCode/getPackage [post]
func (a *AutoCodePackageApi) All(c *gin.Context) {
data, err := autoCodePackageService.All(c.Request.Context())
if err != nil {
global.GVA_LOG.Error("获取失败!", zap.Error(err))
response.FailWithMessage("获取失败", c)
return
}
response.OkWithDetailed(gin.H{"pkgs": data}, "获取成功", c)
}

// Templates
// @Tags AutoCodePackage
// @Summary 获取package
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Success 200 {object} response.Response{data=map[string]interface{},msg=string} "创建package成功"
// @Router /autoCode/getTemplates [get]
func (a *AutoCodePackageApi) Templates(c *gin.Context) {
data, err := autoCodePackageService.Templates(c.Request.Context())
if err != nil {
global.GVA_LOG.Error("获取失败!", zap.Error(err))
response.FailWithMessage("获取失败", c)
return
}
response.OkWithDetailed(data, "获取成功", c)
}
70 changes: 70 additions & 0 deletions server/api/v1/system/auto_code_plugin.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
package system

import (
"fmt"
"github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/model/common/response"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
)

type AutoCodePluginApi struct{}

// Install
// @Tags AutoCodePlugin
// @Summary 安装插件
// @Security ApiKeyAuth
// @accept multipart/form-data
// @Produce application/json
// @Param plug formData file true "this is a test file"
// @Success 200 {object} response.Response{data=[]interface{},msg=string} "安装插件成功"
// @Router /autoCode/installPlugin [post]
func (a *AutoCodePluginApi) Install(c *gin.Context) {
header, err := c.FormFile("plug")
if err != nil {
response.FailWithMessage(err.Error(), c)
return
}
web, server, err := autoCodePluginService.Install(header)
webStr := "web插件安装成功"
serverStr := "server插件安装成功"
if web == -1 {
webStr = "web端插件未成功安装,请按照文档自行解压安装,如果为纯后端插件请忽略此条提示"
}
if server == -1 {
serverStr = "server端插件未成功安装,请按照文档自行解压安装,如果为纯前端插件请忽略此条提示"
}
if err != nil {
response.FailWithMessage(err.Error(), c)
return
}
response.OkWithData([]interface{}{
gin.H{
"code": web,
"msg": webStr,
},
gin.H{
"code": server,
"msg": serverStr,
}}, c)
}

// Packaged
// @Tags AutoCodePlugin
// @Summary 打包插件
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body system.SysAutoCode true "打包插件"
// @Success 200 {object} response.Response{data=map[string]interface{},msg=string} "打包插件成功"
// @Router /autoCode/pubPlug [get]
func (a *AutoCodePluginApi) Packaged(c *gin.Context) {
plugName := c.Query("plugName")
zipPath, err := autoCodePluginService.PubPlug(plugName)
if err != nil {
global.GVA_LOG.Error("打包失败!", zap.Error(err))
response.FailWithMessage("打包失败"+err.Error(), c)
return
}
response.OkWithMessage(fmt.Sprintf("打包成功,文件路径为:%s", zipPath), c)
}
85 changes: 85 additions & 0 deletions server/api/v1/system/auto_code_template.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
package system

import (
"github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/model/common/response"
"github.com/flipped-aurora/gin-vue-admin/server/model/system/request"
"github.com/flipped-aurora/gin-vue-admin/server/utils"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
"net/url"
)

type AutoCodeTemplateApi struct{}

// Preview
// @Tags AutoCodeTemplate
// @Summary 预览创建后的代码
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body system.AutoCodeStruct true "预览创建代码"
// @Success 200 {object} response.Response{data=map[string]interface{},msg=string} "预览创建后的代码"
// @Router /autoCode/preview [post]
func (a *AutoCodeTemplateApi) Preview(c *gin.Context) {
var info request.AutoCode
err := c.ShouldBindJSON(&info)
if err != nil {
response.FailWithMessage(err.Error(), c)
return
}
err = utils.Verify(info, utils.AutoCodeVerify)
if err != nil {
response.FailWithMessage(err.Error(), c)
return
}
err = info.Pretreatment()
if err != nil {
response.FailWithMessage(err.Error(), c)
return
}
info.PackageT = utils.FirstUpper(info.Package)
autoCode, err := autoCodeTemplateService.Preview(c.Request.Context(), info)
if err != nil {
global.GVA_LOG.Error("预览失败!", zap.Error(err))
response.FailWithMessage("预览失败", c)
} else {
response.OkWithDetailed(gin.H{"autoCode": autoCode}, "预览成功", c)
}
}

// Create
// @Tags AutoCodeTemplate
// @Summary 自动代码模板
// @Security ApiKeyAuth
// @accept application/json
// @Produce application/json
// @Param data body system.AutoCodeStruct true "创建自动代码"
// @Success 200 {string} string "{"success":true,"data":{},"msg":"创建成功"}"
// @Router /autoCode/createTemp [post]
func (a *AutoCodeTemplateApi) Create(c *gin.Context) {
var info request.AutoCode
err := c.ShouldBindJSON(&info)
if err != nil {
response.FailWithMessage(err.Error(), c)
return
}
err = utils.Verify(info, utils.AutoCodeVerify)
if err != nil {
response.FailWithMessage(err.Error(), c)
return
}
err = info.Pretreatment()
if err != nil {
response.FailWithMessage(err.Error(), c)
return
}
err = autoCodeTemplateService.Create(c.Request.Context(), info)
if err != nil {
c.Writer.Header().Add("success", "false")
c.Writer.Header().Add("msg", url.QueryEscape(err.Error()))
return
}
c.Writer.Header().Add("Content-Type", "application/json")
c.Writer.Header().Add("success", "true")
}
14 changes: 10 additions & 4 deletions server/api/v1/system/enter.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,13 @@ type ApiGroup struct {
DictionaryApi
AuthorityMenuApi
OperationRecordApi
AutoCodeHistoryApi
DictionaryDetailApi
AuthorityBtnApi
SysExportTemplateApi
AutoCodePluginApi
AutoCodePackageApi
AutoCodeHistoryApi
AutoCodeTemplateApi
}

var (
Expand All @@ -27,13 +30,16 @@ var (
userService = service.ServiceGroupApp.SystemServiceGroup.UserService
initDBService = service.ServiceGroupApp.SystemServiceGroup.InitDBService
casbinService = service.ServiceGroupApp.SystemServiceGroup.CasbinService
autoCodeService = service.ServiceGroupApp.SystemServiceGroup.AutoCodeService
baseMenuService = service.ServiceGroupApp.SystemServiceGroup.BaseMenuService
authorityService = service.ServiceGroupApp.SystemServiceGroup.AuthorityService
dictionaryService = service.ServiceGroupApp.SystemServiceGroup.DictionaryService
authorityBtnService = service.ServiceGroupApp.SystemServiceGroup.AuthorityBtnService
systemConfigService = service.ServiceGroupApp.SystemServiceGroup.SystemConfigService
operationRecordService = service.ServiceGroupApp.SystemServiceGroup.OperationRecordService
autoCodeHistoryService = service.ServiceGroupApp.SystemServiceGroup.AutoCodeHistoryService
dictionaryDetailService = service.ServiceGroupApp.SystemServiceGroup.DictionaryDetailService
authorityBtnService = service.ServiceGroupApp.SystemServiceGroup.AuthorityBtnService
autoCodeService = service.ServiceGroupApp.SystemServiceGroup.AutoCodeService
autoCodePluginService = service.ServiceGroupApp.SystemServiceGroup.AutoCodePlugin
autoCodePackageService = service.ServiceGroupApp.SystemServiceGroup.AutoCodePackage
autoCodeHistoryService = service.ServiceGroupApp.SystemServiceGroup.AutoCodeHistory
autoCodeTemplateService = service.ServiceGroupApp.SystemServiceGroup.AutoCodeTemplate
)
Loading
Loading