SpringBoot3+Vue3开发图书馆管理系统

1 项目介绍

图书馆管理系统,管理图书、用户、借书、还书、实时监测归还是否逾期,逾期未归还会生成违规记录。违规状态不可借阅图书。需缴纳罚金,消除违规记录。可动态设置图书最多累计借阅数量上限和最长借阅天数上限,当用户满足条件限制时将无法借阅图书。

系统分为3种角色,用户、管理员、超级管理员。

用户角色功能包含:注册账号、借阅图书、归还图书、查看借阅历史、查看处罚记录、查看通知公告。

管理员角色功能包含:权限管理、违规管理、用户管理、图书管理、查看通知公告。

超级管理员劫色功能包含:用户列表、角色列表、菜单列表、公告列表、登录日志、操作日志、系统设置、查看通知公告,同时包含用户、管理员角色所有功能。

基础功能包含:登录、退出、修改个人信息、修改密码、修改头像。

2 项目技术

采用前后端分离模式进行开发。

后端:SpringBoot+MyBatisPlus+Reids+MySQL,文件上传采用MinIO技术。

前端:Vue3+TypeScript+ElementPlus

开发环境:Java17、MySQL8

3 核心业务关系图

在这里插入图片描述

说明:

(1)准备图书和用户数据。

(2)用户借阅图书。

(3)借阅后两种情况归还图书。

        第一种:未逾期正常归还

        第二种:逾期后生成处罚记录。

4 功能介绍

4.1 用户模块

4.1.1 登录

用户角色登录页面,拥有注册跳转链接。如果没有账号,可以点击底部前往注册链接,进行账号注册。

在这里插入图片描述

4.1.2 注册

填写注册信息,进行账号注册。注册成功后点击底部返回登录链接,跳转登录页面进行登录。

在这里插入图片描述

4.1.3 借阅图书

借阅图书列表,根据图书状态,展示是否可借阅。在库状态图书可进行借阅。点击借阅时会根据系统权限管理设置进行验证是否满足借阅条件。有违规记录不满足,到达最多借阅数不满足,超过最长借阅天数不满足。

在这里插入图片描述

4.1.4 归还图书

归还图书列表,展示当前借阅中的图书。截止时间内可正常归还,超过截止时间,会创建处罚记录,归还按钮将不显示。

在这里插入图片描述

4.1.5 借阅历史

借阅历史列表,展示用户的所有借阅记录,包括正常归还、异常归还、借阅中。

在这里插入图片描述

4.1.6 处罚记录

处罚记录列表,展示用户借阅过程中,所有的违规记录,及处理状态。违规处理需要缴纳罚款进行消除。

在这里插入图片描述

4.2 管理员模块

管理员,主要职责是运营的管理。包括图书管理、用户管理、违规处理、权限管理功能。

4.2.1 登录

在这里插入图片描述

4.2.2 图书管理

图书列表,对图书的信息进行维护。包含创建、修改、删除、查询、发布功能。

在这里插入图片描述

4.2.3 用户管理

用户列表,用户注册的账号会在这里显示进行管理,对用户信息进行维护。包含创建、修改、删除、查询、修改密码功能。

在这里插入图片描述

4.2.4 违规处理

对用户的违规记录进行处理,当用户缴纳罚金后,可点击确认缴款,消除违规记录。违规记录消除后,可解除禁止借阅图书限制。

在这里插入图片描述

4.2.5 权限管理

对借阅图书的条件设置。包括最长借阅不能超过多少天,累计借阅图书数量不能超过多少本。

在这里插入图片描述

4.3 超级管理员模块

超级管理员,主要职责是负责对系统的管理,拥有系统全部菜单权限。包括角色管理、菜单管理、登录日志管理、操作日志管理、系统设置。

4.3.1 登录

和管理员登录页面一致。

4.3.2 用户列表

可查看系统全部用户,包括用户、管理员,对用户信息进行维护。包含创建、修改、删除、查询、修改密码功能。

在这里插入图片描述

4.3.3 角色管理

对系统角色进行管理,可以创建、删除、修改、查询角色。为角色分配权限和设置角色用户。

在这里插入图片描述

4.3.4 菜单管理

对系统的左侧菜单和页面功能按钮进行动态管理。菜单分为目录、菜单、功能3种类型,功能类型可控制页面按钮的权限,比如:添加、修改、删除按钮等。

在这里插入图片描述

4.3.5 通知公告

向所有用户发送公告通知,包括发布、添加、修改、删除、查询功能。

在这里插入图片描述

4.3.5 登录日志管理

可查看用户登录系统的记录,包括登录时间、登录ip地址、登录耗时、登录状态、状态提示等。

在这里插入图片描述

4.3.6 操作日志管理

可查看用户登录系统后执行执行的全部操作。包括添加、修改、删除的操作记录,包括操作时间、操作耗时、操作状态、状态对应提示等。

在这里插入图片描述

4.3.7 系统设置

对系统的基础设置,包括设置系统的名称,设置系统的用户默认头像。

在这里插入图片描述

在这里插入图片描述

5 源码下载

链接: https://pan.baidu.com/s/1LArsFQ22ZfeI6P1ygI2mUw?pwd=pe63 提取码: pe63

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/920881.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Figure 02迎重大升级!!人形机器人独角兽[Figure AI]商业化加速

11月19日知名人形机器人独角兽公司【Figure AI】发布公司汽车巨头【宝马】最新合作进展,旗下人形机器人Figure 02在生产线上的性能得到了显著提升,机器人组成自主舰队,依托端到端技术,速度提高了400%,执行任务成功率提…

Oracle之Rman非归档模式下的完全恢复

引言 首先Oracle必须处在非归档模式下才能模拟各种情况,Oracle处在非归档模式,做数据库脱机备份,并且rman的参数使用快闪恢复区作为备份文件的存储目录,配置了控制文件的自动备份。 联机全备 示例1:控制文件、数据文件以及重做日志文件丢失的恢复 数据文件以及重做日志…

Android Google登录接入

官方文献: 1、前期准备: https://developers.google.cn/identity/sign-in/android/legacy-start-integrating?hlzh-cnhttps://developers.google.cn/identity/sign-in/android/legacy-start-integrating?hlzh-cn 2、具体开发: 新版 Googl…

Java 同步锁性能的最佳实践:从理论到实践的完整指南

目录 一、同步锁性能分析 (一)性能验证说明 1. 使用同步锁的代码示例 2. 不使用同步锁的代码示例 3. 结果与讨论 (二)案例初步优化分析说明 1. 使用AtomicInteger原子类尝试优化分析 2. 对AtomicInteger原子类进一步优化 …

Docker+Nginx | Docker(Nginx) + Docker(fastapi)反向代理

在DockerHub搜 nginx,第一个就是官方镜像库,这里使用1.27.2版本演示 1.下载镜像 docker pull nginx:1.27.2 2.测试运行 docker run --name nginx -p 9090:80 -d nginx:1.27.2 这里绑定了宿主机的9090端口,只要访问宿主机的9090端口&#…

C#编写的日志记录组件 - 开源研究系列文章

以前编写过一个日志记录组件的博文,这次发布一个修改过的完善版本。 1、 项目目录; 2、 源码介绍; 1) 实现; 2) 使用; 后面的参数为级别设置,只有大于这个级别的才进行日志记录,限制了日志记录的…

win10+vs2019+cmake+opencv4.10+opencv_contrib编译记录

win10vs2019cmakeopencv4.10opencv_contrib编译记录 第一章 环境配置 本机环境已经安装好vs2019和cmake。 第二章 下载opencv相关 1.Opencv4.10下载 下载链接:opencv 下载时选择"Sources" 2.opencv_contrib 下载链接:opencv_contrib 第三…

前端:HTML (学习笔记)【1】

一,网络编程的三大基石 1,URL (1)url —— 统一资源定位符: 网址——整个互联网中可以唯一且准确的确定一个资源的位置。 【项目外】 网址——https://www.baidu.com/ …

2024年亚太地区数学建模大赛A题-复杂场景下水下图像增强技术的研究

复杂场景下水下图像增强技术的研究 对于海洋勘探来说,清晰、高质量的水下图像是深海地形测量和海底资源调查的关键。然而,在复杂的水下环境中,由于光在水中传播过程中的吸收、散射等现象,导致图像质量下降,导致模糊、…

基于SpringBoot的“广场舞团系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“广场舞团系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 系统首页界面图 社团界面图 社团活…

视频流媒体播放器EasyPlayer.js无插件直播流媒体音视频播放器Android端webview全屏调用无效问题

流媒体播放器的核心技术与发展趋势正在不断推动着行业的变革。未来,随着技术的不断进步和应用场景的不断拓展,流媒体播放器将为用户带来更加便捷、高效、个性化的观看体验。同时,流媒体播放器也会成为数字娱乐产业的重要组成部分,…

【Python · PyTorch】卷积神经网络 CNN(LeNet-5网络)

【Python PyTorch】卷积神经网络 CNN(LeNet-5网络) 1. LeNet-5网络※ LeNet-5网络结构 2. 读取数据2.1 Torchvision读取数据2.2 MNIST & FashionMNIST 下载解包读取数据 2. Mnist※ 训练 LeNet5 预测分类 3. EMnist※ 训练 LeNet5 预测分类 4. Fash…

Live2D嵌入前端页面

废话不多说,直接看效果,给页面中嵌入的一个动态的二次元人物,美化页面,实际效果自行查看。 教程开始 一. 把项目拉取到本地 项目地址 自行下载到本地,下载方式自行选择。 二.把项目文件夹放到前端页面目录内 三.把下…

openlayer 将 GeoJSON 格式的 geometry 转换为 feature

openlayer 将 GeoJSON 格式的 geometry 转换为 feature geometry格式如图: 代码: /*** 将 GeoJSON 格式的 geometry 转换为 feature* param geometry* returns*/geoJsonToWkt(geometry) {const { coordinates, type } geometry;let olGeometry;swit…

web应用安全和信息泄露预防

文章目录 1:spring actuator导致的信息泄露1.1、Endpoint配置启用检测1.2、信息泄露复现1.3、防御 2:服务端口的合理使用3:弱口令(密码)管理4:服务端攻击4.1、短信业务,文件上传等资源型接口1、…

基于LSTM的新闻中文文本分类——基于textCNN与textRNN

构建词语字典 def build_vocab(file_path, tokenizer, max_size, min_freq):# 定义词汇表字典:使用 vocab_dic {} 初始化一个空字典,用于存储每个词及其出现频率vocab_dic {}with open(file_path, r, encodingUTF-8) as f:for line in tqdm(f):lin l…

MySQL 的 Change Buffer 是什么?它有什么作用?

MySQL 的 Change Buffer 是什么?它有什么作用? MySQL 是目前广泛使用的开源数据库管理系统,其中的 InnoDB 存储引擎凭借其高性能、高可靠性以及强大的事务支持,成为了默认的存储引擎。在 InnoDB 的众多优化机制中,Cha…

Spark 之 Aggregate

Aggregate 参考链接: https://github.com/PZXWHU/SparkSQL-Kernel-Profiling 完整的聚合查询的关键字包括 group by、 cube、 grouping sets 和 rollup 4 种 。 分组语句 group by 后面可以是一个或多个分组表达式( groupingExpressions )…

C#高级:Winform中的自定义窗体输入

目录 一、多样式输入(无封装) 1.代码 2.效果 二、单输入框封装 1.使用 2.封装 3.效果 三、组合框批量输入封装 1.使用 2.封装 3.效果 一、多样式输入(无封装) 1.代码 private async void button1_Click(object send…

使用GDB或Delve对已经运行起来的Go程序进行远程调试

同步发布在我的博客,欢迎来点赞。 使用 GDB 或 Delve 对已经运行起来的 Go 程序进行远程调试 使用 GDB 或 Delve 对已经运行起来的 Go 程序进行远程调试 背景 Java 程序可以很方便地通过 jdwp 参数指定一个对外端口进行远程调试,如 java \ -agentlib…