🎉 初始化项目

This commit is contained in:
2026-03-03 06:05:51 +08:00
commit e1c70fe218
241 changed files with 148285 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
package app
import (
"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")
{
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) // 导出预设
}
}

View File

@@ -0,0 +1,20 @@
package app
import (
"git.echol.cn/loser/ai_proxy/server/api/v1"
"github.com/gin-gonic/gin"
)
type PresetBindingRouter struct{}
var presetBindingApi = v1.ApiGroupApp.AppApiGroup.PresetBindingApi
func (r *PresetBindingRouter) InitPresetBindingRouter(Router *gin.RouterGroup) {
bindingRouter := Router.Group("binding")
{
bindingRouter.POST("", presetBindingApi.CreateBinding) // 创建绑定
bindingRouter.PUT("", presetBindingApi.UpdateBinding) // 更新绑定
bindingRouter.DELETE(":id", presetBindingApi.DeleteBinding) // 删除绑定
bindingRouter.GET("list", presetBindingApi.GetBindingList) // 获取绑定列表
}
}

View File

@@ -0,0 +1,23 @@
package app
import (
"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")
{
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) // 获取模型列表
}
}

View File

@@ -0,0 +1,17 @@
package app
import (
"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("")
{
aiProxyRouter.POST("chat/completions", aiProxyApi.ChatCompletions) // OpenAI兼容接口
}
}

View File

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