# Simple-Net-Disk **Repository Path**: wslin/simple-net-disk ## Basic Information - **Project Name**: Simple-Net-Disk - **Description**: 建议的网盘服务端和前端 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-21 - **Last Updated**: 2026-03-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 个人局域网网盘 一个轻量级的个人局域网网盘解决方案,支持在局域网内浏览、查看和播放本地文件。包含 Web 端和移动端(Flutter)两种访问方式。 ## 功能特性 - **目录浏览**:浏览服务器配置的本地目录 - **图片查看**:支持图片预览和滑动浏览 - **视频播放**:支持视频流式播放,支持横屏模式 - **文件管理**:支持文件/文件夹删除 - **多端访问**:Web 端和移动端(Android/iOS) ## 项目结构 ``` wangpan/ ├── server/ # 后端服务 (Node.js + Express) │ └── index.js # 服务端入口 ├── src/ # Web 前端源码 (Vue 3) │ ├── App.vue # 主应用组件 │ └── main.js # 前端入口 ├── flutter_app/ # Flutter 移动端应用 │ ├── lib/ │ │ ├── main.dart # 应用入口 │ │ ├── models/ # 数据模型 │ │ ├── screens/ # 页面组件 │ │ └── services/ # API 服务 │ └── pubspec.yaml # Flutter 依赖配置 ├── config.js # 服务配置文件 ├── package.json # Node.js 依赖配置 ├── vite.config.js # Vite 构建配置 └── index.html # Web 入口页面 ``` ## 技术栈 ### 后端 - Node.js + Express - 支持视频流式传输(Range 请求) ### Web 前端 - Vue 3 - Vant 4 (移动端 UI 组件库) - Vite (构建工具) ### 移动端 - Flutter 3.x - video_player + chewie (视频播放) - photo_view (图片查看) - cached_network_image (图片缓存) - provider (状态管理) - shared_preferences (本地存储) ## 快速开始 ### 环境要求 - Node.js 18+ - Flutter 3.x (如需使用移动端) ### 1. 配置 编辑 `config.js` 文件,配置服务端口和要共享的目录: ```javascript export default { server: { port: 3000, host: '0.0.0.0' // 允许局域网访问 }, directories: [ { name: '大硬盘', path: 'G:/' }, { name: '移动硬盘', path: 'H:/' } ] } ``` ### 2. 安装依赖 ```bash npm install ``` ### 3. 启动服务 ```bash # 启动后端服务(同时提供静态文件) npm run dev # 或仅启动前端开发服务器 npm run dev:front # 构建生产版本 npm run build ``` 服务启动后访问 `http://localhost:3000` 即可使用 Web 端。 ### 移动端 (Flutter) ```bash cd flutter_app # 获取依赖 flutter pub get # 运行调试版本 flutter run # 构建 Android APK flutter build apk --release # 构建 iOS (需要 macOS) flutter build ios --release ``` 构建产物位于 `flutter_app/build/app/outputs/flutter-apk/app-release.apk` ### 移动端配置 在 App 中点击设置按钮,配置服务器地址,例如: - `http://192.168.1.100:3000`(局域网 IP) - `http://localhost:3000`(本机访问) ## API 接口 | 接口 | 方法 | 说明 | |------|------|------| | `/api/directories` | GET | 获取配置的目录列表 | | `/api/files?dir=&subdir=` | GET | 获取目录下的文件列表 | | `/files/:dir/*` | GET | 获取文件(支持 Range 请求) | | `/api/files` | DELETE | 删除文件或文件夹 | ## 支持的文件类型 - **图片**:jpg, jpeg, png, gif, bmp, webp, svg - **视频**:mp4, mkv, avi, mov, wmv, flv, webm - **音频**:mp3, wav, flac, aac, ogg, m4a - **文档**:pdf, doc, docx, xls, xlsx, ppt, pptx, txt ## 注意事项 1. 此项目仅适用于局域网环境,不建议暴露到公网 2. 删除操作不可恢复,请谨慎使用 3. 视频播放支持大文件流式传输 ## License MIT