64 lines
1.4 KiB
TypeScript
64 lines
1.4 KiB
TypeScript
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<T> {
|
|
success: boolean
|
|
message?: string
|
|
data?: T
|
|
}
|
|
|
|
export function getConvertTemplates() {
|
|
return requestGetJson<StandardApiResponse<ConvertTemplateVo[]>>('/api/convert/templates')
|
|
}
|
|
|
|
export function uploadTempFile(file: File) {
|
|
const formData = new FormData()
|
|
formData.append('file', file)
|
|
return requestPostJson<StandardApiResponse<UploadFileVo>, FormData>('/api/files/upload', formData, {
|
|
headers: { 'Content-Type': 'multipart/form-data' },
|
|
})
|
|
}
|
|
|
|
export function runConvert(files: UploadedSourceFileDto[], templateId: number) {
|
|
return requestPostJson<StandardApiResponse<ConvertRunVo>>('/api/convert/run', {
|
|
files,
|
|
templateId,
|
|
})
|
|
}
|