首次提交后端接口

This commit is contained in:
super
2026-01-27 20:48:47 +08:00
commit 40db55e85d
177 changed files with 18905 additions and 0 deletions

156
README.md Normal file
View File

@@ -0,0 +1,156 @@
# Nanxiislet Admin Backend
南溪小岛管理后台 Spring Boot 后端服务
## 技术栈
- **框架**: Spring Boot 3.3.4
- **Java 版本**: JDK 21
- **数据库**: MySQL 8.0+
- **缓存**: Redis
- **ORM**: MyBatis-Plus 3.5.7
- **认证**: Sa-Token 1.39.0
- **API 文档**: Knife4j 4.5.0 (OpenAPI 3)
- **工具库**: Hutool、Lombok、EasyExcel
## 项目结构
```
src/main/java/com/nanxiislet/admin/
├── common/ # 公共模块
│ ├── base/ # 基础类
│ ├── exception/ # 异常处理
│ └── result/ # 响应结果
├── config/ # 配置类
├── controller/ # 控制器
├── dto/ # 数据传输对象
│ ├── auth/ # 认证相关
│ └── query/ # 查询条件
├── entity/ # 实体类
├── mapper/ # MyBatis Mapper
└── service/ # 服务层
└── impl/ # 服务实现
```
## 功能模块
### 认证管理
- 用户登录/登出
- 验证码
- 获取当前用户信息
### 用户管理
- 用户 CRUD
- 密码重置/修改
- 用户状态管理
### 平台管理
- 项目管理
- 服务器管理
- 域名管理
### 财务管理
- 收入管理
- 支出管理
- 预算管理
- 报销管理
- 发票管理
- 结算管理
### 仪表盘
- 统计数据
- 快速概览
## 快速开始
### 1. 环境要求
- JDK 21+
- Maven 3.8+
- MySQL 8.0+
- Redis 6.0+
### 2. 数据库初始化
执行 `src/main/resources/db/init.sql` 脚本创建数据库和表。
```bash
mysql -h 192.168.9.100 -u root -p < src/main/resources/db/init.sql
```
### 3. 配置修改
编辑 `src/main/resources/application.yml`,修改数据库和 Redis 连接信息。
### 4. 启动项目
```bash
mvn spring-boot:run
```
或打包后运行:
```bash
mvn package -DskipTests
java -jar target/nanxiislet-admin-1.0.0-SNAPSHOT.jar
```
### 5. 访问 API 文档
启动后访问: http://localhost:8080/api/doc.html
## 默认账户
- 用户名: `admin`
- 密码: `admin123`
## API 说明
### 认证接口
| 方法 | 路径 | 说明 |
| ---- | --------------- | ---------------- |
| GET | /auth/captcha | 获取验证码 |
| POST | /auth/login | 用户登录 |
| POST | /auth/logout | 用户登出 |
| GET | /auth/user-info | 获取当前用户信息 |
### 用户管理
| 方法 | 路径 | 说明 |
| ------ | -------------------------------- | -------- |
| GET | /system/user/list | 用户列表 |
| GET | /system/user/{id} | 用户详情 |
| POST | /system/user | 新增用户 |
| PUT | /system/user/{id} | 更新用户 |
| DELETE | /system/user/{id} | 删除用户 |
| POST | /system/user/{id}/reset-password | 重置密码 |
| POST | /system/user/change-password | 修改密码 |
### 请求头
需要登录的接口请在请求头中携带 Token
```
Authorization: Bearer {token}
```
## 响应格式
```json
{
"code": 200,
"message": "操作成功",
"data": {},
"timestamp": 1704540000000
}
```
## License
MIT License