diff --git a/apps/web/src/api/tasks.ts b/apps/web/src/api/tasks.ts index 536b859ba..8b3141919 100644 --- a/apps/web/src/api/tasks.ts +++ b/apps/web/src/api/tasks.ts @@ -1,9 +1,14 @@ /** * 任务相关 API - * Phase 1 重构:去掉 projectId,任务直接归属用户 + * 对接后端方案 A 扩展后的端点(PR #109) + * - POST /api/v1/generation/tasks — 创建生成任务(template_id + asset_ids 细粒度模式) + * - GET /api/v1/tasks — 用户级任务列表(跨 project) + * - POST /api/v1/tasks/{task_id}/retry — 简化重试 */ import apiClient from './client'; +/* ──────────── 类型定义 ──────────── */ + /** 任务条目 */ export interface TaskItem { id: string; @@ -19,18 +24,6 @@ export interface TaskItem { 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; @@ -46,24 +39,27 @@ export interface CreateGenerationTaskResponse { message: string; } -// TODO: 后端生成接口适配扁平化架构后切换为 false -const USE_MOCK = true; +/* ──────────── API 函数 ──────────── */ /** 创建生成任务(一键生成) */ 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( + const { data } = await apiClient.post( '/generation/tasks', params, ); - return response.data; + return data; +}; + +/** 获取当前用户的所有任务(跨 project) */ +export const getUserTasks = async (): Promise => { + const { data } = await apiClient.get('/tasks'); + return data.items || []; +}; + +/** 重试失败的任务 */ +export const retryTask = async (taskId: string): Promise => { + const { data } = await apiClient.post(`/tasks/${taskId}/retry`); + return data; };