Skip to content

Commit b6bf462

Browse files
authored
Update README.md
1 parent 62d8679 commit b6bf462

File tree

1 file changed

+144
-30
lines changed

1 file changed

+144
-30
lines changed

README.md

Lines changed: 144 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
# 智能图书馆开源文档
2+
3+
>作者:[程序员小白条](https://luoye6.github.io/)
4+
>
5+
>[Gitee 主页](https://gitee.com/falle22222n-leaves)
6+
>
7+
>[GitHub 主页](https://github.com/luoye6)
8+
19
## ☀️新手必读
210

311
+ 本项目拥有完整的API后台接口文档(文尾)(重点⭐)
@@ -8,6 +16,14 @@
816
+ [项目后端地址](https://gitee.com/falle22222n-leaves/vue_-book-manage-system_backend)
917
+ [项目部署视频](https://www.bilibili.com/video/BV1314y1Z7SS/?pop_share=1&vd_source=e40a9464b71684502f289cff3f51514f)
1018

19+
[![star](https://gitee.com/falle22222n-leaves/vue_-book-manage-system/badge/star.svg?theme=dark)](https://gitee.com/falle22222n-leaves/vue_-book-manage-system) [![gitee](https://badgen.net/badge/gitee/falle22222n-leaves/red)](https://gitee.com/falle22222n-leaves) [![fork](http://xxx.xiaobaitiao.club/project/fork.svg)](https://gitee.com/falle22222n-leaves/vue_-book-manage-system/members) [![github](https://badgen.net/badge/github/github?icon)](https://github.com/luoye6)
20+
21+
## ☀️个人介绍
22+
23+
![image-20231030110808831](https://pic.yupi.icu/5563/image-20231030110808831.png)
24+
25+
![image-20231030110232309](https://pic.yupi.icu/5563/image-20231030110232309.png)
26+
1127
## ☀️技术栈介绍
1228

1329
### ☃️前端主要技术栈
@@ -47,6 +63,10 @@
4763
| fastjson | 阿里巴巴的json对象转化工具 | 1.2.83 |
4864
| hutool | hutool工具包(简化开发工具类) | [文档](https://hutool.cn/docs/#/) |
4965

66+
## ☀️架构
67+
68+
![图书管理系统架构图](https://pic.yupi.icu/5563/202311101959386.png)
69+
5070
## ☀️项目简介
5171

5272
+ 主要使用Vue2和SpringBoot2实现
@@ -73,12 +93,15 @@
7393
+ 数据返回格式使用JSON
7494
+ 后端采用权限拦截器进行权限校验,并检查登录情况
7595
+ 添加全局异常处理机制,捕获异常,增强系统健壮性
76-
+ 前端用Echarts展示借阅量,文字和图片结合
96+
+ 前端用Echarts可视化库实现了图书借阅的分析图标(折线图、饼图),并通过loading配置提高加载体验。
7797
+ 留言组件采用弹幕形式,贴合用户的喜好。
98+
+ 引入knife4j依赖,使用 Swagger + Knife4j 自动生成 OpenAPI 规范的接口文档,前端可以在此基础上使用插件自动生成接口请求代码,降低前后端协作成本
99+
+ 使用ElementUI组件库进行前端界面搭建,快速实现页面生成,并实现了前后端统一权限管理,多环境切换等能力。
100+
+ 基于MyBatis Plus框架的QueryWrapper实现对MySQL数据库的灵活查询,并配合MyBatisX插件自动生成后端CRUD基础代码,减少重复工作。
78101

79102
### ⭐用户模块功能介绍
80103

81-
![img](http://xxx.xiaobaitiao.club/project/%E7%94%A8%E6%88%B7%E6%A8%A1%E5%9D%97%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%BB%8D.png)
104+
![image-20231030110244726](https://pic.yupi.icu/5563/image-20231030110244726.png)
82105

83106
+ 图书查询功能:分页构造器缓解数据过大压力,后端可设置请求数防止爬虫请求数过大,服务器负载过大。模糊查询进行字段搜索。表格均可导出PDF和EXCEL。
84107
+ 读者规则功能:查询现有的借阅规则,借阅规则包括:借阅编号,可借阅图书数量,可借阅天数,可借阅图书馆,过期扣费/天。
@@ -92,7 +115,7 @@
92115

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

95-
![image-20230311151434774](http://xxx.xiaobaitiao.club/project/%E5%9B%BE%E4%B9%A6%E7%AE%A1%E7%90%86%E5%91%98%E6%A8%A1%E5%9D%97%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%BB%8D%E5%9B%BE.png)
118+
![image-20231030110256051](https://pic.yupi.icu/5563/image-20231030110256051.png)
96119

97120
+ 借阅图书: 图书管理员输入借阅证号(用户)和要借的图书编号和当前的时间,点击借阅。
98121
+ 归还图书: 输入图书编号查看图书是否逾期,并且可以设置违规信息,然后选择是否归还图书
@@ -103,7 +126,7 @@
103126

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

106-
![image-20230311151453931](http://xxx.xiaobaitiao.club/project/%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86%E5%91%98%E6%A8%A1%E5%9D%97%E4%BB%8B%E7%BB%8D%E5%9B%BE.png)
129+
![image-20231030110303880](https://pic.yupi.icu/5563/image-20231030110303880.png)
107130

108131
+ 书籍管理: 可以查询当前的所有图书,显示图书编号,图书昵称,作者,图书馆,分类,位置,状态,描述。可以进行添加,修改,删除图书。利用分页构造器实现批量查询。利用模糊查询实现图书搜索功能。利用插件实现PDF和EXCEL导出。
109132
+ 书籍类型: 显示查询当前的所有图书类型,可以进行添加,修改,删除图书类型,利用分页构造器实现批量查询,缓解数据压力。
@@ -250,75 +273,85 @@
250273

251274
**首页轮播图演示**
252275

253-
![image-20230311151755217](http://xxx.xiaobaitiao.club/project/%E9%A6%96%E9%A1%B5%E8%BD%AE%E6%92%AD%E5%9B%BE%E6%BC%94%E7%A4%BA.png)
276+
![image-20231030110318881](https://pic.yupi.icu/5563/image-20231030110318881.png)
254277

255278
**图书查询演示**
256279

257-
![image-20230311151815350](http://xxx.xiaobaitiao.club/project/%E5%9B%BE%E4%B9%A6%E6%9F%A5%E8%AF%A2%E6%BC%94%E7%A4%BA.png)
280+
![image-20231030110329273](https://pic.yupi.icu/5563/image-20231030110329273.png)
258281

259282
**读者规则演示**
260283

261-
![image-20230311151837692](http://xxx.xiaobaitiao.club/project/%E8%AF%BB%E8%80%85%E8%A7%84%E5%88%99%E6%BC%94%E7%A4%BA.png)
284+
![image-20231030110333842](https://pic.yupi.icu/5563/image-20231030110333842.png)
262285

263286
**查看公告演示**
264287

265-
![image-20230311151858285](http://xxx.xiaobaitiao.club/project/%E6%9F%A5%E7%9C%8B%E5%85%AC%E5%91%8A%E6%BC%94%E7%A4%BA.png)
288+
![image-20231030110340781](https://pic.yupi.icu/5563/image-20231030110340781.png)
266289

267290
**个人信息演示**
268291

269-
![image-20230311151918353](http://xxx.xiaobaitiao.club/project/%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF%E6%BC%94%E7%A4%BA.png)
292+
![image-20231030110345751](https://pic.yupi.icu/5563/image-20231030110348229.png)
270293

271294
**借阅信息演示**
272295

273-
![image-20230311151939885](http://xxx.xiaobaitiao.club/project/%E5%80%9F%E9%98%85%E4%BF%A1%E6%81%AF%E6%BC%94%E7%A4%BA.png)
296+
![image-20231030110405947](https://pic.yupi.icu/5563/image-20231030110405947.png)
274297

275298
**违章信息演示**
276299

277-
![image-20230311151958147](http://xxx.xiaobaitiao.club/project/%E8%BF%9D%E7%AB%A0%E4%BF%A1%E6%81%AF%E6%BC%94%E7%A4%BA.png)
300+
![image-20231030110414231](https://pic.yupi.icu/5563/image-20231030110414231.png)
278301

279302
**读者留言演示**
280303

281-
![image-20230311152043122](http://xxx.xiaobaitiao.club/project/%E8%AF%BB%E8%80%85%E7%95%99%E8%A8%80%E6%BC%94%E7%A4%BA.png)
304+
![image-20231030110420564](https://pic.yupi.icu/5563/image-20231030110420564.png)
305+
306+
**智能推荐演示**
307+
308+
![image-20231030110529142](https://pic.yupi.icu/5563/image-20231030110529142.png)
282309

283310
### 图书管理员功能图
284311

285312
**借阅图书演示**
286313

287-
![image-20230311152118721](http://xxx.xiaobaitiao.club/project/%E5%80%9F%E9%98%85%E5%9B%BE%E4%B9%A6%E6%BC%94%E7%A4%BA.png)
314+
![image-20231030110551512](https://pic.yupi.icu/5563/image-20231030110551512.png)
288315

289316
**归还图书演示**
290317

291-
![image-20230311152136821](http://xxx.xiaobaitiao.club/project/%E5%BD%92%E8%BF%98%E5%9B%BE%E4%B9%A6%E6%BC%94%E7%A4%BA.png)
318+
![image-20231030110611331](https://pic.yupi.icu/5563/image-20231030110611331.png)
292319

293320
**借书报表演示**
294321

295-
![image-20230311152220983](http://xxx.xiaobaitiao.club/project/%E5%80%9F%E4%B9%A6%E6%8A%A5%E8%A1%A8.png)
322+
![image-20231030110618748](https://pic.yupi.icu/5563/image-20231030110618748.png)
296323

297324
**还书报表演示**
298325

299-
![image-20230311152251587](http://xxx.xiaobaitiao.club/project/%E8%BF%98%E4%B9%A6%E6%8A%A5%E8%A1%A8.png)
326+
![image-20231030110626015](https://pic.yupi.icu/5563/image-20231030110626015.png)
300327

301328
**发布公告演示**
302329

303-
![image-20230311152310736](http://xxx.xiaobaitiao.club/project/%E5%8F%91%E5%B8%83%E5%85%AC%E5%91%8A%E6%BC%94%E7%A4%BA.png)
330+
![image-20231030110634352](https://pic.yupi.icu/5563/image-20231030110634352.png)
304331

305332
### 系统管理员功能图
306333

307-
+ 由于篇幅受限,系统管理员功能图只展示一个图表的功能
334+
+ 由于篇幅受限,系统功能展示主要功能
308335

309336
**系统管理演示**
310337

311-
![image-20230311152338284](http://xxx.xiaobaitiao.club/project/%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86.png)
338+
![image-20231030110641741](https://pic.yupi.icu/5563/image-20231030110641741.png)
339+
340+
![image-20231030110649230](https://pic.yupi.icu/5563/image-20231030110649230.png)
341+
342+
**智能分析演示**
343+
344+
![image-20231030110656108](https://pic.yupi.icu/5563/image-20231030110656108.png)
312345

313346
## 🐼部署项目
314347

315-
![image-20230311152411864](http://xxx.xiaobaitiao.club/project/%E9%83%A8%E7%BD%B2%E9%A1%B9%E7%9B%AE%E6%BC%94%E7%A4%BA1.png)
348+
![image-20231030110703088](https://pic.yupi.icu/5563/image-20231030110703088.png)
316349

317350
+ 可以下载ZIP压缩包或者使用克隆(Git clone)
318351
+ 复制http或者ssh的链接(github建议ssh,gittee都可以)
319352
+ 在D盘新建一个文件夹,点击进入该文件夹,右键Git Bash Here
320353

321-
![image-20230311152442211](http://xxx.xiaobaitiao.club/project/%E9%83%A8%E7%BD%B2%E9%A1%B9%E7%9B%AE%E6%BC%94%E7%A4%BA2.png)
354+
![image-20231030110713924](https://pic.yupi.icu/5563/image-20231030110713924.png)
322355

323356
+ 还没有下载Git或者不会Git的建议先看基础教程(30分钟左右)
324357

@@ -353,9 +386,8 @@
353386
354387

355388
+ **QQ:909088445**
356-
357-
+ 晚上在线,建议先自己寻找问题,实在实现不了,可以滴我
358-
+ 需要定制化项目和修改项目的某些的功能也可以加我
389+
+ 一般晚上在线,建议先自己寻找问题!!!
390+
+ 开源免费, 定制化和调试项目付费。
359391

360392
## 🐼项目API接口文档
361393

@@ -395,14 +427,96 @@
395427

396428
### 2023-5-1
397429

398-
1.添加“系统管理员”权限的系统管理功能,添加借书类型分析统计图(饼图)采用Echarts。
430+
1.添加“系统管理员”权限的系统管理功能,**添加借书类型分析统计图(饼图)**采用Echarts。
431+
432+
2.优化请求在没有收到数据时的显示卡顿的情况,添加“加载中”状态,**使用v-loading**(ElementUI组件库),**优化用户人机交互体验**,在服务器调用接口缓慢的情况下,给予**良好的交互**
433+
434+
3.轮播图优化:**压缩图片体积**,另外使用Swiper的**懒加载**,实现图片加载中状态,然后图片完全加载完成后才显示图片,**优化用户体验过程**
435+
436+
4.后端**新增自定义错误码枚举类**,可以自定义状态码进行返回,保留原有枚举类。
437+
438+
5.前端优化部分表格内容展示,当纵向内容过长,**设置了表格最大高度**,超出就会显示滑动窗口。优化表格列宽度,**提高表格美观度**
439+
440+
6.**添加**书籍管理组件的**批量删除图书**功能,优化管理员体验,不用单个删除图书,**提高效率**
441+
442+
7.Jmeter进行压力测试,服务器接口在**100个用户并发**发送请求的情况下,**QPS达到50**以上。
443+
444+
### 2023-5-20
445+
446+
**后端更新情况**
447+
448+
1.防止前端抓包被获取明文密码,前端输入密码,进行md5加密(混合盐值,防止碰撞),后端直接与数据库加密后的密码比较,相等代表登录成功。提高系统**安全性**
449+
450+
2.整改Controller层,**将业务代码全部放入Service层**,由Controller调用Service服务,并修改了@Transactional注解位置到业务层,减少耦合度,让Controller减少臃肿。做到对扩展开放,对修改关闭。后续考虑运用**设计模式**进行优化代码和**多线程**知识提高在**高并发**下接口响应的速度。
451+
452+
3.对照阿里巴巴手册进行代码修改,将警告进行减少,代码更加**优雅、规范**
453+
454+
4.**修复BUG**: 借阅时间为空,造成服务器被击穿。归还日期为空,仍然显示借书成功。(解决方法:时间参数进行校验,判断是否为空)
455+
456+
5.**工具类增加情况**:SQLUtils(防止SQL注入),NetUtils(网络工具类)
457+
458+
**前端更新情况**
459+
460+
1.将路由加载方式,改为懒加载,利用懒加载可以有效分担首页加载压力,**减少首页加载用时**
461+
462+
2.添加404页面,当用户访问请求地址不存在的页面,直接跳转到404页面,**提高用户体验度**
463+
464+
3.添加按钮的加载中状态,**优化人机交互**,提升用户体验度。修改按钮:登录按钮,其他按钮如果有需要可以自定义去修改,增加:loading="loading"即可。
465+
466+
**Bug修复情况**
467+
468+
1.11位图书编号可以借,但却**无法进行逾期检查**,发现方法参数还是Integer,上次把借书和还书的改成Long了,逾期查看还没改成Long,因此出现问题,现在已经修复。
469+
470+
### 2023-6-10
471+
472+
**前端更新情况**
473+
474+
1.在某些页面添加全屏功能按钮,**方便用户放大查看表格数据**
475+
476+
2.增加了GitHub和Gitee的地址图标,**方便进行项目拉取和克隆**
477+
478+
3.读者留言组件,留言功能进行强化,防止无意义的数字、字母、空格出现在数据,后续考虑
479+
480+
4.读者留言组件,**利用lodash进行节流**,5秒内只可发送一次网络请求,防止恶意刷无效留言。
481+
482+
**后端更新情况**
483+
484+
1.后端添加利用EasyExcel进行图书的**批量导入功能**,实现与实际生活中利用Excel存储一些图书数据的交互功能,**提高导入效率**,和爬虫功能效果相同,都可以实现大数据量情况下的导入,推荐利用EasyExcel进行批量导入,时间会比爬虫会更快。
485+
486+
**Bug修复情况**
487+
488+
1.修改用户页面的修改密码功能,因为上次更新已经加了盐值,但是后端代码逻辑没有进行更改,本次修复"在修改密码后无法登录的情况",原因是因为后端没有加盐值,已修复。
489+
490+
2.修复系统管理员修改借阅证的密码然后就登录不上了,原因跟第一条Bug是一样的,因为后端的盐值没有进行添加,已修复。
491+
492+
3.修复系统管理员在书籍管理功能时候,直接点击修改书籍,发现书籍的分类是错误的,因为前端只在添加书籍的对话框发了获取分类的请求,修改对话框的时候忘记添加了获取分类的请求,已修复。
493+
494+
### 2023-9
495+
496+
**前端更新情况**
497+
498+
1.增加**智能推荐页面,**能够与AI进行交流**,用户输入自己喜欢xxx类的书籍,AI能够在现有数据库中进行分析,**然后给用户作出推荐**,调用的是国内AI模型,底层是OpenAI。
499+
500+
2.增加**智能分析页面**,输入分析目标和图标类型和Excel文件,AI生成分析结论和可视化图标,大大提高效率,**减少人力分析成本**
501+
502+
3.增加系统管理员可以利用在前端**利用Excel文件批量上传图书**的功能(测试中),仅供参考。
503+
504+
**后端更新情况**
505+
506+
1.增加智能分析的接口和获取最近5条聊天记录的接口,利用**线程池****Future**进行**超时请求处理**,如果接口调用超过40秒直接返回错误信息。
507+
508+
2.利用Google的Guava中的RateLimiter进行限流控制,**每秒钟只允许一个请求通过**,防止刷量行为。
509+
510+
### 2023-11
511+
512+
**后端更新情况**
399513

400-
2.优化请求在没有收到数据时的显示卡顿的情况,添加“加载中”状态,使用v-loading(ElementUI组件库),优化用户人机交互体验,在服务器调用接口缓慢的情况下,给予良好的交互
514+
1.将用户聊天的AI模型切换为阿里的通义千问Plus模型,并且**支持多轮会话的历史记录****不再使用讯飞星火的AI模型**,但仍保留工具类。主要是为了可以更快的得到响应,而且阿里的**文档更加详细**,可以**定制话术**,在用户输入无关图书推荐的内容时候,直接**拒绝回答**
401515

402-
3.轮播图优化:压缩图片体积,另外使用Swiper的懒加载,实现图片加载中状态,然后图片完全加载完成后才显示图片,优化用户体验过程
516+
2.添加一个 IncSyncDeleteAIMessage **定时任务**,每天将会**删除由于系统错误等原因AI回复失败**,导致内容为空的记录,并且会为这些用户**恢复接口的次数****后续可能会选择 RabbitMQ**,将失败的消息放入消息队列,然后**确保失败的消息被消费**
403517

404-
4.后端新增自定义错误码枚举类,可以自定义状态码进行返回,保留原有枚举类。
518+
**前端更新情况**
405519

406-
5.前端优化部分表格内容展示,当纵向内容过长,设置了表格最大高度,超出就会显示滑动窗口。优化表格列宽度,提高表格美观度
520+
1.将三个登录页面的背景图和头像改为存储在 assets 文件夹的 images 中,**主要是为使用项目的人考虑**,很多人不懂图床技术,我这边暂时将登录页面改成静态图
407521

408-
6.添加书籍管理组件的批量删除图书功能,优化管理员体验,不用单个删除图书,提高效率
522+
2.权限切换的提示优化,**在图标上面现在有登录权限切换的文字样式**,提示用户有多个登录页面可以切换

0 commit comments

Comments
 (0)