# easyfile-springboot-master **Repository Path**: 415481664/easyfile-springboot-master ## Basic Information - **Project Name**: easyfile-springboot-master - **Description**: EasyFile是一款高性能的轻量化个人云盘系统。整体基于SpringBoot+Vue打造,支持分布式部署。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://chenpeman.top - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2022-07-16 - **Last Updated**: 2022-07-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EasyFile 轻量化的个人云盘 ## 1. 简介 easyfile EasyFile是一款高性能的轻量化个人云盘系统。整体基于SpringBoot+Vue打造,支持分布式部署。项目仅供个人学习使用,请勿用于商业化活动。 后端地址:https://gitee.com/chenpeman/easyfile-springboot-master 前端地址:https://gitee.com/chenpeman/easyfile-vue-master ## 2. 功能介绍 - 系统截图 ![login](https://chenpeman.top/upload/2022/05/login-0631fe4118834f79ae91a90a9e39465b.png) ![register](https://chenpeman.top/upload/2022/05/register-f60b9b1a0ff04ec8bcfb0a76759157a4.png) ![multiOperations](https://chenpeman.top/upload/2022/05/multiOperations-0c72fee1fa734f37a4af198bfb0617f8.png) ![upload](https://chenpeman.top/upload/2022/05/upload-c44f1e52753242b2bb4841ceb5af1ef1.png) ![previewJava](https://chenpeman.top/upload/2022/05/previewJava-e50dde9cb0c046d38d532d36b9ca2629.png) ![previewImage](https://chenpeman.top/upload/2022/05/previewImage-add854a18460446e8002a5deb47475cf.png) ![user](https://chenpeman.top/upload/2022/05/user-58b6249354d441068f8c53df3f2300c3.png) ![type](https://chenpeman.top/upload/2022/05/type-599044172c2a4ed09c5c4fa44bd65668.png) - 用户业务: - 登录 - 注册 - 修改信息 - 发送验证码 - 自动登录 - Token认证 - 文件业务 - 可视化的文件层级管理系统 - 文件分片上传、妙传、断点续传(开发中) - 新建、重命名、删除文件夹与文件 - 文件下载(临时链接) - 文件在线预览(多格式支持) - 文件剪切、复制、粘贴 - 支持批量操作 - 文件分享、通过口令保存分享的文件 - 文件、文件夹搜索 - 分类查看文件 - 系统业务 - 接口拦截器,校验token - 基于redis的分布式接口限流(aop+lua) - 请求参数校验 - 请求参数打印 - 缓存支持 ## 3. 技术选型 - 后端: | 名称 | 版本 | 功能 | | :---------: | :---------: | :----------: | | SpringBoot | 2.6.4 | 基础框架 | | Redis | 不限 | 缓存 | | MySQL | 不限 | 持久化存储 | | MiniO | 8.3.9及以上 | 文件存储中心 | | kkFileView | 3.x.x | 文件预览 | | Lombok | 不限 | 简化代码 | | Guava | 31.0.1 | 限流 | | Fastjson | 2.0.2 | json序列化 | | MybatisPlus | 3.4.3.4 | 数据库交互 | | Druid | 1.2.9 | 数据库连接池 | | Hutool | 5.8.0.M4 | 工具类 | | jjwt | 0.9.1 | 生成token | | zhenzisms | 2.0.2 | 发送短信 | - 前端 | 名称 | 版本 | 功能 | | :----------------: | :----: | :--------: | | Vue-cli | 4.5.13 | 基础框架 | | ElementPlus | 2.1.11 | 组件库 | | axios | 0.27.2 | http库 | | moment | 2.29.3 | 时间格式化 | | spark-md5 | 3.0.2 | md5工具 | | simple-uploader.js | 0.6.0 | 文件上传 | ## 4. 快速开始 ### 4.1 服务端(SpringBoot) - 前期准备 > 由于篇幅原因,这里只给出简单的安装方式。详细的安装教程请自行搜索。 - 安装MySQL、Redis。 ```shell docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=在这里输入你的密码 -d mysql ``` ```shell docker run --name redis -p 6379:6379 -d redis redis-server --save 60 1 --loglevel warning ``` - 安装MiniO ``` docker run -p 9000:9000 -p 9001:9001 --name minio \ -e "MINIO_ROOT_USER=你的账号名(不要输入root、admin等)" \ -e "MINIO_ROOT_PASSWORD=你的密码" \ -v /mydata/minio/data:/data \ -v /mydata/minio/config:/root/.minio \ -d minio/minio server /data --console-address ":9001" ``` - 安装kkFIleView ``` docker run -it -p 8012:8012 keking/kkfileview ``` - 前往榛子云短信官网,注册账号。得到appid、密钥、短信模板ID。 - 配置信息 - 在application.yml中配置相关的信息。 - 在utils/SmsUtils中配置smsApiUrl、smsAppId、smsAppSecret、smsTemplateId。 - 在utils/JwtUtil中配置token密钥。 - 运行项目,后端地址默认为http://localhost:8000 ### 4.2 前端(Vue-Cli) - 在api/request.js中配置后端地址、kkfileView地址。 - 下载依赖 ```shell npm install ``` - 启动项目 ```shell npm run serve ``` - 打包 ```shell npm run build ```