Files
ttstd-infinite-canvas/backend/internal/handler/api.go
T
Catlaxy AIandClaude Opus 5.5 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

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)
})
}