/miniOS

mini版的文件OS

Primary LanguageVue

MiniOS-WindowsKun:整合网络文件系统与自定义VFS

项目概述

本项目开发了一款基于Django后端框架和Vue.js前端框架的WebOS系统,旨在将所有网络文件系统(如百度网盘、夸克网盘、FTP、SFTP、WebDAV等)整合至一个统一的虚拟文件系统(VFS)层,作为系统的物理存储引擎。用户可通过浏览器访问该WebOS,无缝管理分散在网络中的各类文件资源,实现跨平台、跨协议的文件操作与共享。

如何启动

  1. 体验地址
  2. docker-compose一键启动并部署
docker-compose up -d

docker-compose启动后访问http://localhost

  1. 先启动Django后启动Vue

技术栈

后端

  • 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的强大功能,为用户提供了一个统一、便捷、安全的网络文件管理平台。随着项目的持续发展与完善,将进一步提升用户体验,满足更广泛的应用场景需求。