| 12345678910111213141516171819202122232425262728293031323334353637 | 
							- import { upload } from '@/service/base'
 
- type ImageUploadParams = {
 
-   file: File
 
-   onProgressCallback: (progress: number) => void
 
-   onSuccessCallback: (res: { id: string }) => void
 
-   onErrorCallback: () => void
 
- }
 
- type ImageUpload = (v: ImageUploadParams, isPublic?: boolean, url?: string) => void
 
- export const imageUpload: ImageUpload = ({
 
-   file,
 
-   onProgressCallback,
 
-   onSuccessCallback,
 
-   onErrorCallback,
 
- }, isPublic, url) => {
 
-   const formData = new FormData()
 
-   formData.append('file', file)
 
-   const onProgress = (e: ProgressEvent) => {
 
-     if (e.lengthComputable) {
 
-       const percent = Math.floor(e.loaded / e.total * 100)
 
-       onProgressCallback(percent)
 
-     }
 
-   }
 
-   upload({
 
-     xhr: new XMLHttpRequest(),
 
-     data: formData,
 
-     onprogress: onProgress,
 
-   }, isPublic, url)
 
-     .then((res: { id: string }) => {
 
-       onSuccessCallback(res)
 
-     })
 
-     .catch(() => {
 
-       onErrorCallback()
 
-     })
 
- }
 
 
  |