feat(plans): add edit plan preview workflow

This commit is contained in:
Xiaoxia AI
2026-06-24 10:10:25 +08:00
parent 07c62b0b30
commit 0f59b412bc
16 changed files with 460 additions and 5 deletions
+49
View File
@@ -0,0 +1,49 @@
import apiClient from './client';
export interface EditTemplateItem {
id: string;
workspace_id: string;
project_id: string;
name: string;
description: string;
target_duration: number;
clip_count: number;
is_active: boolean;
}
export interface EditPlanClipItem {
id: string;
asset_id: string;
asset_name: string;
sequence: number;
start_time: number;
duration: number;
reason: string;
}
export interface EditPlanItem {
id: string;
workspace_id: string;
project_id: string;
template_id: string;
asset_library_id: string;
title_id: string;
status: string;
summary: string;
clips: EditPlanClipItem[];
}
export const getEditTemplates = async (projectId: string, workspaceId: string): Promise<EditTemplateItem[]> => {
const response = await apiClient.get(`/projects/${projectId}/edit-plans/templates`, { params: { workspace_id: workspaceId } });
return response.data;
};
export const createEditPlan = async ({ projectId, data }: { projectId: string; data: {
workspace_id: string;
asset_library_id: string;
template_id?: string;
title_id?: string;
} }): Promise<EditPlanItem> => {
const response = await apiClient.post(`/projects/${projectId}/edit-plans`, data);
return response.data;
};
+2
View File
@@ -7,6 +7,7 @@ export interface GenerationTaskItem {
asset_library_id: string;
strategy_id?: string | null;
voice_library_id?: string | null;
edit_plan_id?: string | null;
status: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
progress: number;
result_count: number;
@@ -37,6 +38,7 @@ export const createGenerationTask = async (data: {
asset_library_id: string;
strategy_id?: string;
voice_library_id?: string;
edit_plan_id?: string;
created_by_user_id?: string;
}): Promise<GenerationTaskItem> => {
const response = await apiClient.post('/generation/tasks', data);