import { requestGetJson, requestPostJson } from '@/shared/api/http' export interface UploadFileVo { fileKey: string originalFilename?: string localPath?: string size?: number } export interface ConvertTemplateVo { id: number templateCode: string templateName: string outputFilename: string isDefault?: boolean builtIn?: boolean } export interface UploadedSourceFileDto { fileKey: string originalFilename?: string } export interface ConvertResultItemVo { resultId?: number sourceFilename?: string outputFilename?: string success: boolean error?: string downloadUrl?: string } export interface ConvertRunVo { total: number successCount: number failedCount: number items: ConvertResultItemVo[] } export interface StandardApiResponse { success: boolean message?: string data?: T } export function getConvertTemplates() { return requestGetJson>('/api/convert/templates') } export function uploadTempFile(file: File) { const formData = new FormData() formData.append('file', file) return requestPostJson, FormData>('/api/files/upload', formData, { headers: { 'Content-Type': 'multipart/form-data' }, }) } export function runConvert(files: UploadedSourceFileDto[], templateId: number) { return requestPostJson>('/api/convert/run', { files, templateId, }) }