UNPKG

capacitor-advanced-file-manager

Version:

Advanced file manager plugin for Capacitor with comprehensive file system operations including browse, create, edit, delete, move, copy, and search files and directories.

141 lines (140 loc) 4.13 kB
export interface FileInfo { name: string; path: string; size: number; type: 'file' | 'directory'; mtime: number; ctime: number; permissions?: string; isHidden?: boolean; } export interface ListDirectoryOptions { path: string; showHidden?: boolean; sortBy?: 'name' | 'size' | 'mtime' | 'type'; sortOrder?: 'asc' | 'desc'; } export interface ListDirectoryResult { files: FileInfo[]; totalCount: number; } export interface FileOperationOptions { path: string; } export interface CreateFileOptions { path: string; content?: string; encoding?: 'utf8' | 'base64'; } export interface ReadFileOptions { path: string; encoding?: 'utf8' | 'base64'; } export interface ReadFileResult { content: string; encoding: string; } export interface WriteFileOptions { path: string; content: string; encoding?: 'utf8' | 'base64'; append?: boolean; } export interface MoveFileOptions { sourcePath: string; destinationPath: string; } export interface CopyFileOptions { sourcePath: string; destinationPath: string; overwrite?: boolean; } export interface RenameFileOptions { path: string; newName: string; } export interface CreateDirectoryOptions { path: string; recursive?: boolean; } export interface SearchFilesOptions { directory: string; query: string; searchType?: 'name' | 'content' | 'both'; fileTypes?: string[]; maxResults?: number; recursive?: boolean; } export interface SearchFilesResult { files: FileInfo[]; totalFound: number; } export interface PermissionResult { granted: boolean; message?: string; } export interface SystemFilePickerOptions { /** 选择类型 */ type: 'file' | 'directory' | 'both'; /** 是否允许多选 */ multiple?: boolean; /** 文件类型过滤 */ accept?: string[]; /** 起始目录 */ startDirectory?: string; /** 标题 */ title?: string; } export interface SelectedFileInfo { /** 文件名 */ name: string; /** 文件路径(可能是真实路径或URI) */ path: string; /** 原始URI(移动端) */ uri?: string; /** 文件大小 */ size: number; /** 文件类型 */ type: 'file' | 'directory'; /** MIME类型 */ mimeType: string; /** 修改时间 */ mtime: number; /** 创建时间 */ ctime: number; } export interface SystemFilePickerResult { /** 选择的文件信息列表 */ files: SelectedFileInfo[]; /** 选择的目录信息列表 */ directories: SelectedFileInfo[]; /** 是否被用户取消 */ cancelled: boolean; } export interface AdvancedFileManagerPlugin { requestPermissions(): Promise<PermissionResult>; checkPermissions(): Promise<PermissionResult>; openSystemFilePicker(options: SystemFilePickerOptions): Promise<SystemFilePickerResult>; openSystemFileManager(path?: string): Promise<void>; openFileWithSystemApp(filePath: string, mimeType?: string): Promise<void>; listDirectory(options: ListDirectoryOptions): Promise<ListDirectoryResult>; createDirectory(options: CreateDirectoryOptions): Promise<void>; deleteDirectory(options: FileOperationOptions): Promise<void>; createFile(options: CreateFileOptions): Promise<void>; readFile(options: ReadFileOptions): Promise<ReadFileResult>; writeFile(options: WriteFileOptions): Promise<void>; deleteFile(options: FileOperationOptions): Promise<void>; moveFile(options: MoveFileOptions): Promise<void>; copyFile(options: CopyFileOptions): Promise<void>; renameFile(options: RenameFileOptions): Promise<void>; getFileInfo(options: FileOperationOptions): Promise<FileInfo>; exists(options: FileOperationOptions): Promise<{ exists: boolean; }>; searchFiles(options: SearchFilesOptions): Promise<SearchFilesResult>; echo(options: { value: string; }): Promise<{ value: string; }>; }