From c12b77a74e85f5a89c609e26e01b0c070055cf3e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=8C=97=E6=9E=B3?=
<7854742+wang_rumeng@user.noreply.gitee.com>
Date: Sun, 10 Aug 2025 20:39:23 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=B7=A5=E4=BD=9C=E6=B5=81?=
=?UTF-8?q?=E7=BB=84=E4=BB=B6=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=9B=9E=E9=80=80?=
=?UTF-8?q?=E5=88=B0=E6=8C=87=E5=AE=9A=E6=AD=A5=E9=AA=A4=E7=9A=84=E5=8A=9F?=
=?UTF-8?q?=E8=83=BD=EF=BC=8C=E5=B9=B6=E4=BC=98=E5=8C=96=E6=9A=82=E5=81=9C?=
=?UTF-8?q?/=E6=92=AD=E6=94=BE=E6=8C=89=E9=92=AE=E7=9A=84=E6=98=BE?=
=?UTF-8?q?=E7=A4=BA=E9=80=BB=E8=BE=91=E3=80=82=E5=90=8C=E6=97=B6=EF=BC=8C?=
=?UTF-8?q?=E7=BC=96=E8=BE=91=E6=A8=A1=E6=80=81=E6=A1=86=E4=B8=AD=E9=9B=86?=
=?UTF-8?q?=E6=88=90=E4=BA=86=E5=9B=9E=E9=80=80=E5=8A=9F=E8=83=BD=EF=BC=8C?=
=?UTF-8?q?=E7=A1=AE=E4=BF=9D=E5=9C=A8=E4=B8=8D=E5=90=8C=E9=80=89=E9=A1=B9?=
=?UTF-8?q?=E4=B8=8B=E8=83=BD=E5=A4=9F=E6=AD=A3=E7=A1=AE=E5=BA=94=E7=94=A8?=
=?UTF-8?q?=E5=89=A7=E6=9C=AC=E3=80=82=E6=9B=B4=E6=96=B0=E4=BA=86=E7=9B=B8?=
=?UTF-8?q?=E5=85=B3=E6=8E=A5=E5=8F=A3=E7=9A=84=E5=AF=BC=E5=85=A5=EF=BC=8C?=
=?UTF-8?q?=E6=8F=90=E5=8D=87=E4=BA=86=E4=BB=A3=E7=A0=81=E7=9A=84=E5=8F=AF?=
=?UTF-8?q?=E8=AF=BB=E6=80=A7=E5=92=8C=E5=8A=9F=E8=83=BD=E6=80=A7=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/pages/work-flow.tsx | 9 ++++++---
.../pages/work-flow/use-workflow-data.tsx | 19 +++++++++++++++----
components/ui/edit-modal.tsx | 17 +++++++++++++----
components/ui/shot-tab-content.tsx | 2 +-
4 files changed, 35 insertions(+), 12 deletions(-)
diff --git a/components/pages/work-flow.tsx b/components/pages/work-flow.tsx
index 1f024ed..5966bd3 100644
--- a/components/pages/work-flow.tsx
+++ b/components/pages/work-flow.tsx
@@ -46,7 +46,8 @@ export default function WorkFlow() {
mode,
setIsPauseWorkFlow,
setAnyAttribute,
- applyScript
+ applyScript,
+ fallbackToStep
} = useWorkflowData();
const {
@@ -225,8 +226,8 @@ export default function WorkFlow() {
{/* 暂停/播放按钮 */}
{
- currentStep !== '6' && (
-
+ (currentStep !== '6' && currentStep !== '0') && (
+
diff --git a/components/pages/work-flow/use-workflow-data.tsx b/components/pages/work-flow/use-workflow-data.tsx
index 26e99d4..2a77e2b 100644
--- a/components/pages/work-flow/use-workflow-data.tsx
+++ b/components/pages/work-flow/use-workflow-data.tsx
@@ -2,7 +2,7 @@
import { useState, useEffect, useCallback } from 'react';
import { useSearchParams } from 'next/navigation';
-import { detailScriptEpisodeNew, getScriptTitle, getRunningStreamData } from '@/api/video_flow';
+import { detailScriptEpisodeNew, getScriptTitle, getRunningStreamData, pauseMovieProjectPlan, resumeMovieProjectPlan } from '@/api/video_flow';
import { useAppDispatch, useAppSelector } from '@/lib/store/hooks';
import { setSketchCount, setVideoCount } from '@/lib/store/workflowSlice';
import { useScriptService } from "@/app/service/Interaction/ScriptService";
@@ -96,7 +96,7 @@ export function useWorkflowData() {
console.log('开始初始化剧本', originalText);
originalText && initializeFromProject(episodeId, originalText).then(() => {
console.log('应用剧本');
- // 默认模式下 应用剧本
+ // 自动模式下 应用剧本;手动模式 需要点击 下一步 触发
mode.includes('auto') && applyScript();
});
}, [originalText]);
@@ -110,7 +110,11 @@ export function useWorkflowData() {
}, [scriptBlocksMemo]);
// 监听继续 请求更新数据
useEffect(() => {
-
+ if (isPauseWorkFlow) {
+ pauseMovieProjectPlan({ project_id: episodeId });
+ } else {
+ resumeMovieProjectPlan({ project_id: episodeId });
+ }
}, [isPauseWorkFlow]);
// 自动开始播放一轮
@@ -568,6 +572,12 @@ export function useWorkflowData() {
}
};
+ // 回退到 指定状态 重新获取数据
+ const fallbackToStep = (step: string) => {
+ setCurrentStep(step);
+ setNeedStreamData(true);
+ }
+
// 重试加载数据
const retryLoadData = () => {
setDataLoadError(null);
@@ -617,6 +627,7 @@ export function useWorkflowData() {
mode,
setIsPauseWorkFlow,
setAnyAttribute,
- applyScript
+ applyScript,
+ fallbackToStep
};
}
diff --git a/components/ui/edit-modal.tsx b/components/ui/edit-modal.tsx
index 36b7baa..3c3024b 100644
--- a/components/ui/edit-modal.tsx
+++ b/components/ui/edit-modal.tsx
@@ -29,6 +29,7 @@ interface EditModalProps {
isPauseWorkFlow: boolean;
scriptData: any[] | null;
applyScript: any;
+ fallbackToStep: any;
}
const tabs = [
@@ -57,7 +58,8 @@ export function EditModal({
setAnyAttribute,
isPauseWorkFlow,
scriptData,
- applyScript
+ applyScript,
+ fallbackToStep
}: EditModalProps) {
const [activeTab, setActiveTab] = useState(activeEditTab);
const [currentIndex, setCurrentIndex] = useState(currentSketchIndex);
@@ -104,6 +106,13 @@ export function EditModal({
const handleConfirmGotoFallback = () => {
console.log('handleConfirmGotoFallback');
+ if (activeTab === '0') {
+ fallbackToStep('0');
+ // 应用剧本
+ applyScript();
+ } else {
+ fallbackToStep('1');
+ }
}
const handleCloseRemindFallbackPanel = () => {
setIsRemindFallbackOpen(false);
@@ -295,7 +304,7 @@ export function EditModal({
-
将重新生成视频并剪辑,是否需要继续?
+
The task will be regenerated and edited. Do you want to continue?
@@ -305,7 +314,7 @@ export function EditModal({
className="px-4 py-2 bg-blue-600 hover:bg-blue-700 rounded-md transition-colors duration-200 flex items-center gap-2"
>
- 继续
+ Continue
diff --git a/components/ui/shot-tab-content.tsx b/components/ui/shot-tab-content.tsx
index 1bfc3b5..11cbf63 100644
--- a/components/ui/shot-tab-content.tsx
+++ b/components/ui/shot-tab-content.tsx
@@ -236,7 +236,7 @@ export function ShotTabContent({
>
- Segment {index + 1}
+ Segment {index + 1}
{shot.status === 0 && (
)}