1. 开发目的
实现图书的智能化、信息化和简单化;实现图书信息的增加、删除、修改、查找、借阅、还书、收藏的显示操作及实时数据库的提交和更改和对普通用户的增、删、改、查;提高图书管理员工作信息报送及反馈的工作效率,减轻管理员的劳动负担;提高信息的及时性和汇总统计信息的准确性。
2,技术分析
后端技术
技术 | 说明 | 官网 |
---|---|---|
SpringBoot | Web应用开发框架 | https://spring.io/projects/spring-boot |
SpringSecurity | 认证和授权框架 | https://spring.io/projects/spring-security |
MyBatis | ORM框架 | http://www.mybatis.org/mybatis-3/zh/index.html |
MyBatisGenerator | 数据层代码生成器 | http://www.mybatis.org/generator/index.html |
Druid | 数据库连接池 | https://github.com/alibaba/druid |
JWT | JWT登录支持 | https://github.com/jwtk/jjwt |
Lombok | Java语言增强库 | https://github.com/rzwitserloot/lombok |
PageHelper | MyBatis物理分页插件 | http://git.oschina.net/free/Mybatis_PageHelper |
Swagger-UI | API文档生成工具 | https://github.com/swagger-api/swagger-ui |
前端技术
技术 | 说明 | 官网 |
---|---|---|
Vue | 前端框架 | https://vuejs.org/ |
Vue-router | 路由框架 | https://router.vuejs.org/ |
Vuex | 全局状态管理框架 | https://vuex.vuejs.org/ |
Element | 前端UI框架 | https://element.eleme.io |
Axios | 前端HTTP框架 | https://github.com/axios/axios |
v-charts | 基于Echarts的图表框架 | 📣 有源码 获取源码 |
3. 项目结构
3.1 数据库结构
表名 | 作用 |
---|---|
book | 图书 |
user | 用户 |
lendrecord | 借阅记录 |
classinfo | 分类信息 |
collectrecord | 收藏信息 |
3.2 项目结构
前后端交互全部采用JSON数据交互
4. 功能介绍
主要功能:验证码,模糊查询,分页查询,多表联合查询,文件上传,Excel文件导出,管理员对图书,用户进行增删改查,普通用户进行收藏,借阅及取消收藏,借阅,拦截器,日志集成,密码均采用了MD5加密,图形报表.
4.1 登录界面
实现了验证码和前端初步判定用户名和密码是否合法
4.2 注册页面
实现了对用户信息,手机号,密码的初步检验
4.3 普通用户操作界面
普通用户可进行图书管理,借还管理,收藏管理和密码修改,默认首页是图书的借阅排行
4.4 图书管理
4.4.1 图书列表
普通用户可模糊查询图书,新建图书,导出图书,对图书进行借阅,收藏
- 模糊查询图书
- 新建图书
- 导出
- 借阅
- 收藏
被收藏后的图书,会收藏失败
4.4.2 分类信息
支持分类信息模糊查询,导出和分页查询
4.4.3 借阅数量
实现数据可视化
4.5 借还管理
支持图书模糊查询,导出借还记录,图书归还,分页查询,用户只能看见自己的借还记录
4.6 收藏管理
支持图书模糊查询,导出收藏记录,图书取消收藏,分页查询,用户只能看见自己的收藏记录
4.7 其他
4.7.1 地图
引用百度地图api
4.7.2 读者分布
实现可数据可视化
4.8 修改密码
实现密码加密存储,前端初步验证
4.9 管理员界面
读者分布
4.10 读者档案
支持读者名称模糊查询,分页查询,导出读者列表,增加,编辑和删除读者
- 增加读者
- 编辑读者
支持数据回显
- 删除读者
4.11 图书管理
相对普通用户来说,管理员页面增加了对图书的编辑和删除
- 编辑图书
支持数据回显
4.12 借还管理
实现了对不同用户借书情况的查询,删除和归还,支持借还记录导出,分页查询
4.13 收藏管理
支持查看不同用户的图书收藏情况,支持收藏记录导出
4.14 拦截器功能
用户未登录就访问页面时,会进行拦截并跳转到登录页面