import { root } from '@repo/core' import { FileController } from '@repo/sdk' import { Platform } from 'react-native' import { handleError } from '@/hooks/use-error' export async function uploadFile(params: { uri: string; mimeType?: string; fileName?: string }): Promise { const { uri, mimeType, fileName } = params const formData = new FormData() formData.append('file', { uri: uri, name: fileName || 'uploaded_file.jpg', type: mimeType || 'image/jpeg', } as any) const fileController = root.get(FileController) const { data, error } = await handleError(async () => await fileController.uploadS3(formData)) if (error || !data?.data) { throw error || new Error('上传失败') } return data.data }