# ldesign-file-manager **Repository Path**: ldesign-v1/ldesign-file-manager ## Basic Information - **Project Name**: ldesign-file-manager - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-11 - **Last Updated**: 2026-04-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # @ldesign/file-manager 文件管理器 - 目录树、上传、预览、批量操作。 ## ✨ 特性 - 📂 **目录树** - 可折叠的文件目录树展示 - ⬆️ **文件上传** - 支持拖拽上传、多文件上传 - 👁️ **文件预览** - 图片、文档在线预览 - 📋 **批量操作** - 批量选择、删除、移动、复制 - 🔍 **搜索过滤** - 按文件名搜索、按类型过滤 - 🎨 **文件图标** - 不同文件类型显示对应图标 - 🌓 **主题切换** - 亮色/暗色主题 - ♿ **无障碍** - 键盘导航支持 --- ## 📦 安装 ```bash # 核心库 pnpm add @ldesign/file-manager # Vue 组件 pnpm add @ldesign/file-manager-vue ``` --- ## 🚀 快速开始 ```typescript import { createFileManager } from '@ldesign/file-manager'; const manager = createFileManager({ container: '#file-manager', files: [ { id: '1', name: '文档', type: 'folder', children: [ { id: '1-1', name: '报告.pdf', type: 'file', size: 1024000 }, ]}, { id: '2', name: '图片.jpg', type: 'file', size: 512000 }, ], onFileClick: (file) => { console.log('点击文件:', file.name); }, }); ``` --- ## 📖 API 文档 ### FileNode | 字段 | 类型 | 说明 | |------|------|------| | id | string | 文件唯一标识 | | name | string | 文件名 | | type | string | 类型 ('file' \| 'folder') | | size | number | 文件大小 (字节) | | children | FileNode[] | 子文件列表 (folder) | | extension | string | 文件扩展名 | | modifiedAt | Date | 修改时间 | --- ## 🏗️ 项目结构 ``` file-manager/ ├── packages/ │ ├── core/ # 核心库 @ldesign/file-manager │ │ └── src/ │ │ ├── core/ # 核心引擎 (FileManager) │ │ ├── renderer/ # DOM 渲染器 │ │ ├── theme/ # 主题系统 │ │ ├── types/ # TypeScript 类型 │ │ └── utils/ # 工具函数 │ └── vue/ # Vue 组件 ├── playground/ # 演示应用 └── README.md ``` --- ## 🔧 开发 ```bash # 安装依赖 pnpm install # 开发模式 pnpm dev # 构建 pnpm build ``` --- ## 📄 License MIT