auto-save 2026-05-27 18:08 (~2)
This commit is contained in:
@@ -1,12 +1,5 @@
|
|||||||
{
|
{
|
||||||
"entries": [
|
"entries": [
|
||||||
{
|
|
||||||
"files_changed": 1,
|
|
||||||
"hash": "b4f5612",
|
|
||||||
"message": "docs: record common size layout deployment",
|
|
||||||
"ts": "2026-05-20T19:51:09+08:00",
|
|
||||||
"type": "commit"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"files_changed": 1,
|
"files_changed": 1,
|
||||||
"message": "Codex 会话活跃 · 最近命令:codex · 分支 main · 1 项未提交变更 · 最近提交:docs: record common size layout deployment",
|
"message": "Codex 会话活跃 · 最近命令:codex · 分支 main · 1 项未提交变更 · 最近提交:docs: record common size layout deployment",
|
||||||
@@ -3197,6 +3190,13 @@
|
|||||||
"message": "auto-save 2026-05-27 17:29 (~3)",
|
"message": "auto-save 2026-05-27 17:29 (~3)",
|
||||||
"hash": "6ac548a",
|
"hash": "6ac548a",
|
||||||
"files_changed": 3
|
"files_changed": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ts": "2026-05-27T17:51:41+08:00",
|
||||||
|
"type": "commit",
|
||||||
|
"message": "auto-save 2026-05-27 17:51 (~4)",
|
||||||
|
"hash": "dab4bde",
|
||||||
|
"files_changed": 4
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -105,7 +105,7 @@
|
|||||||
</div> -->
|
</div> -->
|
||||||
|
|
||||||
<!-- Generate button | 生成按钮 -->
|
<!-- Generate button | 生成按钮 -->
|
||||||
<button @click="handleGenerate" :disabled="isGenerating || !isConfigured"
|
<button @click="handleGenerate" :disabled="isGenerating || !canGenerate"
|
||||||
class="w-full flex items-center justify-center gap-2 py-2 px-4 rounded-lg bg-[var(--accent-color)] hover:bg-[var(--accent-hover)] text-white text-sm font-medium transition-colors disabled:opacity-50 disabled:cursor-not-allowed">
|
class="w-full flex items-center justify-center gap-2 py-2 px-4 rounded-lg bg-[var(--accent-color)] hover:bg-[var(--accent-hover)] text-white text-sm font-medium transition-colors disabled:opacity-50 disabled:cursor-not-allowed">
|
||||||
<n-spin v-if="isGenerating" :size="14" />
|
<n-spin v-if="isGenerating" :size="14" />
|
||||||
<template v-else>
|
<template v-else>
|
||||||
@@ -115,6 +115,9 @@
|
|||||||
生成视频
|
生成视频
|
||||||
</template>
|
</template>
|
||||||
</button>
|
</button>
|
||||||
|
<div v-if="!canGenerate" class="text-xs text-amber-500 mt-2">
|
||||||
|
当前环境未配置视频 API,只能预览模型、比例和时长。
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Error message | 错误信息 -->
|
<!-- Error message | 错误信息 -->
|
||||||
<div v-if="error" class="text-xs text-red-500 mt-2">
|
<div v-if="error" class="text-xs text-red-500 mt-2">
|
||||||
@@ -164,9 +167,6 @@ const props = defineProps({
|
|||||||
// Vue Flow instance | Vue Flow 实例
|
// Vue Flow instance | Vue Flow 实例
|
||||||
const { updateNodeInternals } = useVueFlow()
|
const { updateNodeInternals } = useVueFlow()
|
||||||
|
|
||||||
// API config state | API 配置状态
|
|
||||||
const isConfigured = computed(() => !!modelStore.currentApiKey)
|
|
||||||
|
|
||||||
// Video generation hook | 视频生成 hook
|
// Video generation hook | 视频生成 hook
|
||||||
const { loading, error, status, video: generatedVideo, progress, createVideoTaskOnly } = useVideoGeneration()
|
const { loading, error, status, video: generatedVideo, progress, createVideoTaskOnly } = useVideoGeneration()
|
||||||
|
|
||||||
@@ -218,6 +218,7 @@ const imagesByRole = computed(() => {
|
|||||||
|
|
||||||
// Get current model config | 获取当前模型配置
|
// Get current model config | 获取当前模型配置
|
||||||
const currentModelConfig = computed(() => getModelConfig(localModel.value))
|
const currentModelConfig = computed(() => getModelConfig(localModel.value))
|
||||||
|
const canGenerate = computed(() => !!modelStore.currentApiKey && currentModelConfig.value?.available !== false)
|
||||||
|
|
||||||
// Model options from Pinia store (filtered by provider) | 从 Pinia store 获取模型选项(根据渠道过滤)
|
// Model options from Pinia store (filtered by provider) | 从 Pinia store 获取模型选项(根据渠道过滤)
|
||||||
const modelOptions = computed(() => modelStore.allVideoModelOptions)
|
const modelOptions = computed(() => modelStore.allVideoModelOptions)
|
||||||
|
|||||||
Reference in New Issue
Block a user