Files
ttstd-infinite-canvas/backend/internal/handler/api.go
Catlaxy AI 28f2362e3e fix(handler): 短剧开关 - 关闭短剧时保留角色库、画风与声音接口 (#736)
短剧功能开关原本挂在整个 RegisterProjectRoutes 上,连画布共用的 /characters、
/style-profiles、/voice-profiles 也一起返回 403,导致关闭短剧后画布的角色库、我的画风和声音不可用。
将这三类个人资料库路由拆到 RegisterLibraryRoutes,在开关之外注册;/projects 系列仍受开关控制,登录校验不变。

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 22:03:57 +08:00

57 lines
1.8 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package handler
import (
"net/http"
"yingce/backend/internal/service"
"github.com/gin-gonic/gin"
)
// RegisterCanvasAPI 注册当前公开 HTTP API。main 把它挂在 /api。前后端一起发布,不做路径版本前缀。
func RegisterCanvasAPI(api *gin.RouterGroup, svc *service.Service) {
RegisterOpenAPIRoutes(api)
RegisterAuthRoutes(api, svc)
RegisterAppearanceRoutes(api, svc)
RegisterFeatureAvailabilityRoutes(api, svc)
RegisterAgentRoutes(api, svc)
RegisterAgentMemoryRoutes(api, svc)
RegisterResponseInterceptionRoutes(api, svc)
RegisterAdminRoutes(api, svc)
RegisterAgentLessonAdminRoutes(api, svc)
RegisterAdminAnalyticsRoutes(api, svc)
RegisterAdminStorageRoutes(api, svc)
RegisterAdminUpdateRoutes(api, svc)
RegisterAdminSystemPerformanceRoutes(api, svc)
RegisterAnnouncementRoutes(api, svc)
RegisterFinanceRoutes(api, svc)
RegisterCreationRoutes(api, svc)
RegisterPaymentRoutes(api, svc)
RegisterLibTVRoutes(api, svc)
RegisterTapNowRoutes(api, svc)
RegisterChannelModelRoutes(api, svc)
RegisterLogicalModelRoutes(api, svc)
RegisterModelCatalogRoutes(api, svc)
RegisterSystemProxyRoutes(api, svc)
RegisterCustomRelayRoutes(api, svc)
RegisterTaskRoutes(api, svc)
RegisterRunningHubRoutes(api, svc)
RegisterSkillRoutes(api, svc)
RegisterToolRoutes(api, svc)
RegisterUserDataRoutes(api, svc)
RegisterChunkedUploadRoutes(api, svc)
RegisterDiagnosticsRoutes(api, svc)
RegisterPluginRoutes(api, svc)
RegisterLibraryRoutes(api, svc)
projectAPI := api.Group("")
projectAPI.Use(RequireFeature(svc, service.FeatureShortDrama))
RegisterProjectRoutes(projectAPI, svc)
RegisterCanvasShareRoutes(api, svc)
}
func RegisterOpenAPIRoutes(api *gin.RouterGroup) {
api.GET("/openapi.yaml", func(c *gin.Context) {
c.Data(http.StatusOK, "application/yaml; charset=utf-8", openAPISpec)
})
}