From 2a77453e1a3d04a005c3b09191ce280df32a13e7 Mon Sep 17 00:00:00 2001 From: feitianbubu Date: Fri, 28 Nov 2025 12:39:37 +0800 Subject: [PATCH] feat: all video preview use videos/:id/content --- controller/video_proxy.go | 9 ++++----- router/video-router.go | 2 +- .../components/table/task-logs/TaskLogsColumnDefs.jsx | 3 ++- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/controller/video_proxy.go b/controller/video_proxy.go index 829a94c1b..a577cf819 100644 --- a/controller/video_proxy.go +++ b/controller/video_proxy.go @@ -117,13 +117,12 @@ func VideoProxy(c *gin.Context) { return } req.Header.Set("x-goog-api-key", apiKey) - case constant.ChannelTypeAli: - // Video URL is directly in task.FailReason - videoURL = task.FailReason - default: - // Default (Sora, etc.): Use original logic + case constant.ChannelTypeOpenAI, constant.ChannelTypeSora: videoURL = fmt.Sprintf("%s/v1/videos/%s/content", baseURL, task.TaskID) req.Header.Set("Authorization", "Bearer "+channel.Key) + default: + // Video URL is directly in task.FailReason + videoURL = task.FailReason } req.URL, err = url.Parse(videoURL) diff --git a/router/video-router.go b/router/video-router.go index 72459fe18..87097cf86 100644 --- a/router/video-router.go +++ b/router/video-router.go @@ -9,9 +9,9 @@ import ( func SetVideoRouter(router *gin.Engine) { videoV1Router := router.Group("/v1") - videoV1Router.GET("/videos/:task_id/content", controller.VideoProxy) videoV1Router.Use(middleware.TokenAuth(), middleware.Distribute()) { + videoV1Router.GET("/videos/:task_id/content", controller.VideoProxy) videoV1Router.POST("/video/generations", controller.RelayTask) videoV1Router.GET("/video/generations/:task_id", controller.RelayTask) } diff --git a/web/src/components/table/task-logs/TaskLogsColumnDefs.jsx b/web/src/components/table/task-logs/TaskLogsColumnDefs.jsx index 1f097b2b7..530518d18 100644 --- a/web/src/components/table/task-logs/TaskLogsColumnDefs.jsx +++ b/web/src/components/table/task-logs/TaskLogsColumnDefs.jsx @@ -363,12 +363,13 @@ export const getTaskLogsColumns = ({ const isSuccess = record.status === 'SUCCESS'; const isUrl = typeof text === 'string' && /^https?:\/\//.test(text); if (isSuccess && isVideoTask && isUrl) { + const videoUrl = `/v1/videos/${record.task_id}/content`; return ( { e.preventDefault(); - openVideoModal(text); + openVideoModal(videoUrl); }} > {t('点击预览视频')}