项目简介
本项目是基于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】