设计目的
本设计旨在通过构建一个基于Spring Boot和Vue3的图书管理系统,学习和掌握前后端分离开发模式,提升对Spring Boot和Vue3框架的实际应用能力,学习握Vue3中的组件化开发方式,提高前端开发的模块化和复用性,学习Vue3与后端API的交互方式,如使用Axios进行数据请求。学习Spring Boot的核心概念,如自动配置、依赖注入、启动类等。掌握Spring Boot中的数据访问技术,如MyBatis、MyBatis-plus等。同时,通过本次项目的实践,进一步理解和运用软件工程中的需求分析、概要设计、详细设计、编码实现及测试等环节,提升综合设计和开发能力。
使用的软件工具和环境
开发语言:Java、JavaScript
开发框架:Spring Boot、Vue3
数据库:MySQL
开发工具:IntelliJ IDEA、WEB STROM
构建工具:Maven
版本控制:Git
系统采用前后端分离的架构,前端使用Vue3框架开发,后端使用Spring Boot框架开发,数据库采用MySQL存储数据。
前端结构
前端主要模块:
用户模块:包括用户注册、登录、信息维护等功能页面。
图书模块:包括图书的添加、修改、删除、查询等功能页面。
分类模块:包括分类的添加、修改、删除、查询等功能页面。
借阅模块:包括图书借阅、归还、查询等功能页面。
后端结构
后端主要模块:
用户管理模块:处理用户注册、登录、信息维护等请求。
图书管理模块:处理图书的添加、修改、删除、查询等请求。
分类管理模块:处理分类的添加、修改、删除、查询等请求。
借阅管理模块:处理图书借阅、归还、查询等请求。
操作日志管理模块:记录并查询用户操作日志。
图书管理系统数据库表
表1 用户表结构
字段名 | 数据类型 | 宽度 | 是否可空 | 说 明 |
id | Int | 自增 | not null | 用户id |
username | varchar | 20 | not null | 用户名 |
password | varchar | 32 | yes | 密码 |
nickname | varchar | 10 | yes | 昵称 |
| varchar | 128 | yes | 邮箱 |
user_pic | varchar | 128 | yes | 用户头像 |
create_time | datetime | not null | 创建时间 | |
update_time | datetime | not null | 修改时间 |
表2 图书信息表结构
字段名 | 数据类型 | 宽度 | 是否可空 | 说 明 |
id | Int | 自增 | not null | 图书id |
category_name | varchar | 20 | not null | 用户名 |
content | varchar | 32 | yes | 图书简介 |
cover_img | varchar | 10 | yes | 图书封面 |
state | varchar | 3 | yes | 图书状态: 只能是[未借阅] 或者 [已借阅] |
category_id | int | yes | 图书分类ID | |
create_user | int |
| not null | 创建人ID |
create_time | datetime | not null | 创建时间 | |
update_time | datetime | not null | 修改时间 |
表3 图书分类表结构
字段名 | 数据类型 | 宽度 | 是否可空 | 说 明 |
Id | Int | 自增 | not null | 分类id |
category_name | varchar | 20 | not null | 分类名称 |
category_alias | varchar | 32 | yes | 分类别名 |
book_number | varchar | 10 | yes | 分类数量 |
create_user | int |
| not null | 创建人ID |
create_time | datetime | not null | 创建时间 | |
update_time | datetime | not null | 修改时间 |
表4 操作日志表结构
字段名 | 数据类型 | 宽度 | 是否可空 | 说 明 |
Id | Int | 自增 | not null | 用户id |
operate_time | varchar | 20 | not null | 用户名 |
operate_time | varchar | 32 | yes | 密码 |
class_name | varchar | 10 | yes | 昵称 |
method_name | varchar | 128 | yes | 邮箱 |
method_params | varchar | 128 | yes | 用户头像 |
create_time | datetime | not null | 创建时间 | |
update_time | datetime | not null | 修改时间 |
- 实现效果
- 注册
用户可以通过注册页面,如图4.1所示,输入用户名、密码和邮箱等信息进行注册。注册信息将被系统验证,确保输入的信息符合规范。成功注册后,用户可以登录并使用系统提供的所有功能。
图4.1图书管理系统注册页面
- 登录
已有用户可以通过登录页面,如图4.2所示,输入用户名和密码进行登录。系统将验证用户的身份,并在成功登录后生成JWT令牌用于后续的身份验证。登录后,用户可以访问和操作系统的各种功能。
图4.2图书登录页面
- 图书推荐
系统通过调用大模型API,实现智能图书推荐功能。如图4.3所示,用户可以与系统进行对话,系统根据用户的需求和偏好,推荐相关的图书。这个功能提升了用户体验,使得用户可以更方便地找到感兴趣的图书。
图4.3图书推荐页面
- 数据分析
系统提供数据分析功能,通过图表展示图书分类、借阅情况等信息。管理员可以查看这些数据分析结果,以便了解图书管理系统的使用情况和用户需求,做出相应的管理和决策。如图4.4所示。
图4.4图书数据分析页面
- 图书分类增删查改
管理员可以通过系统界面,对图书分类进行添加、修改、删除和查询操作。这个功能确保了系统中的图书分类信息始终准确和最新,便于用户进行图书查询和管理。如图4.5所示。
图4.5图书分类页面
- 图书借阅及其增删查改
用户可以通过系统界面,进行图书的借阅操作,并查看自己的借阅记录。管理员可以管理所有用户的借阅记录,包括添加、修改、删除和查询借阅信息。这个功能确保了图书借阅过程的顺利进行,并记录了详细的借阅信息。如图4.6所示。
图4.6图书借阅管理页面
- 用户编辑和重置密码
用户可以查看和编辑个人信息,如昵称、头像和邮箱等。此外,用户还可以重置密码,以确保账户安全。管理员可以协助用户重置密码,确保用户能够正常使用系统功能。如图4.7所示。
图4.7个人信息编辑页面