library-picturebook-activity/java-backend/README.md
En 48fc71b41d fix: 前后端接口对齐修复
- 修复 sys-config 接口参数对齐(configKey/configValue)
- 添加 dict 字典项管理 API
- 修复 logs 接口参数格式(批量删除/清理日志)
- 添加 request.ts postForm/putForm 方法支持

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-28 18:53:24 +08:00

178 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Creation Java Backend
Spring Boot 后端基础框架
## 技术栈
| 组件 | 技术 | 版本 |
|:------|:------|:------|
| 框架 | Spring Boot | 3.2.4 |
| 持久层 | MyBatis-Plus | 3.5.5 |
| 数据库 | MySQL 8.0 | 8.0.33 |
| 迁移 | Flyway | 10.10.0 |
| 认证 | Spring Security + JWT | 0.12.3 |
| 缓存 | Redis | - |
| 连接池 | Alibaba Druid | 1.2.20 |
| 对象映射 | MapStruct | 1.5.5.Final |
| API 文档 | Knife4j | 4.4.0 |
| 日志 | Logback | - |
| JSON | FastJSON2 | 2.0.43 |
| 工具类 | Hutool | 5.8.26 |
## 快速开始
### 环境要求
- Java 17+
- Maven 3.8+
- MySQL 8.0+
- Redis 6.0+
### 配置数据库
1. 创建数据库
```sql
CREATE DATABASE creation_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
2. 修改 `src/main/resources/application-dev.yml` 中的数据库连接信息
### 启动应用
```bash
cd java-backend
mvn spring-boot:run -Dspring-boot.run.profiles=dev
```
启动成功后访问:
- 应用地址http://localhost:8580
- API 文档http://localhost:8580/swagger-ui.html
## 项目结构
```
java-backend/
├── src/main/java/com/lesingle/creation/
│ ├── CreationApplication.java # 启动类
│ ├── common/ # 公共模块
│ │ ├── config/ # 配置类
│ │ │ ├── MybatisPlusConfig.java
│ │ │ ├── SecurityConfig.java
│ │ │ └── JwtProperties.java
│ │ ├── constant/ # 常量定义
│ │ │ └── ErrorCode.java
│ │ ├── core/ # 核心类
│ │ │ └── Result.java
│ │ ├── exception/ # 异常处理
│ │ │ ├── BusinessException.java
│ │ │ └── GlobalExceptionHandler.java
│ │ ├── filter/ # 过滤器
│ │ │ └── JwtAuthenticationFilter.java
│ │ └── util/ # 工具类
│ │ └── JwtTokenUtil.java
│ ├── controller/ # 控制器
│ ├── service/ # 服务层
│ ├── mapper/ # Mapper 接口
│ ├── entity/ # 实体类
│ ├── dto/ # 数据传输对象
│ └── vo/ # 视图对象
├── src/main/resources/
│ ├── application.yml # 主配置
│ ├── application-dev.yml # 开发环境
│ ├── application-test.yml # 测试环境
│ ├── application-prod.yml # 生产环境
│ ├── db/migration/ # Flyway 迁移脚本
│ │ └── V1.0__init_schema.sql
│ └── logback-spring.xml # 日志配置
└── pom.xml # Maven 配置
```
## 默认账户
Flyway 初始迁移后会自动创建以下账户:
| 用户名 | 密码 | 角色 |
|:------|:------|:------|
| admin | admin123 | 超级管理员 |
## 开发规范
### 三层架构
| 层级 | 职责 | 数据流 |
|:------|:------|:------|
| **Controller** | 接收请求、参数校验 | DTO ↔ VO |
| **Service** | 业务逻辑、事务控制 | 使用 Entity |
| **Mapper** | 数据库 CRUD | 使用 Entity |
### 代码规范
- Java 17 严格模式
- 注释和日志使用中文
- 使用 Lombok 简化代码
- 使用 MapStruct 进行对象映射
### 日志规范
- 所有日志使用中文
- 使用 MDC 实现 TraceId 链路追踪
- 开发环境DEBUG 级别
- 生产环境INFO/WARN 级别
## 常用命令
```bash
# 编译
mvn clean compile
# 打包
mvn clean package
# 运行(开发环境)
mvn spring-boot:run -Dspring-boot.run.profiles=dev
# 运行(测试环境)
mvn spring-boot:run -Dspring-boot.run.profiles=test
# 运行(生产环境)
mvn spring-boot:run -Dspring-boot.run.profiles=prod
# 跳过测试打包
mvn clean package -DskipTests
# 查看依赖
mvn dependency:tree
```
## API 接口
### 认证相关
- `POST /api/auth/login` - 用户登录
- `POST /api/auth/logout` - 用户登出
- `POST /api/auth/register` - 用户注册
- `POST /api/auth/refresh` - 刷新 Token
### 用户相关
- `GET /api/users` - 用户列表
- `GET /api/users/{id}` - 获取用户详情
- `POST /api/users` - 创建用户
- `PUT /api/users/{id}` - 更新用户
- `DELETE /api/users/{id}` - 删除用户
## 环境变量(生产环境)
生产环境部署时需设置以下环境变量:
| 变量名 | 说明 | 示例 |
|:------|:------|:------|
| `DATABASE_URL` | 数据库连接 URL | `jdbc:mysql://host:3306/db` |
| `DB_USERNAME` | 数据库用户名 | `root` |
| `DB_PASSWORD` | 数据库密码 | `password` |
| `REDIS_HOST` | Redis 主机 | `localhost` |
| `REDIS_PORT` | Redis 端口 | `6379` |
| `REDIS_PASSWORD` | Redis 密码 | `password` |
| `JWT_SECRET` | JWT 密钥 | `your-secret-key` |
## License
MIT