🎉 初始化项目

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
}

13
server/router/enter.go Normal file
View File

@@ -0,0 +1,13 @@
package router
import (
"git.echol.cn/loser/ai_proxy/server/router/app"
"git.echol.cn/loser/ai_proxy/server/router/system"
)
var RouterGroupApp = new(RouterGroup)
type RouterGroup struct {
System system.RouterGroup
App app.RouterGroup
}

View File

@@ -0,0 +1,6 @@
package system
type RouterGroup struct {
UserRouter UserRouter
ApiRouter ApiRouter
}

View File

@@ -0,0 +1,21 @@
package system
import (
"git.echol.cn/loser/ai_proxy/server/api/v1"
"github.com/gin-gonic/gin"
)
type ApiRouter struct{}
var apiApi = v1.ApiGroupApp.SystemApiGroup.ApiApi
func (r *ApiRouter) InitApiRouter(Router *gin.RouterGroup) {
apiRouter := Router.Group("api")
{
apiRouter.POST("", apiApi.CreateApi) // 创建API
apiRouter.PUT("", apiApi.UpdateApi) // 更新API
apiRouter.DELETE(":id", apiApi.DeleteApi) // 删除API
apiRouter.GET("list", apiApi.GetApiList) // 获取API列表
apiRouter.GET(":id", apiApi.GetApiById) // 根据ID获取API
}
}

View File

@@ -0,0 +1,29 @@
package system
import (
"git.echol.cn/loser/ai_proxy/server/api/v1"
"github.com/gin-gonic/gin"
)
type UserRouter struct{}
var userApi = v1.ApiGroupApp.SystemApiGroup.UserApi
func (r *UserRouter) InitUserRouter(Router *gin.RouterGroup) {
userRouter := Router.Group("user")
{
userRouter.POST("login", userApi.Login) // 登录
userRouter.POST("register", userApi.Register) // 注册
}
userAuthRouter := Router.Group("user")
// userAuthRouter.Use(middleware.JWTAuth()) // 需要认证的路由
{
userAuthRouter.GET("info", userApi.GetUserInfo) // 获取用户信息
userAuthRouter.GET("list", userApi.GetUserList) // 获取用户列表
userAuthRouter.PUT("", userApi.UpdateUser) // 更新用户
userAuthRouter.DELETE(":id", userApi.DeleteUser) // 删除用户
userAuthRouter.GET("apikey", userApi.GetAPIKey) // 获取API密钥
userAuthRouter.POST("apikey/regenerate", userApi.RegenerateAPIKey) // 重新生成API密钥
}
}