fix(video-pipeline): 修正清单字段存在性校验逻辑
将 `cmd-init.js` 和 `cmd-validate.js` 中的虚值校验(`!item[f]`、`!item.script && !item.text`)改为更精确的字段存在性校验(`!(f in item) || item[f] == null`、`!('script' in item || 'text' in item)`),避免因空字符串或零值等合法空输入导致误报错误。
This commit is contained in:
@@ -49,7 +49,7 @@ function initManifest(options) {
|
||||
for (let i = 0; i < rawItems.length; i++) {
|
||||
const item = rawItems[i]
|
||||
for (const f of requiredFields) {
|
||||
if (!item[f]) {
|
||||
if (!(f in item) || item[f] == null) {
|
||||
console.error(`错误: items[${i}] 缺少必填字段 "${f}"`)
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ function validateManifest(manifestPath) {
|
||||
if (manifest.items && Array.isArray(manifest.items)) {
|
||||
manifest.items.forEach((item, i) => {
|
||||
const prefix = `items[${i}]`
|
||||
if (!item.script && !item.text) issues.push(`${prefix} 缺少 script 或 text(中文文案)`)
|
||||
if (!('script' in item || 'text' in item)) issues.push(`${prefix} 缺少 script 或 text(中文文案)`)
|
||||
if (!item.shotDesc) issues.push(`${prefix} 缺少 shotDesc(分镜描述)`)
|
||||
if (!item.imagePrompt) issues.push(`${prefix} 缺少 imagePrompt`)
|
||||
if (manifest.mode === 'framePair' && !item.lastFramePrompt) {
|
||||
|
||||
Reference in New Issue
Block a user