一飞开源
阅读1579

[开源]一款智能GPT图书管理系统,接入GPT接口,支持AI智能图书馆

一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

智能GPT图书管理系统(SpringBoot2+Vue2),全局异常拦截器,登录校验拦截器,Echarts展示借阅量,可添加爬虫功能获取图书数据。API认证采用JWT。后端CORS跨域支持。HTTP Status Code表示状态。数据返回格式JSON。接入GPT接口,支持AI智能图书馆。

二、开源协议

使用Apache-2.0开源协议

三、界面展示

功能演示图

用户模块功能图

登录

图片

首页轮播图演示

图片

图书查询演示

图片

读者规则演示

图片

查看公告演示

图片

个人信息演示

图片

借阅信息演示

图片

违章信息演示

图片

读者留言演示

图片

智能推荐演示

图片

图书管理员功能图

借阅图书演示

图片

归还图书演示

图片

借书报表演示

图片

还书报表演示

图片

发布公告演示

图片

系统管理员功能图

  • 由于篇幅受限,系统功能展示主要功能。

系统管理演示

图片

图片

智能分析演示

图片

四、功能概述

项目详细介绍(亮点)

  • 本项目采用前后端分离的模式,前端构建页面,后端作数据接口,前端调用后端数据接口得到数据,重新渲染页面。

  • 后端已开启CORS跨域支持

  • API认证使用Token认证

  • 前端在Authorization字段提供token令牌

  • 使用HTTP Status Code表示状态

  • 数据返回格式使用JSON

  • 后端采用权限拦截器进行权限校验,并检查登录情况

  • 添加全局异常处理机制,捕获异常,增强系统健壮性

  • 前端用Echarts可视化库实现了图书借阅的分析图标(折线图、饼图),并通过loading配置提高加载体验。

  • 留言组件采用弹幕形式,贴合用户的喜好。

  • 引入knife4j依赖,使用 Swagger + Knife4j 自动生成 OpenAPI 规范的接口文档,前端可以在此基础上使用插件自动生成接口请求代码,降低前后端协作成本

  • 使用ElementUI组件库进行前端界面搭建,快速实现页面生成,并实现了前后端统一权限管理,多环境切换等能力。

  • 基于MyBatis Plus框架的QueryWrapper实现对MySQL数据库的灵活查询,并配合MyBatisX插件自动生成后端CRUD基础代码,减少重复工作。

⭐用户模块功能介绍

图片

  • 图书查询功能:分页构造器缓解数据过大压力,后端可设置请求数防止爬虫请求数过大,服务器负载过大。模糊查询进行字段搜索。表格均可导出PDF和EXCEL。

  • 读者规则功能:查询现有的借阅规则,借阅规则包括:借阅编号,可借阅图书数量,可借阅天数,可借阅图书馆,过期扣费/天。

  • 查看公告: 可以查询图书管理员发布的公告列表,文字滑动⭐

  • 个人信息: 可以查看个人的借阅证编号,借阅证姓名,规则编号,状态,可以修改个人账户的密码。

  • 借阅信息: 可以查看自身借阅过的图书记录和归还情况

  • 违章信息: 可以查询自身归还的图书是否有违章信息

  • 读者留言: 实现留言功能并以弹幕形式显示

⭐图书管理员模块功能介绍

图片

  • 借阅图书: 图书管理员输入借阅证号(用户)和要借的图书编号和当前的时间,点击借阅。

  • 归还图书: 输入图书编号查看图书是否逾期,并且可以设置违规信息,然后选择是否归还图书

  • 借书报表: 用于查询已经借阅并归还的书籍列表,同样使用分页构造器和模糊查询字段,显示借阅证编号,图书编号,借阅日期,截止日期,归还日期,违章信息,处理人。

  • 还书报表: 用于查询已经借阅但是还未归还的书籍列表,显示借阅证编号,图书编号,借阅日期,截止日期。

  • 发布公告: 可以查询当前发布的公告列表,并进行删除,修改,增加功能,分页构造器用于缓解数据量大的情况。

⭐系统管理员模块功能介绍

图片

  • 书籍管理: 可以查询当前的所有图书,显示图书编号,图书昵称,作者,图书馆,分类,位置,状态,描述。可以进行添加,修改,删除图书。利用分页构造器实现批量查询。利用模糊查询实现图书搜索功能。利用插件实现PDF和EXCEL导出。

  • 书籍类型: 显示查询当前的所有图书类型,可以进行添加,修改,删除图书类型,利用分页构造器实现批量查询,缓解数据压力。

  • 借阅证管理: 可以查询当前的所有借阅证列表,也就是用户数量,可以进行添加,修改,删除操作。同样实现分页。

  • 借阅信息查询: 可以查询当前已经完成借阅和归还的记录,显示借阅证号,书籍编号,借阅日期,截止日期,归还日期,违章信息,处理人。分页功能,PDF和EXCEL导出。

  • 借阅规则管理: 可以查询当前所有的借阅规则,显示限制借阅天数,限制本数,限制图书馆,逾期费用,可以进行添加、删除、修改操作。

  • 图书管理员管理: 显示当前的图书管理员列表,显示账号,姓名,邮箱,可以进行添加、删除、修改操作。

  • 系统管理: 可以查询一个月内的借阅量,以一周为时间间隔,计算借阅量,用Echarts实现折线图的展示。

最近更新:

  • 增加智能推荐页面,能够与AI进行交流,用户输入自己喜欢xxx类的书籍,AI能够在现有数据库中进行分析,然后给用户作出推荐,调用的是国内AI模型,底层是OpenAI。

  • 增加智能分析页面,输入分析目标和图标类型和Excel文件,AI生成分析结论和可视化图标,大大提高效率,减少人力分析成本。

  • 将用户聊天的AI模型切换为阿里的通义千问Plus模型,并且支持多轮会话的历史记录,不再使用讯飞星火的AI模型,但仍保留工具类。主要是为了可以更快的得到响应,而且阿里的文档更加详细,可以定制话术,在用户输入无关图书推荐的内容时候,直接拒绝回答。

五、技术选型

架构

图片

技术栈介绍

前端主要技术栈

技术

作用

版本

Vue

提供前端交互

2.6.14

Vue-Router

路由式编程导航

3.5.1

Element-UI

模块组件库,绘制界面

2.4.5

Axios

发送ajax请求给后端请求数据

1.2.1

core-js

兼容性更强,浏览器适配

3.8.3

swiper

轮播图插件(快速实现)

3.4.2

vue-baberrage

vue弹幕插件(实现留言功能)

3.2.4

vue-json-excel

表格导出Excel

0.3.0

html2canvas+jspdf

表格导出PDF

1.4.1 2.5.1

node-polyfill-webpack-plugin

webpack5中移除了nodejs核心模块的polyfill自动引入

2.0.1

default-passive-events

Chrome 增加了新的事件捕获机制 Passive Event Listeners(被动事件侦听器)

让页面滑动更加流畅,主要用于提升移动端滑动行为的性能

nprogress

发送请求显示进度条(人机交互友好)

0.2.0

echarts

数据转图标的好工具(功能强大)

5.4.1

less lessloader

方便样式开发

4.1.3 11.1.0

后端主要技术栈

技术及版本

作用

版本

SpringBoot

应用开发框架

2.7.8

JDK

Java 开发包

1.8

MySQL

提供后端数据库

8.0.23

MyBatisPlus

提供连接数据库和快捷的增删改查

3.5.1

SpringBoot-Configuration-processor

配置处理器 定义的类和配置文件绑定一般没有提示,因此可以添加配置处理器,产生相对应的提示.

 

SpringBoot-Starter-Web

后端集成Tomcat MVC

用于和前端连接

SpringBoot-starter-test

Junit4单元测试前端在调用接口前,后端先调用单元测试进行增删改查,注意Junit4和5的问题,注解@RunWith是否添加

 

Lombok

实体类方法的快速生成 简化代码

 

mybatis-plus-generator

代码生成器

3.5.1

MyBatisX

MyBatisPlus插件直接生成mapper,实体类,service

 

jjwt

token工具包

0.9.0

fastjson

阿里巴巴的json对象转化工具

1.2.83

hutool

hutool工具包(简化开发工具类)

文档

六、源码地址

前端源码下载
后端源码下载

关注下面的标签,发现更多相似文章

一飞开源
发布了 篇专栏 · 获取点赞 · 获取阅读

评论

查看更多
相关推荐
关于作者
一飞开源
获得点赞 100
文章被阅读 1000
相关文章