- 文件的上传、下载、删除、预览、移动位置
- 文件夹的创建、删除、移动位置
- 区分用户、角色、权限,不同的权限分配给不同的角色,不同的角色分配给不同的用户
- 大文件切片/分块上传,采用流式数据来给前端发送上传或下载的速度
- 上传、下载实现断点续传
- 接口维护到Apifox
-- 手动创建数据库
CREATE DATABASE IF NOT EXISTS netdisk
DEFAULT CHARACTER SET utf8mb4;- 安装 MySQL 8+
- 创建数据库 netdisk
- 修改 application.properties 中的数据库账号密码
- 启动项目,数据库表将自动创建
-
2026-01-06
-
项目初始化
- IDEA + Spring Initializr(Spring Boot v2.6.13 / JDK 1.8.0_441 / Java 8)
- 写建表语句
application.properties配置数据库连接、初始化sql位置- Mybatis最小闭环(Entity => Mapper => XML)
- 写Controller,调用mapper执行查询语句
-
添加Service层,集齐三层架构(Controller => Service => DAO)
- Controller:
XxxController.java:private final XxxService xxxService;
- Service:
XxxService.javaXxxServiceImpl.java:private final XxxMapper xxxMapper;
- DAO:
XxxMapper.javaXxxMapper.xml
- Controller:
-
封装公共结果
Result<T>{ code; meg; data } -
实现文件上传功能,接口更新到Apifox
-
application.yml代替application.properties
-
-
2026-01-07
- 实现文件查询、文件下载功能
-
2026-01-14
- 封装公共异常
- 处理跨域请求
-
2026-01-30
- 接入minio,由本地文件存储转为对象存储
- 修改FileInfo的数据库表(SQL Table) => Mapper => Service => Controller
- 修改文件查询、上传、下载逻辑,更新接口到Apifox
-
2026-02-03
- MinIO对象存储模型 => 网盘文件模型
- FileInfo => DiskItem
-
2026-02-10
- 回收站(列表查询、恢复、彻底删除)
- 采用定时任务清理回收站,将过期时间与执行时间提取到配置文件
-
2026-02-11
-
文件查询允许分页以及按照名称过滤
-
引入P6Spy,监控SQL并打印日志
-
引入logstash-logback-encoder将纯文本日志转为JSON格式日志
-
Spring Boot ↓ P6Spy 监控SQL打印纯文本日志 ↓ Logback 输出 JSON 日志 ↓ Filebeat(采集日志文件) ↓ Elasticsearch(存储索引) ↓ Kibana(查询 + 可视化)
-
-
2026-02-24
- 批量操作(移动、删除、下载)
-
2026-02-25
- 批量上传
- 精简SQL日志
- 我的收藏
- 最近访问
-
2026-02-26
- 最近访问