fix: 修复一键生成页面废弃 API 调用(Bug A) #79
@@ -30,3 +30,40 @@ export const retryTask = async (taskId: string): Promise<TaskItem> => {
|
||||
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<CreateGenerationTaskResponse> => {
|
||||
if (USE_MOCK) {
|
||||
await new Promise((r) => setTimeout(r, 800));
|
||||
return {
|
||||
task_id: `task_${Date.now()}`,
|
||||
status: 'pending',
|
||||
message: '生成任务已创建',
|
||||
};
|
||||
}
|
||||
const response = await apiClient.post<CreateGenerationTaskResponse>(
|
||||
'/generation/tasks',
|
||||
params,
|
||||
);
|
||||
return response.data;
|
||||
};
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
* 流程:选择模板 → 选择素材 → 选择标题 → 选择配音 → 批量生成
|
||||
*/
|
||||
import React, { useState } from 'react';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
import { useQuery, useMutation } from '@tanstack/react-query';
|
||||
import {
|
||||
Card,
|
||||
@@ -30,11 +31,12 @@ import { getTemplates } from '@/api/templates';
|
||||
import { getAssetLibraries, getAssets, type AssetItem } from '@/api/assets';
|
||||
import { getTitles } from '@/api/titles';
|
||||
import { getVoices } from '@/api/voices';
|
||||
import { autoGenerateEditPlan } from '@/api/editPlans';
|
||||
import { createGenerationTask } from '@/api/tasks';
|
||||
|
||||
const { Title, Text } = Typography;
|
||||
|
||||
const GeneratePage: React.FC = () => {
|
||||
const navigate = useNavigate();
|
||||
const [currentStep, setCurrentStep] = useState(0);
|
||||
const [selectedTemplate, setSelectedTemplate] = useState<string>('');
|
||||
const [selectedAssets, setSelectedAssets] = useState<string[]>([]);
|
||||
@@ -81,9 +83,9 @@ const GeneratePage: React.FC = () => {
|
||||
enabled: libraries.length > 0,
|
||||
});
|
||||
|
||||
// 创建生成计划
|
||||
// 创建生成任务
|
||||
const generateMutation = useMutation({
|
||||
mutationFn: autoGenerateEditPlan,
|
||||
mutationFn: createGenerationTask,
|
||||
onSuccess: () => {
|
||||
message.success('生成任务已提交');
|
||||
setGenerated(true);
|
||||
@@ -242,7 +244,7 @@ const GeneratePage: React.FC = () => {
|
||||
title="生成任务已提交"
|
||||
subTitle="您可以在任务历史中查看生成进度"
|
||||
extra={
|
||||
<Button type="primary" onClick={() => window.location.href = '/history'}>
|
||||
<Button type="primary" onClick={() => navigate('/history')}>
|
||||
查看任务
|
||||
</Button>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user