# exam-jyt

## 项目简介

基于 Spring Boot + Vue 3 的图书管理系统，包含用户管理、书籍管理、借还书、公告管理、留言管理等模块。

## 技术栈

### 后端（exam-api）

| 技术 | 版本 |
|------|------|
| JDK | 1.8 |
| Spring Boot | 2.1.4.RELEASE |
| MyBatis-Plus | 3.4.1 |
| MySQL Connector | 8.0.11 |
| Apache Shiro | 1.8.0 |
| Druid 连接池 | 1.2.6 |
| Swagger | 2.9.2 |
| FastJSON | 1.2.56 |
| Hutool | 5.8.5 |
| Lombok | 1.18.4 |
| Log4j2 | 2.16.0 |
| Maven | 构建工具 |

### 前端（exam-vue）

| 技术 | 版本 |
|------|------|
| Vue | 3.4.21 |
| Vue Router | 4.3.0 |
| Vuex | 4.1.0 |
| Element Plus | 2.9.1 |
| Vite | 5.2.0 |
| Axios | 0.21.1 |
| Sass | 1.49.9 |
| pnpm | 10.6.4 |
| npm | 9.8.1 |
| nvm | 1.1.9 |
| Node.js | 18.18.0 |

## 项目结构

```
exam-jyt/
├── exam-api/          # 后端 Spring Boot 项目
│   └── src/main/java/com/bc/exam/
│       ├── config/        # 配置类（Shiro、Swagger、CORS 等）
│       ├── modules/       # 业务模块
│       ├── core/          # 核心工具类
│       └── ability/       # 能力组件（JWT、Shiro Realm）
├── exam-vue/          # 前端 Vue 3 项目
│   └── src/
│       ├── api/           # 接口请求
│       ├── views/         # 页面视图
│       ├── components/    # 公共组件
│       ├── store/         # Vuex 状态管理
│       ├── router/        # 路由配置
│       └── layout/        # 布局组件
└── README.md
```

## 环境要求

- JDK 1.8
- Node.js 18.18.0（nvm 1.1.9 管理）
- pnpm 10.6.4
- npm 9.8.1
- MySQL 8.0
- Maven

## 快速启动

### 后端

```bash
cd exam-api
mvn spring-boot:run
```

后端默认端口：**8101**

### 前端

```bash
cd exam-vue
pnpm install
pnpm dev
```

前端默认端口：**9527**

### 构建部署

```bash
cd exam-vue
pnpm build
```

构建产物输出到 `dist/` 目录，复制到 `exam-api/src/main/resources/static/` 下即可通过后端统一访问。

## API 文档

启动后端后访问：http://127.0.0.1:8101/doc.html
