本项目开发了一款基于Django后端框架和Vue.js前端框架的WebOS系统,旨在将所有网络文件系统(如百度网盘、夸克网盘、FTP、SFTP、WebDAV等)整合至一个统一的虚拟文件系统(VFS)层,作为系统的物理存储引擎。用户可通过浏览器访问该WebOS,无缝管理分散在网络中的各类文件资源,实现跨平台、跨协议的文件操作与共享。
- 体验地址
- docker-compose一键启动并部署
docker-compose up -d
docker-compose启动后访问http://localhost
- Django: 用于构建RESTful API接口,处理用户认证、权限管理、文件操作请求及与VFS层的交互。
- Django Rest Framework: 提供丰富的工具和API视图,简化REST API开发。
- 相关库:
- FTP/SFTP/WebDAV客户端库:实现与各种网络文件系统的连接与通信。
- VFS实现库(如PyFilesystem2):提供抽象的文件系统接口,便于集成各类文件系统。
支持的文件系统
- localdisk
- baidu网盘
- FTP
- 阿里网盘
- ...
- Vue.js: 用于构建响应式、组件化的用户界面,实现文件浏览、编辑、上传、下载等功能。
- Vuex: 管理前端状态,同步与文件操作相关的数据。
- ElementUI-Plus(或其他UI库): 提供丰富的UI组件,提升界面美观度和用户体验。
- 多协议支持:无缝接入FTP、SFTP、WebDAV等多种网络文件系统。
- 文件管理:浏览、搜索、新建、重命名、复制、移动、删除文件和目录。
- 文件操作:在线预览、编辑文件内容,支持文本、图片、视频等多种格式。
- 权限管理:细粒度的角色与权限控制,确保数据安全。
- 跨平台访问:基于浏览器的访问方式,支持Windows、macOS、Linux及移动设备。
- API层:Django RESTful API接口,处理前端请求,与业务逻辑层交互。
- 业务逻辑层:包含用户认证、权限验证、文件操作逻辑等核心业务处理模块。
- VFS层:整合各类网络文件系统,提供统一的文件操作接口。
- 网络文件系统适配层:对接FTP、SFTP、WebDAV等客户端库,实现与各网络文件系统的通信。
- UI层:基于Vue.js和Element UI构建用户界面,实现文件管理的各项功能。
- 状态管理:使用Vuex管理前端状态,包括当前登录用户信息、文件列表、操作状态等。
- 服务调用层:封装API调用,处理响应数据,与UI层交互。
- 注册与登录:用户通过Web界面完成注册与登录,系统根据角色分配相应权限。
- 添加网络存储:在设置中添加FTP、SFTP、WebDAV等网络存储,提供必要的认证信息。
- 文件管理:在主界面中浏览、操作已添加的网络存储中的文件和目录。
- 更多协议支持:集成更多类型的网络文件系统,如SMB、NFS等。
- 离线访问:探索使用Service Worker实现部分文件的离线访问与编辑。
- 协作功能:添加文件分享、在线协作编辑等功能,提升团队协作效率。
- 性能优化:优化文件传输、缓存策略,提升大文件操作及大量文件列表加载的性能。
本WebOS系统整合了多种网络文件系统,借助Django和Vue.js的强大功能,为用户提供了一个统一、便捷、安全的网络文件管理平台。随着项目的持续发展与完善,将进一步提升用户体验,满足更广泛的应用场景需求。