项目简介
本项目是基于Vue.js前端框架与Fastapi后端框架构建的网盘服务,能为用户提供便捷的文件管理功能,包括文件上传、下载、预览、分类查看等,同时支持多用户使用和文件去重保存。
项目的主要特性和功能
- 文件批量上传:允许用户同时上传多个文件,提高上传效率。
- 文件下载:支持文件下载,具备断点续传功能,保障下载稳定性。
- 在线预览:目前支持图片和视频的在线预览。
- 文件分类查看:可依据文件类型对文件进行分类查看,方便用户管理。
- 多用户支持:提供多用户登录与权限管理机制。
- 文件去重保存:利用文件的md5值进行去重保存,节省存储空间。
安装使用步骤
前端项目构建
本地编译:在命令行中执行cd web && npm install && npm build。若编译时遇到elementUI报错Property 'class' does not exist on type 'IntrinsicAttributes',打开报错文件删掉对应行代码即可。
启动服务
- 创建并激活虚拟环境(可选)。
- 使用
pip install .安装项目依赖。 - 仅启动
fastapi服务:可执行uvicorn server:app或python -m server [-h host] [-p port],默认地址为"127.0.0.1:8000"。 - 启动前后端服务:执行
python main.py [-h host] [-p port],默认地址为"0.0.0.0:8000"。
使用Docker
- 在
docker-compose.yaml中配置环境变量。 - 运行
docker compose up -d,此操作需要nginx和python:slim两个镜像,若docker-compose拉取失败,需手动拉取。
用户管理
- 创建用户:执行
python manage.py user add <username> <password> [--admin]。 - 删除用户:执行
python manage.py user drop <username>。
相关配置
- 前端配置文件位于
./web/src/config.ts。 - 后端配置文件位于
./server/config.py。 - 环境变量设置:
DEBUG:设置为任意值可开启uvicorn的debug模式(目前开启时无法代理前端文件,将main.py中的路由复制到server/__init__.py中可正常代理前端路由)。DATABASE_URL:用于配置数据库连接,默认为sqlite3:///<root>/db.sqlite,debug模式会使用test.sqlite,使用其他数据库需安装相应后端,如ormar[postgresql]、ormar[mysql]和ormar[sqlite](默认)。APP_KEY:个人密钥,用于加密用户密码,默认值为1234567890。- 所有上传的文件会保存在项目根目录下的
files文件夹中。
待实现功能
- 支持文件、文件夹的移动操作。
- 增加可预览文件类型,如PDF、Markdown、纯文本、Word、Excel、PPT等。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】