import { AxiosProgressEvent } from "axios"; import axiosInstance from '@/api/axios' import { ContentTypeEnum } from '@/enums/httpEnum' /** 上传文件 */ const FtsUpload = (data: any, onUploadProgress?: (progress: number) => void) => { data.append('provider', 'local') data.append('bucket', 'visual') // 使用完整URL,绕过 /Visual/v1 前缀 const baseUrl = import.meta.env.PROD ? import.meta.env.VITE_PRO_PATH : import.meta.env.VITE_DEV_PATH return axiosInstance({ url: `${baseUrl}/Assets/v1/fts/uploader`, method: 'POST', data, headers: { 'Content-Type': ContentTypeEnum.FORM_DATA }, onUploadProgress: onUploadProgress ? (progressEvent: AxiosProgressEvent) => { if (progressEvent.total) { const percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total); onUploadProgress(percentCompleted); } } : undefined }) } export default FtsUpload