# classroom-pet **Repository Path**: 5vbear/ai ## Basic Information - **Project Name**: classroom-pet - **Description**: 基于 Spring Boot 3.2、MyBatis、SQLite 的本地课堂宠物系统。前端主题为「班级竞技场」宝可梦风格,包含 宠物管理(/)与 全班同屏(/arena.html)。默认端口 9001。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-04-16 - **Last Updated**: 2026-04-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 班级宠物系统(班级竞技场) 本地运行的课堂宠物管理与小对战演示:Spring Boot 后端 + 静态页前端,宝可梦风格 UI。默认服务端口 **9001**。 ## 技术栈 | 组件 | 说明 | |------|------| | Java **17** | 运行与编译版本 | | Spring Boot **3.2** | Web、配置、内嵌运行 | | MyBatis **3.0.x** | 数据访问 | | SQLite | 单文件数据库 `classroom_pet.db`(项目根目录) | | Vue 3(CDN) | 部分前端页面 | ## 环境要求 - **JDK 17+** - **Maven 3.6+**(`mvn -v`) ## 快速启动 ```bash mvn spring-boot:run ``` 浏览器访问: | 地址 | 说明 | |------|------| | [http://localhost:9001/](http://localhost:9001/) | 宠物 / 学生管理首页 | | [http://localhost:9001/arena.html](http://localhost:9001/arena.html) | 全班同屏竞技场 | | [http://localhost:9001/battle.html](http://localhost:9001/battle.html) | 战斗剧场(双人 PK 动画) | **Windows 一键启动**:项目根目录双击 **`启动班级竞技场.bat`**(会启动服务并在就绪后尝试打开浏览器)。 ### 打包运行(可选) ```bash mvn -q -DskipTests package java -jar target/classroom-pet-system-1.0.0.jar ``` ## 功能概览 - **班级 / 学生**:班级 CRUD;学生学号、性别、姓名、积分、头像;学生与宠物一对一。 - **宠物图鉴**:领养、形态与配色;装备与属性加成。 - **Excel 导入学生**:`POST /classes/{id}/students/import`,表头需含 **姓名**,建议含 **学号**、**性别**;支持 `.xlsx` / `.xls`。模板:`GET /classes/import-template`。 - **头像上传**:保存于 **`uploads/`**(`app.upload-dir`),通过 **`/uploads/...`** 访问。 - **战斗剧场**:两名学生 PK,战报回合动画;**每局先手随机**;结束后可关闭胜利提示继续查看战报。 ## 配置与数据 - 端口、上传目录等见 **`src/main/resources/application.yml`**。 - 启动时执行 **`schema.sql`**、**`data.sql`**、**`pet_species_data.sql`**;旧库由 **`DatabaseMigration`** 自动补列。 - **完全重置**:停止服务后删除根目录 **`classroom_pet.db`**,按需清理 **`uploads/`**,再启动。 ## 仓库脚本(`scripts/`) | 脚本 | 用途 | |------|------| | `push-gitee.ps1` | 配置 `origin` 并提交、推送(默认分支可传 `-Branch`) | | `Run-ClassArena.ps1` | 命令行启动竞技场(可配合 ps2exe 等打成 exe) | | `wait-and-open.ps1` | 等待端口就绪后打开浏览器(bat 会调用) | ## 主类 `com.classroom.pet.ClassroomPetApplication` ## 常见问题 1. **端口占用**:修改 `application.yml` 的 `server.port`,并同步检查 `scripts/` 与文档中的端口引用。 2. **Maven 未找到**:将 Maven `bin` 加入 PATH,或在 IDE 中使用内置 Maven。 3. **Excel 导入失败**:首行表头须含「姓名」;同一班级内学号不可重复。 更细的说明见项目内 **`启动说明.md`**。