优化 ScriptService 中的渲染数据获取逻辑,添加筛选功能以排除空内容的 block;

This commit is contained in:
北枳 2025-08-07 15:40:11 +08:00
parent 1517accb6b
commit 374dd02c0e
3 changed files with 7 additions and 4 deletions

View File

@ -467,7 +467,7 @@ export const useScriptService = (): UseScriptService => {
// 在ScriptService中添加一个方法来获取渲染数据 // 在ScriptService中添加一个方法来获取渲染数据
const scriptBlocksMemo = useMemo((): ScriptBlock[] => { const scriptBlocksMemo = useMemo((): ScriptBlock[] => {
return [ const arr = [
parseScriptBlock("synopsis", "Logline", synopsis || ""), parseScriptBlock("synopsis", "Logline", synopsis || ""),
parseScriptBlock('categories', 'GENRE', categories.join(', ') || '', 'tag'), parseScriptBlock('categories', 'GENRE', categories.join(', ') || '', 'tag'),
parseScriptBlock("protagonist", "Core Identity", protagonist || ""), parseScriptBlock("protagonist", "Core Identity", protagonist || ""),
@ -485,6 +485,9 @@ export const useScriptService = (): UseScriptService => {
characterArc || "" characterArc || ""
), ),
]; ];
// 筛选出有内容的block
const filteredArr = arr.filter(item => (item.content.length > 0 && item.content[0].text !== ''));
return filteredArr;
}, [ }, [
synopsis, synopsis,
categories, categories,

View File

@ -168,7 +168,7 @@ export class ScriptEditUseCase {
const response = await saveScript({ const response = await saveScript({
project_id: projectId, project_id: projectId,
generated_script: scriptText, generated_script: scriptText,
user_id: User?.id || "", user_id: String(User?.id) || "",
}); });
if (!response.successful) { if (!response.successful) {

View File

@ -90,12 +90,12 @@ export function useWorkflowData() {
// 初始化剧本 // 初始化剧本
useEffect(() => { useEffect(() => {
console.log('开始初始化剧本', originalText); console.log('开始初始化剧本', originalText);
initializeFromProject(episodeId, originalText); originalText && initializeFromProject(episodeId, originalText);
}, [originalText]); }, [originalText]);
// 监听剧本加载完毕 // 监听剧本加载完毕
useEffect(() => { useEffect(() => {
if (!loading) { if (!loading) {
console.log('scriptBlocksMemo', scriptBlocksMemo); console.log('开始初始化剧本-scriptBlocksMemo', scriptBlocksMemo);
} }
}, [loading, scriptBlocksMemo]); }, [loading, scriptBlocksMemo]);