一、项目简介
本系统是一套基于 Spring Boot 3 + Vue 3 前后端分离架构的图书馆管理平台,支持多角色协同操作。系统涵盖图书编目、借书证管理、借还书流通、罚款缴纳、读者管理、操作日志与数据看板等核心业务,适用于中小型图书馆的日常运营管理。系统包含三种角色:管理员(可细分为编目员、流通员、办公员)、普通用户(读者)以及流通员(通常由管理员兼任,但独立为一套操作视图)。
二、技术栈
| 技术 | 说明 |
|---|---|
| 后端框架 | Spring Boot 3 |
| ORM | MyBatis-Plus |
| 权限认证 | JWT Token + 自定义 @AuthSupport 注解 |
| 前端框架 | Vue 3 |
| 状态管理 | Pinia |
| 构建工具 | Vite |
| 数据库 | MySQL |
| 文件上传 | 本地文件存储(按日期分目录) |
| 参数校验 | Jakarta Validation |
| 密码加密 | SHA-256 |
三、功能模块
管理员端
- 用户管理:查看用户列表,支持按关键词、角色、状态筛选;新增或编辑用户(字段包括用户名、姓名、角色、电话、头像、状态、学号、学生类型);重置用户密码(默认 123456)。
- 读者管理:查看所有读者列表,支持关键词搜索;新增读者账号并自动关联借书证。
- 借书证管理:查看借书证列表,支持按关键词、状态筛选;新办借书证(自动生成证号与条码);挂失、补办、注销借书证操作。
- 图书编目:查看图书列表,支持按书名、ISBN、作者、出版社分页搜索;新增或编辑图书(填写 ISBN、书名、作者、出版社、分类、封面、摘要、出版日期、定价);ISBN 唯一性校验。
- 图书副本管理:查看某本书的所有副本(按条码排序);新增或编辑副本(设置条码、馆藏位置、状态、备注);副本条码唯一性校验。
- 副本状态操作:上架副本(仅下架状态可上架);报废副本(借出中不可报废);图书整体下架(下架所有非借出副本)。
- 基础资料维护:新增或查看作者(名称、国籍);新增或查看出版社(名称、城市);查看图书分类列表。
- 用户角色权限:支持编目员(CATALOG)、流通员(CIRCULATION)、办公员(OFFICE)等角色,通过接口级权限校验控制访问。
- 操作日志:查看所有操作日志,支持按用户名、模块、操作、详情关键词搜索;自动记录每次关键操作。
普通用户端
- 登录:使用用户名+密码登录,返回 JWT Token 与用户信息。
- 查看个人信息:获取当前登录用户的基本信息(用户名、姓名、角色、学号等)。
- 我的借阅记录:查看本人的所有借阅记录(按借书时间倒序),包含借书时间、应还时间、归还时间、状态。
- 我的罚款记录:查看本人的所有罚款记录(按创建时间倒序),包含罚款金额、原因、状态、缴纳时间。
- 我的借阅概览:在仪表盘查看当前借阅数、累计借阅数、可再借额度、未缴罚款金额、借书证状态。
- 借书证状态查看:在仪表盘直接显示关联借书证的状态(正常/挂失/补办/注销)。
- 可借额度限制:本科生最多借 5 本,研究生最多借 10 本,超限时系统阻止借书。
- 图书搜索:按书名、ISBN、作者、出版社等条件搜索图书,查看图书详情(作者、出版社、分类、封面、摘要、定价、总副本数、可借副本数)。
流通员端
- 办理借书:扫描读者借书证条码与图书副本条码(支持批量),自动校验借书证状态、读者未缴罚款限额、可借额度,成功后将副本状态改为借出。
- 办理还书:扫描图书副本条码,自动计算是否超期,超期时自动生成罚款记录(按日计算,每日 0.50 元),将副本状态改为在架可借。
- 罚款缴纳:选择读者,勾选未缴罚款记录(支持多选合并缴费),记录缴费方式(现金/其他),生成缴费记录。
- 借阅记录查询:按关键词(读者姓名/学号/用户名)或用户 ID 或状态筛选借阅记录,查看完整借还历史。
- 罚款记录查询:按关键词或用户 ID 或状态筛选罚款记录,查看未缴/已缴明细。
- 流通概览仪表盘:查看当前借出数、超期未还数、累计借阅数、待缴罚款笔数与金额。
- 读者借阅排行:按月统计借阅次数最多的读者排行(Top 8)。
- 图书借阅排行:按月统计借阅次数最多的图书排行(Top 8)。
四、项目总结
本项目采用 Spring Boot 3 + Vue 3 前后端分离架构,通过 JWT 与自定义注解实现精细化角色权限控制,覆盖图书编目、借还流通、罚款管理、读者与借书证管理等完整业务流程。技术亮点包括 MyBatis-Plus 的高效数据操作、Pinia 的状态管理、以及 Vite 的快速构建。适用于中小型图书馆的日常运营管理,也适合作为 Java 全栈开发的学习与二次开发项目。
界面展示
交付内容
本项目为完整交付,包含:
- 完整后端源码
- 完整前端源码
- 数据库初始化脚本(SQL)
- 万字项目文档(设计文档 / 论文,可作课程设计、毕业设计参考)
获取完整源码
完整前后端源码 + 数据库脚本 + 万字项目文档见 Gitee 仓库:https://gitee.com/kangxihuang/src-K062