import {DownloadBeginCallbackResult, DownloadProgressCallbackResult, DownloadResult} from "react-native-fs"; export type IFs = { /** * 获取静态资产目录路径 */ getAssetsPath: () => string /** * 获取外部目录路径 */ getExternalPath: () => string /** * 获取安卓下载目录路径 */ getAndroidDownloadPath: () => string /** * 创建文件夹 * @param path 文件夹路径 */ mkdir: (path: string) => void /** * 读取文件 * @param path 文件路径 */ readFile: (path: string) => Promise /** * 读取app静态文件 * @param path */ readFileAssets: (path: string) => Promise /** * 写入 * @param path 文件路径 * @param content 文件内容 * @param encoding 编码类型 */ white: (path: string, content: string, encoding?: string) => void /** * 判断文件是否存在 * @param path 文件路径 */ has: (path: string) => Promise /** * 删除文件 * @param path 文件路径 */ remove: (path: string) => Promise /** * 下载 * @param fromLink 下载地址 * @param toFilePath 保存路径 * @param params */ download: (fromLink: string, toFilePath: string, params?: IFsDownloadParams) => void /** * 暂停下载 * @param jobId 下载编号 */ downloadStop: (jobId: string) => void } export type IFsDownloadParams = { headers?: any beginCallback?: (res: DownloadBeginCallbackResult) => void progressCallback?: (res: IFsDownloadProgressParams) => void progressDivider?: number successCallback?: (res?: DownloadResult) => void errorCallback?: (err: string) => void } export type IFsDownloadProgressParams = DownloadProgressCallbackResult & { // 百分比 readonly percentage: number // 比例 readonly ratio: number // 总大小 readonly totalSize: number // 当前大小 readonly currentSize: number }