feat(video-from-script): 批量生产支持剪映草稿地址跟踪
- 新增 `--draft-url` 命令行参数,允许为单个批次项指定草稿地址
- capcut_assemble 模块现在返回 `{ draftUrl, draftId }` 对象
- 组装阶段完成后自动将草稿地址保存到 manifest 文件中
- CSV/XLSX 导出表头新增"草稿地址"列,支持批量导出草稿链接
This commit is contained in:
@@ -43,6 +43,7 @@ function parseArgs(argv) {
|
||||
else if (argv[i] === '--hashtags' && argv[i + 1]) args.hashtags = argv[++i]
|
||||
else if (argv[i] === '--format' && argv[i + 1]) args.format = argv[++i]
|
||||
else if (argv[i] === '--draft-dir' && argv[i + 1]) args.draftDir = argv[++i]
|
||||
else if (argv[i] === '--draft-url' && argv[i + 1]) args.draftUrl = argv[++i]
|
||||
else if (argv[i] === '--with-script') args.withScript = true
|
||||
else if (!args.command) args.command = argv[i]
|
||||
}
|
||||
@@ -258,6 +259,7 @@ function cmdMark(args) {
|
||||
if (args.draftName) item.draftName = args.draftName
|
||||
if (args.forwardCopy) item.forwardCopy = args.forwardCopy
|
||||
if (args.hashtags) item.hashtags = args.hashtags
|
||||
if (args.draftUrl) item.draftUrl = args.draftUrl
|
||||
|
||||
batch.stats = calcStats(batch.items)
|
||||
writeJson(manifestPath, batch)
|
||||
@@ -314,6 +316,7 @@ function cmdNext(args) {
|
||||
topicA: item.topicA || '',
|
||||
topicB: item.topicB || '',
|
||||
draftName: item.draftName || '',
|
||||
draftUrl: item.draftUrl || '',
|
||||
scriptFile: path.resolve(batchDir, item.scriptFile),
|
||||
}
|
||||
|
||||
@@ -368,6 +371,7 @@ function cmdExport(args) {
|
||||
音色: item.voice || '',
|
||||
转发文案带话题: forwardFull,
|
||||
草稿名称: item.draftName || '',
|
||||
草稿地址: item.draftUrl || '',
|
||||
})
|
||||
}
|
||||
|
||||
@@ -387,7 +391,7 @@ function cmdExport(args) {
|
||||
|
||||
function exportCsv(manifestPath, rows) {
|
||||
const outPath = manifestPath.replace('.json', '_export.csv')
|
||||
const headers = ['选题', '脚本', '账号', '模式', '音色', '转发文案带话题', '草稿名称']
|
||||
const headers = ['选题', '脚本', '账号', '模式', '音色', '转发文案带话题', '草稿名称', '草稿地址']
|
||||
|
||||
const lines = [headers.join(',')]
|
||||
for (const r of rows) {
|
||||
@@ -414,7 +418,7 @@ function exportCsv(manifestPath, rows) {
|
||||
function exportXlsx(manifestPath, rows) {
|
||||
try {
|
||||
const XLSX = require('xlsx')
|
||||
const headers = ['选题', '脚本', '账号', '模式', '音色', '转发文案带话题', '草稿名称']
|
||||
const headers = ['选题', '脚本', '账号', '模式', '音色', '转发文案带话题', '草稿名称', '草稿地址']
|
||||
const data = rows.map(r => headers.map(h => r[h] || ''))
|
||||
data.unshift(headers)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user