mirror of
https://github.com/YFGaia/dify-plus.git
synced 2026-06-04 10:14:00 +08:00
53 lines
2.7 KiB
Go
53 lines
2.7 KiB
Go
package gaia
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
type SystemRouter struct{}
|
|
|
|
// InitSystemRouter 初始化系统路由
|
|
func (s *SystemRouter) InitSystemRouter(Router *gin.RouterGroup) {
|
|
systemRouter := Router.Group("gaia/system")
|
|
{
|
|
systemRouter.GET("dingtalk", systemApi.GetDingTalk) // 获取钉钉系统配置
|
|
systemRouter.POST("dingtalk", systemApi.SetDingTalk) // 设置钉钉系统配置
|
|
systemRouter.GET("dingtalk/test-auth-url", systemApi.GetDingTalkTestAuthURL) // 测试连接:获取钉钉授权 URL
|
|
systemRouter.POST("dingtalk/test-callback", systemApi.DingTalkTestCallback) // 测试连接:回调验证 code
|
|
systemRouter.GET("oauth2", systemOAuth2Api.GetOAuth2Config) // 获取 OAuth2 配置
|
|
systemRouter.POST("oauth2", systemOAuth2Api.SetOAuth2Config) // 设置 OAuth2 配置
|
|
// 邮箱 API 配置测试
|
|
systemRouter.POST("dingtalk/test-email-config", systemApi.TestEmailApiConfig) // 测试第三方邮箱 API 配置
|
|
// 转发 Token 管理
|
|
systemRouter.GET("forward-tokens", systemApi.GetForwardTokens) // 获取转发 Token 列表
|
|
systemRouter.POST("forward-tokens", systemApi.CreateForwardToken) // 新增转发 Token
|
|
systemRouter.DELETE("forward-tokens/:id", systemApi.DeleteForwardToken) // 删除转发 Token
|
|
}
|
|
}
|
|
|
|
// InitForwardProxyRouter 初始化 GPT 转发代理路由
|
|
func (s *SystemRouter) InitForwardProxyRouter(PublicRouter *gin.RouterGroup) {
|
|
// 免 JWT 转发入口,通过 forwarding token + ding_id 鉴权
|
|
PublicRouter.Any("gaia/forward/proxy/*path", forwardProxyApi.ForwardProxy)
|
|
}
|
|
|
|
// InitModelProviderRouter 初始化模型提供商路由
|
|
func (s *SystemRouter) InitModelProviderRouter(Router *gin.RouterGroup) {
|
|
// 管理端 API(需要 JWT 认证)
|
|
modelProviderRouter := Router.Group("gaia/model-provider")
|
|
{
|
|
modelProviderRouter.GET("list", modelProviderApi.GetProviderList) // 获取提供商配置列表
|
|
modelProviderRouter.POST("update", modelProviderApi.UpdateProviderConfig) // 更新提供商配置
|
|
modelProviderRouter.GET("available-models", modelProviderApi.GetAvailableModels) // 获取可用模型
|
|
modelProviderRouter.GET("test-credentials", modelProviderApi.TestProviderCredentials) // 测试凭证
|
|
modelProviderRouter.GET("logs", modelProviderApi.GetProxyLogs) // 获取代理日志
|
|
}
|
|
|
|
// 第三方 API(需要 JWT 认证)
|
|
gaiaRouter := Router.Group("gaia")
|
|
{
|
|
gaiaRouter.GET("models", modelProviderApi.GetModels) // 获取开启的模型列表(OpenAI 格式)
|
|
gaiaRouter.Any("proxy/*path", modelProviderApi.Proxy) // 通用中转 API:按路径转发(v1/chat/completions、v1/messages、v1/images/generations、v1/embeddings 等)
|
|
}
|
|
}
|