拆镜复刻、爆款开头复刻管理后台完成
This commit is contained in:
@@ -7,6 +7,9 @@ import type {
|
||||
User, CreditRecord, Project, GenerationRecord, GenerationParams,
|
||||
Industry, AdminUser, AdminStats, ModelConfig, SystemConfig, AdminNotification,
|
||||
GenerationAiEnginesResponse, GenerationAITaskListOut, GenerationAITaskQueryParams,
|
||||
AdminHotOpeningTaskQueryParams, HotOpeningTaskListOut, ReplicationProjectDetailOut,
|
||||
AdminShotTaskSetQueryParams, ShotTaskSetListOut, ShotTaskSetDetailOut,
|
||||
AdminShotSegmentQueryParams, ShotSegmentListOut, ShotSegmentDetailOut,
|
||||
} from '../types';
|
||||
|
||||
// ── Auth ──────────────────────────────────────────────────
|
||||
@@ -422,3 +425,69 @@ export async function getAdminGenerationAiTasks(params?: GenerationAITaskQueryPa
|
||||
return api.get<GenerationAITaskListOut>(`/generation-ai/tasks${qs ? `?${qs}` : ''}`);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ── Replication Modules (Admin readonly pages reuse original APIs) ───────────
|
||||
|
||||
function appendParam(params: URLSearchParams, key: string, value?: string | number | null): void {
|
||||
if (value === undefined || value === null || String(value).trim() === '') return;
|
||||
params.set(key, String(value));
|
||||
}
|
||||
|
||||
export async function getAdminHotOpeningTasks(params?: AdminHotOpeningTaskQueryParams): Promise<HotOpeningTaskListOut> {
|
||||
const q = new URLSearchParams();
|
||||
appendParam(q, 'status', params?.status);
|
||||
appendParam(q, 'keyword', params?.keyword);
|
||||
appendParam(q, 'user_id', params?.userId);
|
||||
appendParam(q, 'user_name', params?.userName);
|
||||
appendParam(q, 'created_start', params?.createdStart);
|
||||
appendParam(q, 'created_end', params?.createdEnd);
|
||||
appendParam(q, 'page', params?.page);
|
||||
appendParam(q, 'page_size', params?.pageSize);
|
||||
const qs = q.toString();
|
||||
return api.get<HotOpeningTaskListOut>(`/hot-opening-replications/tasks${qs ? `?${qs}` : ''}`);
|
||||
}
|
||||
|
||||
export async function getAdminHotOpeningTaskDetail(projectId: string): Promise<ReplicationProjectDetailOut> {
|
||||
return api.get<ReplicationProjectDetailOut>(`/hot-opening-replications/tasks/${projectId}`);
|
||||
}
|
||||
|
||||
export async function getAdminShotTaskSets(params?: AdminShotTaskSetQueryParams): Promise<ShotTaskSetListOut> {
|
||||
const q = new URLSearchParams();
|
||||
appendParam(q, 'status', params?.status);
|
||||
appendParam(q, 'analysis_status', params?.analysisStatus);
|
||||
appendParam(q, 'split_status', params?.splitStatus);
|
||||
appendParam(q, 'keyword', params?.keyword);
|
||||
appendParam(q, 'user_id', params?.userId);
|
||||
appendParam(q, 'user_name', params?.userName);
|
||||
appendParam(q, 'created_start', params?.createdStart);
|
||||
appendParam(q, 'created_end', params?.createdEnd);
|
||||
appendParam(q, 'page', params?.page);
|
||||
appendParam(q, 'page_size', params?.pageSize);
|
||||
const qs = q.toString();
|
||||
return api.get<ShotTaskSetListOut>(`/shot-replications/task-sets${qs ? `?${qs}` : ''}`);
|
||||
}
|
||||
|
||||
export async function getAdminShotTaskSetDetail(taskSetId: string): Promise<ShotTaskSetDetailOut> {
|
||||
return api.get<ShotTaskSetDetailOut>(`/shot-replications/task-sets/${taskSetId}`);
|
||||
}
|
||||
|
||||
export async function getAdminShotSegments(taskSetId: string, params?: AdminShotSegmentQueryParams): Promise<ShotSegmentListOut> {
|
||||
const q = new URLSearchParams();
|
||||
appendParam(q, 'source_mode', params?.sourceMode);
|
||||
appendParam(q, 'split_status', params?.splitStatus);
|
||||
appendParam(q, 'analysis_status', params?.analysisStatus);
|
||||
appendParam(q, 'replicate_status', params?.replicateStatus);
|
||||
appendParam(q, 'page', params?.page);
|
||||
appendParam(q, 'page_size', params?.pageSize);
|
||||
const qs = q.toString();
|
||||
return api.get<ShotSegmentListOut>(`/shot-replications/task-sets/${taskSetId}/segments${qs ? `?${qs}` : ''}`);
|
||||
}
|
||||
|
||||
export async function getAdminShotSegmentDetail(segmentId: string): Promise<ShotSegmentDetailOut> {
|
||||
return api.get<ShotSegmentDetailOut>(`/shot-replications/segments/${segmentId}`);
|
||||
}
|
||||
|
||||
export async function getAdminShotProjectDetail(projectId: string): Promise<ReplicationProjectDetailOut> {
|
||||
return api.get<ReplicationProjectDetailOut>(`/shot-replications/projects/${projectId}`);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user