style: fix prettier formatting

This commit is contained in:
2026-07-14 19:50:35 +08:00
parent 8d86707e2e
commit 9fd12c7fb3
+25 -34
View File
@@ -2,12 +2,12 @@
* 成品 / 视频相关 API
* 后端无 /products 路由,实际从 /generation/tasks 端点获取数据
*/
import apiClient from "./client";
import { getGenerationTaskResults } from "./editPlans";
import type { GeneratedVideo } from "./editPlans";
import apiClient from './client';
import { getGenerationTaskResults } from './editPlans';
import type { GeneratedVideo } from './editPlans';
/** 复核状态 */
export type ReviewStatus = "pending_review" | "approved" | "rejected";
export type ReviewStatus = 'pending_review' | 'approved' | 'rejected';
/** 成品条目 */
export interface ProductItem {
@@ -18,7 +18,7 @@ export interface ProductItem {
duration_seconds?: number;
file_size?: number;
resolution?: string;
status: "processing" | "completed" | "failed";
status: 'processing' | 'completed' | 'failed';
/** 复核状态 */
review_status?: ReviewStatus;
/** 所属项目 ID */
@@ -36,7 +36,7 @@ export interface ProductListParams {
page?: number;
page_size?: number;
project_id?: string;
review_status?: ReviewStatus | "all";
review_status?: ReviewStatus | 'all';
}
/** 分页响应 */
@@ -50,7 +50,7 @@ export interface ProductListResponse {
/** 批量下载任务状态 */
export interface BatchDownloadStatus {
job_id: string;
status: "processing" | "completed" | "failed";
status: 'processing' | 'completed' | 'failed';
/** 完成后返回的下载 URL */
download_url?: string;
/** 进度百分比 */
@@ -63,21 +63,18 @@ export interface BatchDownloadStatus {
function mapTaskToProductItem(task: GeneratedVideo): ProductItem {
return {
id: task.id,
title: task.name || "未命名视频",
title: task.name || '未命名视频',
video_url: task.file_url,
thumbnail_url: task.thumbnail_url,
duration_seconds: task.duration,
file_size: task.file_size,
resolution:
task.width && task.height
? `${task.width}x${task.height}`
: undefined,
resolution: task.width && task.height ? `${task.width}x${task.height}` : undefined,
status:
task.status === "completed"
? "completed"
: task.status === "failed"
? "failed"
: "processing",
task.status === 'completed'
? 'completed'
: task.status === 'failed'
? 'failed'
: 'processing',
review_status: task.review_status as ReviewStatus | undefined,
project_id: task.project_id,
created_at: task.created_at,
@@ -86,10 +83,8 @@ function mapTaskToProductItem(task: GeneratedVideo): ProductItem {
}
/** 获取成品列表(支持分页和筛选)— 实际从 generation tasks 获取 */
export const getProducts = async (
params?: ProductListParams,
): Promise<ProductItem[]> => {
const response = await apiClient.get("/generation/tasks", { params });
export const getProducts = async (params?: ProductListParams): Promise<ProductItem[]> => {
const response = await apiClient.get('/generation/tasks', { params });
const tasks = response.data.items || response.data || [];
return tasks.map(mapTaskToProductItem);
};
@@ -107,18 +102,18 @@ export const deleteProduct = async (productId: string): Promise<void> => {
/** 获取成品下载链接 — 从 generation task results 获取 */
export const getProductDownloadUrl = async (
productId: string,
productId: string
): Promise<{ url: string; expires_at: string }> => {
const videos = await getGenerationTaskResults(productId);
const video = videos[0];
if (!video?.download_url) throw new Error("下载链接不可用");
return { url: video.download_url, expires_at: "" };
if (!video?.download_url) throw new Error('下载链接不可用');
return { url: video.download_url, expires_at: '' };
};
/** 更新复核状态 — TODO: 后端暂无对应端点,暂存本地状态 */
export const updateReviewStatus = async (
productId: string,
status: ReviewStatus,
status: ReviewStatus
): Promise<ProductItem> => {
// 后端暂无 /generation/tasks/{id}/review 端点
// 暂时返回当前状态,后续可扩展
@@ -127,21 +122,17 @@ export const updateReviewStatus = async (
};
/** 发起批量下载 — TODO: 后端暂无对应端点 */
export const batchDownload = async (
videoIds: string[],
): Promise<{ job_id: string }> => {
export const batchDownload = async (videoIds: string[]): Promise<{ job_id: string }> => {
// 后端暂无 /generation/tasks/batch-download 端点
// 暂时返回模拟 job_id,后续可扩展
console.warn("[batchDownload] 后端暂无批量下载端点", videoIds);
console.warn('[batchDownload] 后端暂无批量下载端点', videoIds);
return { job_id: `mock-${Date.now()}` };
};
/** 查询批量下载状态 — TODO: 后端暂无对应端点 */
export const getBatchDownloadStatus = async (
jobId: string,
): Promise<BatchDownloadStatus> => {
export const getBatchDownloadStatus = async (jobId: string): Promise<BatchDownloadStatus> => {
// 后端暂无 /generation/tasks/batch-download/{jobId} 端点
// 暂时返回模拟状态,后续可扩展
console.warn("[getBatchDownloadStatus] 后端暂无批量下载状态端点", jobId);
return { job_id: jobId, status: "processing", progress: 0 };
console.warn('[getBatchDownloadStatus] 后端暂无批量下载状态端点', jobId);
return { job_id: jobId, status: 'processing', progress: 0 };
};