# library_back **Repository Path**: wwl-buildfun/library_back ## Basic Information - **Project Name**: library_back - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-17 - **Last Updated**: 2025-04-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 图书馆管理系统 (Library Management System) 这是一个基于Spring Boot和MyBatis-Plus的图书馆管理系统后端API,提供图书借阅、用户管理和系统配置等功能。 ## 项目架构 本项目采用Spring Boot + MyBatis-Plus + JWT的架构,使用MySQL数据库存储数据。 ### 系统环境要求 - JDK 1.8或以上 - MySQL 8.0或以上 - Maven 3.6或以上 ## 技术栈 - Spring Boot 2.4.4:应用框架 - MyBatis-Plus 3.4.2:ORM框架 - MySQL:数据库 - Druid:数据库连接池 - JWT:用户认证 - Swagger:API文档 ## 模块详细说明 ### 核心模块 #### 1. 用户认证与权限管理模块 - **登录认证**:实现用户和读者登录,基于JWT令牌验证 - **权限控制**:基于RBAC(基于角色的访问控制)模型 - **菜单管理**:动态配置系统菜单和权限 主要相关文件: - `com.rabbiter.library.controller.LoginController`:提供登录相关的API - `com.rabbiter.library.service.SysUserService`、`SysReaderService`:用户和读者服务 - `com.rabbiter.library.jwt`:JWT相关配置和工具类 #### 2. 图书管理模块 - **图书分类管理**:管理图书的分类信息 - **图书信息管理**:添加、修改、删除和查询图书信息 主要相关文件: - `com.rabbiter.library.controller.SysBooksController`:提供图书相关API - `com.rabbiter.library.controller.SysCategoryController`:提供图书分类相关API - `com.rabbiter.library.service.SysBooksService`:图书业务逻辑 - `com.rabbiter.library.entity.SysBooks`:图书实体类 #### 3. 借阅管理模块 - **借书管理**:读者借书流程和审核 - **还书管理**:处理图书归还 - **借阅查询**:查看借阅历史和当前状态 主要相关文件: - `com.rabbiter.library.controller.BorrowBookController`:提供借阅相关API - `com.rabbiter.library.service.BorrowBookService`:借阅业务逻辑 - `com.rabbiter.library.entity.BorrowBook`:借阅实体类 #### 4. 读者管理模块 - **读者信息管理**:添加、修改和删除读者信息 - **读者认证**:读者登录认证 - **读者权限**:读者角色和权限管理 主要相关文件: - `com.rabbiter.library.controller.SysReaderController`:提供读者相关API - `com.rabbiter.library.service.SysReaderService`:读者业务逻辑 - `com.rabbiter.library.entity.SysReader`:读者实体类 #### 5. 系统管理模块 - **用户管理**:管理系统用户 - **角色管理**:配置系统角色及其权限 - **菜单管理**:管理系统菜单结构 - **公告管理**:发布和管理系统公告 主要相关文件: - `com.rabbiter.library.controller.SysUserController`:用户管理API - `com.rabbiter.library.controller.SysRoleController`:角色管理API - `com.rabbiter.library.controller.SysMenuController`:菜单管理API - `com.rabbiter.library.controller.SysNoticeController`:公告管理API ### 数据库表结构 系统包含以下主要数据表: - `sys_user`:系统用户表 - `sys_role`:角色表 - `sys_menu`:菜单表 - `sys_user_role`:用户角色关联表 - `sys_role_menu`:角色菜单关联表 - `sys_reader`:读者信息表 - `sys_reader_role`:读者角色关联表 - `sys_books`:图书信息表 - `sys_category`:图书分类表 - `borrow_book`:借阅记录表 - `sys_notice`:系统公告表 ## 接口文档 系统集成了Swagger,启动应用后可通过以下地址访问API文档: - `http://localhost:9361/swagger-ui/index.html` ## 启动配置 1. 创建数据库,并导入`library_manager.sql`文件 2. 修改`application.yml`中的数据库连接配置 3. 运行`LibraryManagerApplication.java`启动应用 ### 配置文件说明 `application.yml`包含以下主要配置: - 服务器端口:9361 - 数据库连接信息 - MyBatis-Plus配置 - JWT配置(密钥和过期时间) - 日志配置 ## 系统功能概述 ### 管理员功能 1. 图书管理(增删改查) 2. 读者管理(增删改查) 3. 借阅审核 4. 系统设置 5. 权限管理 6. 公告发布 ### 读者功能 1. 图书查询 2. 借书申请 3. 查看借阅历史 4. 个人信息管理 ## 安全与授权 系统使用JWT(JSON Web Token)实现用户认证和授权: - 用户登录后获取令牌 - 后续请求需在请求头中携带令牌 - 令牌默认有效期为30分钟 初始化账号密码 超级管理员: 账号:superadmin 密码:123456 管理员: 账号:admin 密码:123456 读者: 账号:2024012 密码:123456