🎨 优化项目结构 && 完善ai配置

This commit is contained in:
2026-03-03 15:39:23 +08:00
parent 557c865948
commit 2714e63d2a
585 changed files with 62223 additions and 100018 deletions

View File

@@ -1,23 +1,21 @@
package app
import (
"git.echol.cn/loser/ai_proxy/server/api/v1"
v1 "git.echol.cn/loser/ai_proxy/server/api/v1"
"github.com/gin-gonic/gin"
)
type AiPresetRouter struct{}
var aiPresetApi = v1.ApiGroupApp.AppApiGroup.AiPresetApi
func (r *AiPresetRouter) InitAiPresetRouter(Router *gin.RouterGroup) {
aiPresetRouter := Router.Group("preset")
func (s *AiPresetRouter) InitAiPresetRouter(Router *gin.RouterGroup) {
aiPresetRouter := Router.Group("aiPreset")
aiPresetApi := v1.ApiGroupApp.AppApiGroup.AiPresetApi
{
aiPresetRouter.POST("", aiPresetApi.CreateAiPreset) // 创建预设
aiPresetRouter.PUT("", aiPresetApi.UpdateAiPreset) // 更新预设
aiPresetRouter.DELETE(":id", aiPresetApi.DeleteAiPreset) // 删除预设
aiPresetRouter.POST("import", aiPresetApi.ImportAiPreset) // 导入预设
aiPresetRouter.GET(":id", aiPresetApi.GetAiPreset) // 获取预设详情
aiPresetRouter.GET("list", aiPresetApi.GetAiPresetList) // 获取预设列表
aiPresetRouter.GET(":id/export", aiPresetApi.ExportAiPreset) // 导出预设
aiPresetRouter.POST("createAiPreset", aiPresetApi.CreateAiPreset)
aiPresetRouter.DELETE("deleteAiPreset", aiPresetApi.DeleteAiPreset)
aiPresetRouter.PUT("updateAiPreset", aiPresetApi.UpdateAiPreset)
aiPresetRouter.GET("findAiPreset", aiPresetApi.FindAiPreset)
aiPresetRouter.GET("getAiPresetList", aiPresetApi.GetAiPresetList)
aiPresetRouter.POST("importAiPreset", aiPresetApi.ImportAiPreset)
}
}

View File

@@ -1,20 +1,20 @@
package app
import (
"git.echol.cn/loser/ai_proxy/server/api/v1"
v1 "git.echol.cn/loser/ai_proxy/server/api/v1"
"github.com/gin-gonic/gin"
)
type PresetBindingRouter struct{}
type AiPresetBindingRouter struct{}
var presetBindingApi = v1.ApiGroupApp.AppApiGroup.PresetBindingApi
func (r *PresetBindingRouter) InitPresetBindingRouter(Router *gin.RouterGroup) {
bindingRouter := Router.Group("binding")
func (s *AiPresetBindingRouter) InitAiPresetBindingRouter(Router *gin.RouterGroup) {
aiPresetBindingRouter := Router.Group("aiPresetBinding")
aiPresetBindingApi := v1.ApiGroupApp.AppApiGroup.AiPresetBindingApi
{
bindingRouter.POST("", presetBindingApi.CreateBinding) // 创建绑定
bindingRouter.PUT("", presetBindingApi.UpdateBinding) // 更新绑定
bindingRouter.DELETE(":id", presetBindingApi.DeleteBinding) // 删除绑定
bindingRouter.GET("list", presetBindingApi.GetBindingList) // 获取绑定列表
aiPresetBindingRouter.POST("createAiPresetBinding", aiPresetBindingApi.CreateAiPresetBinding)
aiPresetBindingRouter.DELETE("deleteAiPresetBinding", aiPresetBindingApi.DeleteAiPresetBinding)
aiPresetBindingRouter.PUT("updateAiPresetBinding", aiPresetBindingApi.UpdateAiPresetBinding)
aiPresetBindingRouter.GET("findAiPresetBinding", aiPresetBindingApi.FindAiPresetBinding)
aiPresetBindingRouter.GET("getAiPresetBindingList", aiPresetBindingApi.GetAiPresetBindingList)
}
}

View File

@@ -1,23 +1,20 @@
package app
import (
"git.echol.cn/loser/ai_proxy/server/api/v1"
v1 "git.echol.cn/loser/ai_proxy/server/api/v1"
"github.com/gin-gonic/gin"
)
type AiProviderRouter struct{}
var aiProviderApi = v1.ApiGroupApp.AppApiGroup.AiProviderApi
func (r *AiProviderRouter) InitAiProviderRouter(Router *gin.RouterGroup) {
aiProviderRouter := Router.Group("provider")
func (s *AiProviderRouter) InitAiProviderRouter(Router *gin.RouterGroup) {
aiProviderRouter := Router.Group("aiProvider")
aiProviderApi := v1.ApiGroupApp.AppApiGroup.AiProviderApi
{
aiProviderRouter.POST("", aiProviderApi.CreateAiProvider) // 创建提供商
aiProviderRouter.PUT("", aiProviderApi.UpdateAiProvider) // 更新提供商
aiProviderRouter.DELETE(":id", aiProviderApi.DeleteAiProvider) // 删除提供商
aiProviderRouter.GET(":id", aiProviderApi.GetAiProvider) // 获取提供商详情
aiProviderRouter.GET("list", aiProviderApi.GetAiProviderList) // 获取提供商列表
aiProviderRouter.POST("test", aiProviderApi.TestConnection) // 测试连接
aiProviderRouter.POST("models", aiProviderApi.GetModels) // 获取模型列表
aiProviderRouter.POST("createAiProvider", aiProviderApi.CreateAiProvider)
aiProviderRouter.DELETE("deleteAiProvider", aiProviderApi.DeleteAiProvider)
aiProviderRouter.PUT("updateAiProvider", aiProviderApi.UpdateAiProvider)
aiProviderRouter.GET("findAiProvider", aiProviderApi.FindAiProvider)
aiProviderRouter.GET("getAiProviderList", aiProviderApi.GetAiProviderList)
}
}

View File

@@ -1,17 +1,16 @@
package app
import (
"git.echol.cn/loser/ai_proxy/server/api/v1"
v1 "git.echol.cn/loser/ai_proxy/server/api/v1"
"github.com/gin-gonic/gin"
)
type AiProxyRouter struct{}
var aiProxyApi = v1.ApiGroupApp.AppApiGroup.AiProxyApi
func (r *AiProxyRouter) InitAiProxyRouter(Router *gin.RouterGroup) {
aiProxyRouter := Router.Group("")
func (s *AiProxyRouter) InitAiProxyRouter(Router *gin.RouterGroup) {
aiProxyRouter := Router.Group("v1")
aiProxyApi := v1.ApiGroupApp.AppApiGroup.AiProxyApi
{
aiProxyRouter.POST("chat/completions", aiProxyApi.ChatCompletions) // OpenAI兼容接口
aiProxyRouter.POST("chat/completions", aiProxyApi.ChatCompletions)
}
}

View File

@@ -1,8 +1,8 @@
package app
type RouterGroup struct {
AiPresetRouter AiPresetRouter
AiProviderRouter AiProviderRouter
AiProxyRouter AiProxyRouter
PresetBindingRouter PresetBindingRouter
AiProxyRouter
AiPresetRouter
AiProviderRouter
AiPresetBindingRouter
}