diff --git a/components/pages/work-flow.tsx b/components/pages/work-flow.tsx index c995c56..21bb39a 100644 --- a/components/pages/work-flow.tsx +++ b/components/pages/work-flow.tsx @@ -13,7 +13,6 @@ import { usePlaybackControls } from "./work-flow/use-playback-controls"; import { AlertCircle, RefreshCw, Pause, Play, ChevronLast } from "lucide-react"; import { motion } from "framer-motion"; import { GlassIconButton } from '@/components/ui/glass-icon-button'; -import { useScriptData } from "./work-flow/use-script-data"; export default function WorkFlow() { const containerRef = useRef(null); @@ -23,6 +22,7 @@ export default function WorkFlow() { // 使用自定义 hooks 管理状态 const { taskObject, + scriptData, taskSketch, taskScenes, taskShotSketch, @@ -57,10 +57,6 @@ export default function WorkFlow() { playTimerRef, } = usePlaybackControls(taskSketch, taskVideos, currentStep); - const { - scriptData - } = useScriptData(); - // 跟踪是否已经自动开始播放过,避免重复触发 const hasAutoStartedRef = useRef(false); diff --git a/components/pages/work-flow/use-script-data.tsx b/components/pages/work-flow/use-script-data.tsx deleted file mode 100644 index c2a7d0e..0000000 --- a/components/pages/work-flow/use-script-data.tsx +++ /dev/null @@ -1,44 +0,0 @@ - - -import { useEffect, useState } from "react"; -import { useScriptService } from "@/app/service/Interaction/ScriptService"; -import { useSearchParams } from 'next/navigation'; - -export const useScriptData = () => { - const searchParams = useSearchParams(); - const projectId = searchParams.get('episodeId') || ''; - - const { - loading, // 加载状态 - synopsis, //故事梗概 - categories, //故事分类 - protagonist, //主角 - incitingIncident, //激励事件 - problem, //问题与新目标 - conflict, //冲突与障碍 - stakes, //赌注 - characterArc, //人物弧线完成 - planId, //计划ID - aiOptimizing, //AI优化要求 - scriptBlocksMemo, // 渲染数据 - initializeFromProject, - } = useScriptService(); - - const [scriptData, setScriptData] = useState(null); - - // 初始化剧本 - useEffect(() => { - initializeFromProject(projectId); - }, []); - - // 监听剧本加载完毕 - useEffect(() => { - if (!loading) { - console.log('scriptBlocksMemo', scriptBlocksMemo); - } - }, [loading, scriptBlocksMemo]); - - return { - scriptData - } -} \ No newline at end of file diff --git a/components/pages/work-flow/use-workflow-data.tsx b/components/pages/work-flow/use-workflow-data.tsx index 0b4db21..c65a594 100644 --- a/components/pages/work-flow/use-workflow-data.tsx +++ b/components/pages/work-flow/use-workflow-data.tsx @@ -5,6 +5,7 @@ import { useSearchParams } from 'next/navigation'; import { detailScriptEpisodeNew, getScriptTitle, getRunningStreamData } 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"; // 步骤映射 const STEP_MAP = { @@ -53,10 +54,12 @@ interface TaskObject { export function useWorkflowData() { const searchParams = useSearchParams(); - const episodeId = searchParams.get('episodeId'); + const episodeId = searchParams.get('episodeId') || ''; // 更新 taskObject 的类型 const [taskObject, setTaskObject] = useState(null); + const [originalText, setOriginalText] = useState(''); + const [scriptData, setScriptData] = useState(null); const [taskSketch, setTaskSketch] = useState([]); const [taskScenes, setTaskScenes] = useState([]); const [taskShotSketch, setTaskShotSketch] = useState([]); @@ -79,6 +82,23 @@ export function useWorkflowData() { const dispatch = useAppDispatch(); const { sketchCount, videoCount } = useAppSelector((state) => state.workflow); + const { + loading, // 加载状态 + scriptBlocksMemo, // 渲染剧本数据 + initializeFromProject, + } = useScriptService(); + // 初始化剧本 + useEffect(() => { + console.log('开始初始化剧本', originalText); + initializeFromProject(episodeId); + }, [originalText]); + // 监听剧本加载完毕 + useEffect(() => { + if (!loading) { + console.log('scriptBlocksMemo', scriptBlocksMemo); + } + }, [loading, scriptBlocksMemo]); + // 自动开始播放一轮 const autoPlaySketch = useCallback(() => { return new Promise((resolve) => { @@ -355,8 +375,9 @@ export function useWorkflowData() { throw new Error(response.message); } - const { name, status, data, tags, mode } = response.data; + const { name, status, data, tags, mode, original_text } = response.data; setMode(mode); + setOriginalText(original_text); setIsLoading(false); // 设置初始数据 @@ -556,6 +577,7 @@ export function useWorkflowData() { return { taskObject, + scriptData, taskSketch, taskScenes, taskShotSketch,