基于Spring Boot的宠物领养管理系统
一、项目简介
基于Spring Boot的宠物领养管理系统
宠物领养管理系统是一套面向宠物领养与公益救助场景的前后端分离 Web 系统。后端采用 Spring Boot、MyBatis-Plus 和 MySQL,前端采用 Vue 2 与 Element UI,实现普通用户门户与后台运营管理两类使用端。
系统覆盖待领养宠物展示、领养申请、宠物救助与走失信息、捐赠、宠物科普、社区互动和后台业务维护等场景,使宠物信息发布、领养处理与日常运营形成闭环。
二、系统功能
登录与注册
系统提供普通用户注册、登录及身份校验入口。用户登录成功后,前端会携带 JWT 令牌访问需要授权的业务接口;后台可根据角色和菜单权限控制可访问的功能范围,为前台使用和后台运营提供基础保障。

用户端首页
首页集中展示公告、活动、推荐内容和待领养宠物等信息。用户可通过导航快速进入领养、救助、科普、社区互动等模块,及时了解平台动态并定位所需服务。

宠物领养与申请记录
用户可浏览待领养宠物列表,查看宠物的基础信息、健康及领养相关说明后提交申请;在"我的领养"中可查看个人申请记录和处理状态,便于持续跟进领养进度。管理员可在后台统一查询、审核和处理领养申请。


宠物救助与走失信息
系统支持发布和浏览宠物救助、走失寻回等公益信息,帮助用户及时获取求助线索和相关动态。后台可对信息进行新增、编辑、查询和维护,使救助与寻宠内容能够集中管理、持续更新。

后台运营数据面板
后台首页通过 ECharts 展示平台运营统计数据,直观呈现宠物、用户、领养申请等业务的数量与变化情况。管理员可借助数据面板快速了解系统运行状态,为日常运营和内容维护提供参考。

后台业务管理
管理员可在后台统一维护用户、角色、菜单权限、宠物档案和领养申请,并对公告、活动、社区文章、科普文章、评论、救助、走失、绝育、捐赠和文件素材等内容进行管理。通过分类清晰的业务模块,满足平台日常运营、内容发布和资料维护需求。

三、技术栈
| 层级 | 技术 | 说明 |
|---|---|---|
| 后端 | Spring Boot 2.5.9 | Web 服务与业务接口 |
| 数据访问 | MyBatis、MyBatis-Plus 3.5.1 | ORM 与分页查询 |
| 数据库 | MySQL 8.x | 业务数据持久化 |
| 身份认证 | JWT(java-jwt) | 登录令牌鉴权 |
| 接口文档 | Springfox Swagger 3.0 | 在线接口文档 |
| 前端 | Vue 2.6、Vue Router、Vuex | 单页应用、路由和状态管理 |
| UI 组件 | Element UI 2.15 | 页面与表单组件 |
| 数据可视化 | ECharts 5 | 运营数据图表展示 |
四、项目结构
bash
c37-pets-system/
├── PetManagerApi - idea/ # Spring Boot 后端
│ ├── files/ # 本地上传文件存储目录
│ ├── src/main/java/com/cow/horse/
│ │ ├── config/ # 跨域、JWT、Swagger、MyBatis-Plus 配置
│ │ ├── controller/ # 用户、宠物、领养、救助、内容等接口
│ │ ├── entity/ # 实体类
│ │ ├── mapper/ # 数据访问接口
│ │ └── service/ # 业务服务
│ ├── src/main/resources/
│ │ ├── application.yml # 服务端口与数据库配置
│ │ └── mapper/ # MyBatis XML 映射文件
│ └── pom.xml # Maven 依赖与构建配置
├── PetManagerVue/ # Vue 2 前端
│ ├── src/
│ │ ├── components/ # 前台、后台公共组件
│ │ ├── router/index.js # 静态路由与动态后台菜单路由
│ │ ├── utils/request.js # Axios 请求封装与 Token 注入
│ │ └── views/ # 前台门户与后台业务页面
│ ├── package.json # Node.js 依赖与启动脚本
│ └── vue.config.js # 前端开发服务器配置
└── pet_manager.sql # MySQL 建表及初始化数据脚本
五、环境要求
- JDK 8
- Maven 3.6+
- MySQL 8.x
- Node.js 12+、npm 6+
六、数据库初始化
项目数据库名称为 pet_manager。根目录的 pet_manager.sql 包含建表及初始数据,并使用 utf8mb4 编码。
bash
CREATE DATABASE pet_manager CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
bash
mysql -u root -p --default-character-set=utf8mb4 pet_manager < pet_manager.sql
导入后,按实际 MySQL 账号修改 PetManagerApi - idea/src/main/resources/application.yml 中的数据源用户名和密码。
七、后端启动
bash
cd "PetManagerApi - idea"
mvn spring-boot:run
后端默认运行在 http://localhost:9311。
八、前端启动
bash
cd PetManagerVue
npm install
npm run dev
前端开发服务器默认地址为 http://localhost:9312。前端接口地址配置在 src/utils/request.js,默认指向 http://localhost:9311。
九、默认账号
| 角色 | 用户名 | 密码 | 说明 |
|---|---|---|---|
| 管理员 | admin | 123456 | 后台运营管理账号 |
| 普通用户 | user | 123456 | 前台功能体验账号 |
十、功能模块说明
| 模块 | 功能 |
|---|---|
| 用户与权限 | 用户维护、角色管理、菜单授权、动态路由、用户信息导入导出 |
| 宠物与领养 | 宠物维护、领养申请查询与申请状态处理 |
| 公益业务 | 救助、走失、绝育、捐赠及饲养信息维护 |
| 内容运营 | 公告、活动、社区文章、科普文章和评论管理 |
| 文件管理 | 文件上传、访问、更新、删除与素材分页管理 |
| 数据统计 | 基于 ECharts 的后台统计展示 |