feat: 过期首帧重生成默认替换主图
This commit is contained in:
@@ -4,8 +4,14 @@ import { AppDialog } from '../../../components/ui'
|
||||
import { validOptionalSize } from '../model'
|
||||
import type { GenerateKeyframeInput, ShotKeyframe } from '../types'
|
||||
|
||||
/** 单镜头首帧表单;是否替换主首帧必须由用户明确选择。 */
|
||||
const props = defineProps<{ shotId: string; shotTitle: string; keyframes: ShotKeyframe[]; disabled: boolean }>()
|
||||
/** 单镜头首帧表单;普通候选仍由用户明确选择,过期主首帧默认替换为新图。 */
|
||||
const props = defineProps<{
|
||||
shotId: string
|
||||
shotTitle: string
|
||||
keyframes: ShotKeyframe[]
|
||||
disabled: boolean
|
||||
replacePrimary?: boolean
|
||||
}>()
|
||||
const open = defineModel<boolean>('open', { default: false })
|
||||
const emit = defineEmits<{ generate: [input: GenerateKeyframeInput] }>()
|
||||
const width = ref<number | ''>('')
|
||||
@@ -16,11 +22,11 @@ const hasPrimary = computed(() => props.keyframes.some(item => item.isPrimary &&
|
||||
const sizeValid = computed(() => validOptionalSize(width.value, height.value))
|
||||
const canSubmit = computed(() => !props.disabled && sizeValid.value && confirmed.value)
|
||||
|
||||
/** 切换镜头或重新打开时清空费用确认,避免沿用上个镜头的覆盖选择。 */
|
||||
/** 切换镜头或重新打开时清空费用确认;过期首帧默认让新结果成为 Primary。 */
|
||||
function reset() {
|
||||
width.value = ''
|
||||
height.value = ''
|
||||
setPrimary.value = !hasPrimary.value
|
||||
setPrimary.value = !!props.replacePrimary || !hasPrimary.value
|
||||
confirmed.value = false
|
||||
}
|
||||
watch([() => props.shotId, open], reset, { immediate: true })
|
||||
@@ -41,9 +47,12 @@ function submit() {
|
||||
<template>
|
||||
<AppDialog
|
||||
v-model:open="open"
|
||||
:title="`生成首帧 · ${shotTitle}`"
|
||||
:title="`${replacePrimary ? '重新生成主首帧' : '生成首帧'} · ${shotTitle}`"
|
||||
description="依据视觉风格、GenerationSpec 和主体主参考图编译首帧提示词,并调用 Seedream。"
|
||||
>
|
||||
<p v-if="replacePrimary" class="alert mt-5 text-xs">
|
||||
当前主首帧使用的主体参考资产已经变化。新图成功后应设为主首帧,旧图会继续保留为历史候选。
|
||||
</p>
|
||||
<div class="mt-5 grid grid-cols-2 gap-4">
|
||||
<label
|
||||
><span class="field-label">宽度(可选)</span
|
||||
|
||||
Reference in New Issue
Block a user