declare namespace UniCloudNamespace { interface GeneralCallbackResult { /** * 状态码,操作成功则不返回 */ errCode: string; /** * 错误信息 */ errMsg: string; } interface OnUploadProgressResult { /** * 已上传大小 */ loaded: number; /** * 上传文件总大小 */ total: number; } interface UploadFileResult { /** * 文件唯一 ID,用来访问文件,建议存储起来 */ fileID: string; } interface UploadFileOptions { /** * 文件的绝对路径,包含文件名。例如 foo/bar.jpg、foo/bar/baz.jpg 等 */ cloudPath: string; /** * 要上传的文件对象 */ filePath: string; /** * 阿里云是否以cloudPath作为实际存储路径,默认为false(否) */ cloudPathAsRealPath?: boolean; /** * 上传进度回调 */ onUploadProgress?: (result: OnUploadProgressResult) => void; /** * 成功返回的回调函数 */ success?: (result: UploadFileResult) => void; /** * 失败返回的回调函数 */ fail?: (result: GeneralCallbackResult) => void; /** * 结束的回调函数(调用成功、失败都会执行 */ complete?: (result: UploadFileResult) => void; } interface DeleteFileItem { /** * 云端fileID */ fileID: string; /** * 状态码,操作成功则不返回 */ code: string; } interface DeleteFileResult { /** * 要删除的文件 ID 组成的数组 */ fileList: DeleteFileItem[]; } interface DeleteFileOptions { /** * 文件ID组成的数组 */ fileList: any[]; /** * 成功返回的回调函数 */ success?: (result: DeleteFileResult) => void; /** * 失败返回的回调函数 */ fail?: (result: GeneralCallbackResult) => void; /** * 结束的回调函数(调用成功、失败都会执行 */ complete?: (result: DeleteFileResult) => void; } interface GetTempFileURLItem { /** * 文件 ID */ fileID: string; /** * 状态码,操作成功则为 SUCCESS */ code: string; /** * 文件访问链接 */ tempFileURL: string; } interface GetTempFileURLResult { /** * 存储下载链接的数组 */ fileList: any[]; } interface GetTempFileURLOptions { /** * 文件ID组成的数组 */ fileList: any[]; /** * 成功返回的回调函数 */ success?: (result: GetTempFileURLResult) => void; /** * 失败返回的回调函数 */ fail?: (result: GeneralCallbackResult) => void; /** * 结束的回调函数(调用成功、失败都会执行 */ complete?: (result: GetTempFileURLResult) => void; } interface ChooseAndUploadFileSuccessCallbackResult { /** * 错误信息 */ errMsg: string; /** * 临时文件路径列表 */ tempFilePaths: any[]; /** * 文件列表,每一项是一个 File 对象 */ tempFiles: any[]; } interface ChooseAndUploadFileOnUploadProgressCallbackResult { /** * 触发当前上传进度回调的文件序号 */ index: number; /** * 已上传大小 */ loaded: number; /** * 总大小 */ total: number; /** * 临时文件路径 */ tempFilePath: string; /** * 文件对象 */ tempFile: any; } interface ChooseAndUploadFileOnChooseFileCallbackResult { /** * 错误信息 */ errMsg: string; /** * 临时文件路径列表 */ tempFilePaths: any[]; /** * 文件列表,每一项是一个 File 对象 */ tempFiles: any[]; } interface ChooseAndUploadFileOptions { /** * 文件类型 * - image: 图片 * - video: 视频 * - all: 任意文件 */ type: 'image' | 'video' | 'all'; /** * 文件数量 */ count?: number; /** * 允许的文件后缀数组 */ extension?: any[]; /** * original 原图,compressed 压缩图,默认二者都有 */ sizeType?: string | string[]; /** * album 从相册选图,camera 使用相机,默认二者都有 */ sourceType?: string | string[]; /** * 摄像切换 * - front: 前置摄像头 * - back: 后置摄像头 */ camera?: 'front' | 'back'; /** * 是否压缩所选的视频源文件,默认值为true,需要压缩 */ compressed?: boolean; /** * 拍摄视频最长拍摄时间,单位秒。最长支持 60 秒 */ maxDuration?: number; /** * 选择文件后的回调 */ onChooseFile?: (result: ChooseAndUploadFileOnChooseFileCallbackResult) => void; /** * 上传进度回调 */ onUploadProgress?: (result: ChooseAndUploadFileOnUploadProgressCallbackResult) => void; /** * 接口调用成功的回调函数 */ success?: (result: ChooseAndUploadFileSuccessCallbackResult) => void; /** * 接口调用失败的回调函数 */ fail?: (result: any) => void; /** * 接口调用结束的回调函数(调用成功、失败都会执行) */ complete?: (result: any) => void; } interface GetFileInfoOptions { fileList: Array; } interface GetFileInfoResponseFileItem { /** * 文件ID */ fileId: string; /** * 文件上传时间(秒) */ gmtCreate: number; /** * 文件最近更改时间(秒) */ gmtModified: number; /** * 文件原始名称 */ name: string; /** * 文件大小(Byte) */ size: number; /** * 文件类型 */ type: string; /** * 文件CDN加速访问下载链接 */ url: string; } interface GetFileInfoResponse { fileList: Array; } interface UniCloud { /** * 上传文件到云端 * * 文档: [https://uniapp.dcloud.io/uniCloud/storage?id=uploadfile](https://uniapp.dcloud.io/uniCloud/storage?id=uploadfile) */ uploadFile(options: UploadFileOptions): Promise; /** * 选择并上传文件 * * 文档: [https://uniapp.dcloud.io/uniCloud/storage?id=chooseanduploadfile](https://uniapp.dcloud.io/uniCloud/storage?id=chooseanduploadfile) */ chooseAndUploadFile(options: ChooseAndUploadFileOptions): Promise; /** * 删除云端文件 * * 文档: [https://uniapp.dcloud.io/uniCloud/storage?id=deletefile](https://uniapp.dcloud.io/uniCloud/storage?id=deletefile) */ deleteFile(options: DeleteFileOptions): Promise; /** * 获取文件临时链接 * * 文档: [https://uniapp.dcloud.io/uniCloud/storage?id=gettempfileurl](https://uniapp.dcloud.io/uniCloud/storage?id=gettempfileurl) */ getTempFileURL(options: GetTempFileURLOptions): Promise; /** * 获取文件信息,阿里云专用 * * 文档: [https://uniapp.dcloud.io/uniCloud/storage?id=get-file-info](https://uniapp.dcloud.io/uniCloud/storage?id=get-file-info) */ getFileInfo(options: GetFileInfoOptions): Promise; } }