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

View File

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

View File

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