kra/internal/server/router/system/sys_auto_code.go

60 lines
2.4 KiB
Go

package system
import (
handler "kra/internal/server/handler/system"
"kra/internal/server/middleware"
"github.com/gin-gonic/gin"
)
type AutoCodeRouter struct{}
var (
autoCodePackageApi = handler.AutoCodePackageApi{}
autoCodeTemplateApi = handler.AutoCodeTemplateApi{}
autoCodePluginApi = handler.AutoCodePluginApi{}
autoCodeMcpApi = handler.AutoCodeMcpApi{}
)
// InitAutoCodeRouter 初始化自动代码路由
func (s *AutoCodeRouter) InitAutoCodeRouter(Router *gin.RouterGroup, PublicRouter *gin.RouterGroup) {
autoCodeRouter := Router.Group("autoCode").Use(middleware.OperationRecordMiddleware())
autoCodeRouterWithoutRecord := Router.Group("autoCode")
publicAutoCodeRouter := PublicRouter.Group("autoCode")
{
autoCodeRouterWithoutRecord.GET("getDB", autoCodeApi.GetDB) // 获取数据库
autoCodeRouterWithoutRecord.GET("getTables", autoCodeApi.GetTables) // 获取对应数据库的表
autoCodeRouterWithoutRecord.GET("getColumn", autoCodeApi.GetColumn) // 获取指定表所有字段信息
}
{
// 代码包管理
autoCodeRouter.POST("getPackage", autoCodePackageApi.All) // 获取所有包
autoCodeRouter.POST("delPackage", autoCodePackageApi.Delete) // 删除包
autoCodeRouter.POST("createPackage", autoCodePackageApi.Create) // 创建包
autoCodeRouter.GET("getTemplates", autoCodePackageApi.Templates) // 获取所有模版
}
{
// 代码模板
autoCodeRouter.POST("preview", autoCodeTemplateApi.Preview) // 预览代码
autoCodeRouter.POST("createTemp", autoCodeTemplateApi.Create) // 创建代码
autoCodeRouter.POST("addFunc", autoCodeTemplateApi.AddFunc) // 增加方法
}
{
// MCP相关
autoCodeRouter.POST("mcp", autoCodeMcpApi.MCP) // 自动创建Mcp Tool模板
autoCodeRouter.POST("mcpList", autoCodeMcpApi.MCPList) // 获取MCP ToolList
autoCodeRouter.POST("mcpTest", autoCodeMcpApi.MCPTest) // MCP 工具测试
}
{
// 插件管理
autoCodeRouter.POST("pubPlug", autoCodePluginApi.Packaged) // 打包插件
autoCodeRouter.POST("installPlugin", autoCodePluginApi.Install) // 安装插件
}
{
// 公开路由
publicAutoCodeRouter.POST("llmAuto", autoCodeApi.LLMAuto) // LLM自动生成
publicAutoCodeRouter.POST("initMenu", autoCodePluginApi.InitMenu) // 初始化插件菜单
publicAutoCodeRouter.POST("initAPI", autoCodePluginApi.InitAPI) // 初始化插件API
}
}