c2a522babf
- createGenerationTask: 关闭 mock,调用 POST /generation/tasks
- getUserTasks: 关闭 mock,调用 GET /tasks(用户级列表)
- retryTask: 关闭 mock,调用 POST /tasks/{task_id}/retry
- 删除所有 mock 数据和 USE_MOCK 开关
66 lines
1.8 KiB
TypeScript
66 lines
1.8 KiB
TypeScript
/**
|
|
* 任务相关 API
|
|
* 对接后端方案 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;
|
|
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 interface CreateGenerationTaskRequest {
|
|
template_id: string;
|
|
asset_ids: string[];
|
|
title_ids: string[];
|
|
voice_ids: string[];
|
|
}
|
|
|
|
/** 创建生成任务响应 */
|
|
export interface CreateGenerationTaskResponse {
|
|
task_id: string;
|
|
status: string;
|
|
message: string;
|
|
}
|
|
|
|
/* ──────────── API 函数 ──────────── */
|
|
|
|
/** 创建生成任务(一键生成) */
|
|
export const createGenerationTask = async (
|
|
params: CreateGenerationTaskRequest,
|
|
): Promise<CreateGenerationTaskResponse> => {
|
|
const { data } = await apiClient.post<CreateGenerationTaskResponse>(
|
|
'/generation/tasks',
|
|
params,
|
|
);
|
|
return data;
|
|
};
|
|
|
|
/** 获取当前用户的所有任务(跨 project) */
|
|
export const getUserTasks = async (): Promise<TaskItem[]> => {
|
|
const { data } = await apiClient.get('/tasks');
|
|
return data.items || [];
|
|
};
|
|
|
|
/** 重试失败的任务 */
|
|
export const retryTask = async (taskId: string): Promise<TaskItem> => {
|
|
const { data } = await apiClient.post(`/tasks/${taskId}/retry`);
|
|
return data;
|
|
};
|