/** * 任务相关 API * Phase 1 重构:去掉 projectId,任务直接归属用户 */ import apiClient from './client'; /** 任务条目 */ export interface TaskItem { id: string; task_type: 'ingest' | 'generation' | string; status: string; progress: number; current_step: string; error_message: string; user_message: string; retryable: boolean; source_id: string; created_at?: string | null; updated_at?: string | null; } /** 获取当前用户的所有任务(生成记录) */ export const getUserTasks = async (): Promise => { const response = await apiClient.get('/tasks'); return response.data.items || []; }; /** 重试失败的任务 */ export const retryTask = async (taskId: string): Promise => { const response = await apiClient.post(`/tasks/${taskId}/retry`); return response.data; }; /** 创建生成任务请求参数 */ export interface CreateGenerationTaskRequest { template_id: string; asset_ids: string[]; title_ids: string[]; voice_ids: string[]; } /** 创建生成任务响应 */ export interface CreateGenerationTaskResponse { task_id: string; status: string; message: string; } // TODO: 后端生成接口适配扁平化架构后切换为 false const USE_MOCK = true; /** 创建生成任务(一键生成) */ export const createGenerationTask = async ( params: CreateGenerationTaskRequest, ): Promise => { if (USE_MOCK) { await new Promise((r) => setTimeout(r, 800)); return { task_id: `task_${Date.now()}`, status: 'pending', message: '生成任务已创建', }; } const response = await apiClient.post( '/generation/tasks', params, ); return response.data; };