package app import ( v1 "git.echol.cn/loser/st/server/api/v1" "git.echol.cn/loser/st/server/middleware" "github.com/gin-gonic/gin" ) type ProviderRouter struct{} func (pr *ProviderRouter) InitProviderRouter(Router *gin.RouterGroup) { providerApi := v1.ApiGroupApp.AppApiGroup.ProviderApi // 公开接口(不需要登录) providerPublicRouter := Router.Group("provider") { providerPublicRouter.GET("/types", providerApi.GetProviderTypes) // 获取支持的提供商类型 providerPublicRouter.GET("/presetModels", providerApi.GetPresetModels) // 获取预设模型列表 } // 需要登录的接口 providerAuthRouter := Router.Group("provider").Use(middleware.AppJWTAuth()) { // 提供商 CRUD providerAuthRouter.POST("", providerApi.CreateProvider) // 创建提供商 providerAuthRouter.GET("/list", providerApi.GetProviderList) // 获取列表 providerAuthRouter.GET("/:id", providerApi.GetProviderDetail) // 获取详情 providerAuthRouter.PUT("", providerApi.UpdateProvider) // 更新提供商 providerAuthRouter.DELETE("/:id", providerApi.DeleteProvider) // 删除提供商 providerAuthRouter.POST("/setDefault", providerApi.SetDefaultProvider) // 设置默认 // 连通性测试 providerAuthRouter.POST("/test", providerApi.TestProvider) // 测试连接(不需要先保存) providerAuthRouter.GET("/test/:id", providerApi.TestExistingProvider) // 测试已保存的连接 // 远程模型获取 providerAuthRouter.POST("/fetchModels", providerApi.FetchRemoteModels) // 获取远程模型列表 providerAuthRouter.GET("/fetchModels/:id", providerApi.FetchRemoteModelsExisting) // 获取已保存提供商的远程模型 // 测试消息 providerAuthRouter.POST("/testMessage", providerApi.SendTestMessage) // 发送测试消息 providerAuthRouter.POST("/testMessage/:id", providerApi.SendTestMessageExisting) // 已保存提供商发测试消息 // 模型管理 providerAuthRouter.POST("/model", providerApi.AddModel) // 添加模型 providerAuthRouter.PUT("/model", providerApi.UpdateModel) // 更新模型 providerAuthRouter.DELETE("/model/:id", providerApi.DeleteModel) // 删除模型 } }