# easy在线共享云盘 **Repository Path**: Eternity-Arrebol/easy-online-share-cloud ## Basic Information - **Project Name**: easy在线共享云盘 - **Description**: 这是一个能够在线上传、分享和下载的云盘系统,能够实现用户间的文件存取等 - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2025-04-17 - **Last Updated**: 2025-07-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, Vue, MySQL ## README # Easy Online Share Cloud 在线共享云盘 ## 📑 项目介绍 基于 Spring Boot + Vue 的在线共享云盘系统,允许用户上传文件并生成独立访问码,任何人凭访问码即可下载共享文件。管理员具备文件审核、查看与管理权限,确保系统安全可靠。 ## ✨ 功能特点 ### 用户功能 - 📝 用户注册、登录、登出 - 📤 支持多类型文件(文档/图片/音视频)上传 - 🔑 文件上传成功后自动生成唯一访问码 - 📋 查看个人上传记录 ### 访客功能 - 📥 通过访问码下载文件(无需注册) - 🔍 简洁直观的下载界面 ### 管理员功能 - 👮 文件审核(通过/驳回) - 📊 按状态(待审/已审/违规)筛选与搜索文件 - 🗑️ 批量删除或下架违规文件 - 📈 系统监控与统计概览 ### 系统特性 - 🔐 基于 Sa-Token 的权限认证 - 📝 完整的操作日志与审计 - 🚀 高性能:支持并发上传下载 100+ QPS - 🛡️ 安全防护:HTTPS、XSS/CSRF 防护、访问码防暴力破解 - 🌐 良好的兼容性:支持主流浏览器 ## 🏗️ 技术架构 ``` +------------+ +-------------+ +-------------+ | Vue 前端 | <--> | SpringBoot | <--> | MySQL/Redis | +------------+ +-------------+ +-------------+ | | | | [1] HTTP API | | | [2] 文件流 | | `-- 静态资源托管 --` | ``` ### 前端技术栈 - **框架**:Vue 3 + Vite - **UI 组件**:Element Plus - **状态管理**:Pinia - **路由**:Vue Router - **HTTP 客户端**:Axios - **图表**:ECharts ### 后端技术栈 - **框架**:Spring Boot 3.x - **ORM**:MyBatis-Plus 3.5.x - **认证授权**:Sa-Token - **数据库**:MySQL - **缓存**:Redis - **工具库**:Hutool、FastJSON2 - **连接池**:Druid - **分布式锁**:Redisson ## 💾 数据库设计 系统主要包含以下数据表: - **user**:用户表(id, username, password, role, status, create_time, update_time) - **file**:文件表(id, uploader_id, access_code, path, size, content_type, status, create_time, update_time) - **operate_record**:操作日志(id, user_id, file_id, operation, ip, timestamp) ## 🚀 安装部署 ### 环境要求 - JDK 17+ - Node.js 16+ - MySQL 5.7+ - Redis 6.0+ ### 后端部署 1. 克隆项目 ```bash git clone https://github.com/yourusername/easy-online-share-cloud.git cd easy-online-share-cloud ``` 2. 配置数据库 - 创建数据库 `easy_online_share_cloud` - 修改 `application.yml` 中的数据库连接信息 - 数据库文件在后端目录resources中 3. 编译运行 ```bash cd easy-online-share-cloud--springboot mvn clean package java -jar target/EasyOnlineShareCloud-1.0-SNAPSHOT.jar ``` ### 前端部署 1. 安装依赖 ```bash cd easy-online-share-cloud--vue npm install ``` 2. 开发环境运行 ```bash npm run dev ``` 3. 生产环境构建 ```bash npm run build ``` ## 📝 使用说明 ### 用户操作流程 1. 注册/登录系统 2. 点击"上传"按钮选择文件 3. 上传成功后获取访问码 4. 将访问码分享给他人 ### 访客下载流程 1. 访问下载页面 2. 输入访问码 3. 点击"下载"按钮获取文件 ### 管理员操作流程 1. 使用管理员账号登录 2. 进入管理后台查看待审核文件 3. 对文件进行审核(通过/驳回) 4. 查看系统监控数据和操作日志 ### 注意 1.不要对数据库以及本地存储文件手动更改,可能会出现数据不一致的情况 2.若要删除文件,请在数据库中删除对应记录。或在后管页面删除文件