# spiritualjoy-h5-admin **Repository Path**: hyper-yang/daily-note ## Basic Information - **Project Name**: spiritualjoy-h5-admin - **Description**: 这是文章分享和文章管理的项目后台,基于spring-boot3、vue3开发,使用分布式文件存储系统 minio存储图像等文件、NoSql数据库 redis存储token、关系型数据库 mysql存储结构化数据 后端进行了响应拦截、token生成和验证、线程本地变量标识用户、自定义注解验证提交数据等拓展,前端使用pinia进行数据状态缓存、使用axios封装请求响应拦截器、使用插件存储富文本数据 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-02 - **Last Updated**: 2025-10-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringBoot, vue3, Redis, minio, docker-file ## README # 灵悦随记 ## 项目简介 **灵悦随记**: 是一款专为用户打造的文章/日记管理系统,后端基于 Spring Boot 开发,前后端分离,接口简洁易用。系统支持用户注册、登录、文章分类、文章管理、图片等文件上传,并集成了参数校验、JWT 鉴权、全局异常处理等能力。适合自建知识库、随手记等多种场景。项目结构清晰,对开发初学者也有不错的学习参考价值。
**项目体验地址**:[http://8.136.9.202](http://8.136.9.202)
**后端 Docker 镜像**:`crpi-ag9l05l817t23m5b.cn-hangzhou.personal.cr.aliyuncs.com/sakiko-prod/spiritual-joy:v1.0.0`
**作者声明**: 在合法合规范围内,本项目允许任何形式二次创作。为丰富用户体验,后续或将发布微信小程序、移动端应用程序版本,有兴趣可联系作者共创 ## 业务功能 - **用户管理** - 用户注册、登录 - 用户信息修改、头像上传、密码修改 - **文章分类管理** - 分类的新增、查询、修改、删除 - **文章管理** - 文章的新增、查询(分页、分类/状态筛选)、修改、删除 - **文件上传** - 支持上传图片等文件,返回可访问链接 ## 系统功能 - JWT 登录鉴权,Redis 存储 token - 参数校验(含自定义注解) - 全局异常处理 - 分页查询(PageHelper) - 多环境配置(dev/prod/test) ## 项目目录结构 ```text ├── pom.xml # Maven 配置文件 ├── src/ │ ├── main/ │ │ ├── java/com/sakiko/dailynote/ # 主代码目录 │ │ │ ├── controller/ # 控制器(接口层) │ │ │ ├── service/ # 业务逻辑层 │ │ │ ├── mapper/ # MyBatis 映射层 │ │ │ ├── pojo/ # 实体类 │ │ │ ├── utils/ # 工具类 │ │ │ ├── config/ # 配置类 │ │ │ ├── exception/ # 全局异常 │ │ │ ├── interceptors/ # 拦截器 │ │ │ └── validations/annotations/ # 参数校验相关 │ │ └── resources/ │ │ ├── application.yml # 主配置 │ │ ├── application-dev.yml # 开发环境配置 │ │ ├── application-prod.yml # 生产环境配置 │ │ ├── application-test.yml # 测试环境配置 │ │ └── com/sakiko/dailynote/mapper/ # MyBatis XML │ └── test/ # 测试代码 └── target/ # 编译输出目录 ``` ## 技术栈说明 - **后端框架**:Spring Boot 3.4.x - **ORM 框架**:MyBatis(注解+XML 混合) - **数据库**:MySQL - **缓存/会话**:Redis(用于 token 存储) - **分布式文件存储**:MinIO(支持大文件上传与外链访问) - **参数校验**:Spring Validation + 自定义注解 - **鉴权**:JWT(java-jwt) - **分页**:PageHelper - **依赖管理**:Maven - **辅助工具**:Lombok ## 快速启动 1. **准备环境** 【推荐 docker 安装】 - JDK 17+ - MySQL - Redis - MinIO 【可选】 - Nginx 【可选】 2. **配置数据库/Redis/MinIO** - 修改 `src/main/resources/application-*.yml`,填入你的数据库、Redis、MinIO 连接信息。 3. **构建并运行** ```shell mvn clean package java -jar target/spiritual-joy.jar ``` 或用 IDE 直接运行 `DailyNoteApplication.java` 4. **接口文档** - 可用 Postman ApiFox 自行调试接口。 ## 联系作者 & 贡献方式 欢迎提交 issue 或 PR,建议先提 issue 讨论。作者联系方式: hyper_y@163.com ## 常见问题 - **数据库表结构**:请根据实体类自行建表。 - **MinIO/Redis 连接失败**:请检查配置和服务是否启动。 - **依赖缺失**:请确保使用 Maven 并已下载所有依赖。 - **提供后端一步构建**: docker run crpi-ag9l05l817t23m5b.cn-hangzhou.personal.cr.aliyuncs.com/sakiko-prod/spiritual-joy:v1.0.0 - **没有前端?看不到页面效果**: 资料文件夹 1、提供 dist 可通过 nginx 配置代理 2、提供 .sql 结构文件 ## 补充 - 后续移动端、小程序端代码还在加急开发中 ing...