feat(P1): 一键生成改智能剪辑 + 模板只展示系统预设 #555
Executable → Regular
+1
-1
@@ -143,7 +143,7 @@ export interface CreateEditPlanRequest {
|
||||
name: string
|
||||
config?: EditPlanConfig
|
||||
total_duration?: number
|
||||
/** 来源剪辑计划 ID(从剪辑计划跳转到一键生成时关联) */
|
||||
/** 来源剪辑计划 ID(从剪辑计划跳转到智能剪辑时关联) */
|
||||
source_edit_plan_id?: string
|
||||
}
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ export interface CreateGenerationTaskResponse {
|
||||
|
||||
/* ──────────── API 函数 ──────────── */
|
||||
|
||||
/** 创建生成任务(一键生成) */
|
||||
/** 创建生成任务(智能剪辑) */
|
||||
export const createGenerationTask = async (
|
||||
params: CreateGenerationTaskRequest,
|
||||
): Promise<CreateGenerationTaskResponse> => {
|
||||
|
||||
@@ -43,7 +43,7 @@ export interface PageHeadProps {
|
||||
|
||||
const ROUTE_TITLE_MAP: Record<string, string> = {
|
||||
"/app/dashboard": "首页",
|
||||
"/app/generate": "一键生成",
|
||||
"/app/generate": "智能剪辑",
|
||||
"/app/assets": "视频库",
|
||||
"/app/voices": "配音库",
|
||||
"/app/titles": "标题库",
|
||||
|
||||
@@ -89,7 +89,7 @@ export const NAV_ITEMS: NavItem[] = [
|
||||
},
|
||||
{
|
||||
key: "generate",
|
||||
label: "一键生成",
|
||||
label: "智能剪辑",
|
||||
path: "/app/generate",
|
||||
icon: React.createElement(VideoCameraOutlined),
|
||||
},
|
||||
@@ -132,7 +132,7 @@ export const NAV_GROUPS: NavGroup[] = [
|
||||
},
|
||||
{
|
||||
key: "generate",
|
||||
label: "一键生成",
|
||||
label: "智能剪辑",
|
||||
path: "/app/generate",
|
||||
icon: React.createElement(VideoCameraOutlined),
|
||||
},
|
||||
|
||||
Regular → Executable
+3
-3
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* 一键生成页面 — V21 原型 1:1 还原
|
||||
* 智能剪辑页面 — V21 原型 1:1 还原
|
||||
* 5 步向导:选择模板 → 选择素材 → 选择标题 → 选择配音 → 确认生成
|
||||
* 左右布局:左侧 generate-form + 右侧 generate-preview
|
||||
* 保留所有现有业务逻辑(API 调用、URL 参数、CloneModal、TTS 等)
|
||||
@@ -92,7 +92,7 @@ const GeneratePage: React.FC = () => {
|
||||
/* ── 步骤状态 ── */
|
||||
const [currentStep, setCurrentStep] = useState(1)
|
||||
|
||||
/* ── 模板(从 API 加载用户自制模板) ── */
|
||||
/* ── 模板(从 API 加载) ── */
|
||||
const [selectedTemplate, setSelectedTemplate] = useState("")
|
||||
const { data: userTemplates = [] } = useQuery({
|
||||
queryKey: ["generate-templates"],
|
||||
@@ -1576,7 +1576,7 @@ const GeneratePage: React.FC = () => {
|
||||
<div>
|
||||
<h2>
|
||||
<ThunderboltOutlined style={{ marginRight: 8 }} />
|
||||
一键生成
|
||||
智能剪辑
|
||||
</h2>
|
||||
<p>快速生成短视频,支持多种风格和素材组合</p>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* 一键生成页面 — V21 原型 1:1 还原样式
|
||||
* 智能剪辑页面 — V21 原型 1:1 还原样式
|
||||
* 对照 frontend-v21-ui-prototype-final.html #view-generate
|
||||
*/
|
||||
@import "../../styles/global.css";
|
||||
|
||||
@@ -26,7 +26,7 @@ const HeroSection: React.FC = () => {
|
||||
<h1 className="hp-hero-title">
|
||||
上传素材,AI自动剪辑
|
||||
<br />
|
||||
一键生成短视频
|
||||
智能剪辑短视频
|
||||
</h1>
|
||||
<p className="hp-hero-desc">
|
||||
基于先进的 AI 技术,自动识别视频亮点,智能剪辑、配音、加字幕。 30
|
||||
@@ -71,7 +71,7 @@ const FEATURES = [
|
||||
{
|
||||
icon: "🤖",
|
||||
title: "AI 智能剪辑",
|
||||
desc: "自动识别视频高光片段,智能去除冗余内容,一键生成精彩短视频。",
|
||||
desc: "自动识别视频高光片段,智能去除冗余内容,智能剪辑精彩短视频。",
|
||||
},
|
||||
{
|
||||
icon: "🎙️",
|
||||
|
||||
@@ -1058,7 +1058,7 @@ const ProductLibrary: React.FC = () => {
|
||||
<div className="xx-products-empty-icon">
|
||||
<VideoCameraOutlined />
|
||||
</div>
|
||||
<p>暂无成片,去一键生成吧</p>
|
||||
<p>暂无成片,去智能剪辑吧</p>
|
||||
<Button
|
||||
buttonType="primary"
|
||||
buttonSize="sm"
|
||||
|
||||
Reference in New Issue
Block a user