From 012dafcbde7b05be89e2ecc5caf3bc5082f6a744 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 12 Jul 2025 21:09:24 +0800 Subject: [PATCH] fix: template --- src/services/TemplateServiceV2.ts | 58 ++++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/src/services/TemplateServiceV2.ts b/src/services/TemplateServiceV2.ts index 26991f6..ecaff0c 100644 --- a/src/services/TemplateServiceV2.ts +++ b/src/services/TemplateServiceV2.ts @@ -101,6 +101,41 @@ export interface TagInfo { count: number } +// 轨道片段信息 +export interface TrackSegment { + id: string + type: 'video' | 'audio' | 'image' | 'text' | 'effect' + name: string + start_time: number + end_time: number + duration: number + resource_path?: string + properties?: any + effects?: any[] +} + +// 轨道信息 +export interface Track { + id: string + name: string + type: 'video' | 'audio' | 'subtitle' + index: number + segments: TrackSegment[] + properties?: any +} + +// 模板详细信息 +export interface TemplateDetail { + id: string + name: string + description: string + canvas_config: any + tracks: Track[] + duration: number + fps: number + sample_rate?: number +} + export class TemplateServiceV2 { private static currentUserId: string = 'default' @@ -175,7 +210,7 @@ export class TemplateServiceV2 { } const response = await invoke('get_template_cli', { request }) - + if (!response.success) { throw new Error(response.error || response.message || 'Failed to get template') } @@ -187,6 +222,27 @@ export class TemplateServiceV2 { } } + /** + * 获取模板详细信息 (新版本) + * 注意:目前使用原版本的get_template_detail命令,因为CLI版本还未实现详细信息功能 + */ + static async getTemplateDetail(templateId: string): Promise { + try { + // 暂时使用原版本的命令,直到CLI版本实现详细信息功能 + const response = await invoke('get_template_detail', { template_id: templateId }) + const detail = JSON.parse(response) + + if (!detail) { + return null + } + + return detail as TemplateDetail + } catch (error) { + console.error('Get template detail failed:', error) + return null + } + } + /** * 删除模板 (新版本) */