refactor(#1341): 解耦封面类型定义,独立于 editing-planner + 修复 confirm 路径和 AI 超时 #1352

Closed
xiaoxia wants to merge 1 commits from refactor/decouple-cover-types-from-editing-planner into develop
18 changed files with 18 additions and 20 deletions
+1 -1
View File
@@ -3,7 +3,7 @@
* 后端路由: /api/v1/cover-templates
*/
import apiClient from "./client"
import type { CoverTemplate } from "@/pages/editing-planner/types"
import type { CoverTemplate } from "@/pages/generate/types/cover"
export interface CoverTemplateListResponse {
items: CoverTemplate[]
+1 -1
View File
@@ -7,7 +7,7 @@ export const confirmGeneration = async (
params: ConfirmGenerationRequest,
): Promise<ConfirmGenerationResponse> => {
const response = await apiClient.post<ConfirmGenerationResponse>(
`/tasks/${taskId}/confirm`,
`/generation/tasks/${taskId}/confirm`,
params,
)
return response.data
@@ -24,7 +24,7 @@ export async function generateCover(
data: GenerateCoverRequest,
): Promise<GenerateCoverResponse> {
const response = await apiClient.post(`/templates/${templateId}/editor/generate-cover`, data, {
timeout: 180000, // 封面生成涉及 MediaKit 抽帧,最长 180 秒
timeout: 300000, // 封面生成涉及 MediaKit 抽帧,最长 300 秒
})
return response.data
}
@@ -71,9 +71,6 @@ export {
TEXT_STICKER_PRESET_LABELS,
} from "./sticker"
/* 封面 */
export { type CoverMode, type CoverConfig, DEFAULT_COVER_CONFIG, type CoverTemplate } from "./cover"
/* 片段数据 */
export { type ClipType, type ClipData } from "./clip"
@@ -7,7 +7,7 @@ import React from "react"
import type { EditingTemplate } from "@/api/editing-planner"
import type { PresetVoiceItem } from "@/api/voices"
import type { VoiceClone } from "@/api/voice-clone"
import type { CoverConfig } from "../../editing-planner/types"
import type { CoverConfig } from "../types/cover"
import type { TitleSettings } from "../types"
import type { PreviewItem, PreviewStatus } from "../hooks/useStep4Preview"
import Step1TemplateSelect from "../components/Step1TemplateSelect"
@@ -1,6 +1,6 @@
import React from "react"
import { Modal, Spin } from "antd"
import type { CoverConfig } from "../../editing-planner/types"
import type { CoverConfig } from "../types/cover"
import { useStep6Cover } from "../hooks/useStep6Cover"
import Button from "@/components/ui/Button"
import CoverSettingsModal from "./cover-settings/CoverSettingsModal"
@@ -4,7 +4,7 @@
import React from "react"
import type { EditingTemplate } from "@/api/editing-planner"
import type { GeneratedVideo } from "@/api/template-editor"
import type { CoverConfig } from "../../editing-planner/types"
import type { CoverConfig } from "../types/cover"
import type { VoiceClone } from "@/api/voice-clone"
import type { PresetVoiceItem } from "@/api/voices"
import { useStep7Generate } from "../hooks/useStep7Generate"
@@ -1,5 +1,5 @@
import React, { useState } from "react"
import type { CoverTemplate } from "../../../editing-planner/types"
import type { CoverTemplate } from "../../types/cover"
import Modal from "@/components/ui/Modal"
import Button from "@/components/ui/Button"
@@ -1,5 +1,5 @@
import React from "react"
import type { CoverMode } from "../../../editing-planner/types"
import type { CoverMode } from "../../types/cover"
interface CoverModeSelectorProps {
mode: CoverMode
@@ -1,5 +1,5 @@
import React from "react"
import type { CoverTemplate } from "../../../editing-planner/types"
import type { CoverTemplate } from "../../types/cover"
import Modal from "@/components/ui/Modal"
import Button from "@/components/ui/Button"
+1 -1
View File
@@ -2,7 +2,7 @@
* 智能剪辑页面 — 常量定义
*/
import type { CoverConfig } from "../editing-planner/types"
import type { CoverConfig } from "./types/cover"
/* ── 克隆声音状态配置 ── */
export const CLONE_STATUS_CONFIG: Record<string, { label: string; color: string }> = {
@@ -1,5 +1,5 @@
import type { GeneratedVideo, EditPlanConfig } from "@/api/template-editor"
import type { CoverConfig } from "../../../editing-planner/types"
import type { CoverConfig } from "../../types/cover"
import type { TitleSettings } from "../../types"
/** useGenerateVideo 入参 */
@@ -6,7 +6,7 @@ import { useState } from "react"
import { useSearchParams } from "react-router-dom"
import type { GeneratedVideo } from "@/api/template-editor"
import type { EditingTemplate } from "@/api/editing-planner"
import type { CoverConfig } from "../../../editing-planner/types"
import type { CoverConfig } from "../types/cover"
import type { PresetVoiceItem } from "@/api/voices"
import { DEFAULT_COVER_SETTINGS } from "../../constants"
import type { TitleSettings } from "../../types"
@@ -1,5 +1,5 @@
import { useEffect } from "react"
import type { CoverConfig } from "../../../editing-planner/types"
import type { CoverConfig } from "../types/cover"
import type { TitleSettings } from "../../types"
import type { TitleConfig } from "@/api/template-editor"
import { getEditPlan } from "@/api/template-editor"
@@ -1,6 +1,6 @@
import { useEffect } from "react"
import type { TitleSettings } from "../../types"
import type { CoverConfig } from "../../../editing-planner/types"
import type { CoverConfig } from "../types/cover"
import type { EditingTemplate } from "@/api/editing-planner"
interface UseTitleCoverSyncOptions {
@@ -4,7 +4,7 @@
*/
import { useCallback, useEffect, useState } from "react"
import { message } from "antd"
import type { CoverConfig, CoverTemplate } from "../../editing-planner/types"
import type { CoverConfig, CoverTemplate } from "../types/cover"
import { generateCover } from "@/api/template-editor"
import {
fetchCoverTemplates,
@@ -6,7 +6,7 @@ import { useMemo } from "react"
import { useQuery } from "@tanstack/react-query"
import type { EditingTemplate } from "@/api/editing-planner"
import type { GeneratedVideo } from "@/api/template-editor"
import type { CoverConfig } from "../../editing-planner/types"
import type { CoverConfig } from "../types/cover"
import type { VoiceClone } from "@/api/voice-clone"
import type { PresetVoiceItem } from "@/api/voices"
import { getAssetsByKind } from "@/api/assets"
@@ -1,5 +1,6 @@
/**
*
*
* editing-planner generate 使
*/
/** 封面来源模式 */