面向公共图书馆、高校图书馆、企业图书室等场景的一站式图书管理系统。解决传统图书管理依赖人工登记、效率低下、数据难以统计等痛点,实现图书全生命周期数字化管理,涵盖入库、借阅、归还、逾期处理、数据统计等核心环节。
点击空白处退出提示
面向公共图书馆、高校图书馆、企业图书室等场景的一站式图书管理系统。解决传统图书管理依赖人工登记、效率低下、数据难以统计等痛点,实现图书全生命周期数字化管理,涵盖入库、借阅、归还、逾期处理、数据统计等核心环节。
本项目是一套前后端分离的图书管理信息系统,主要功能包括:
图书管理:支持图书信息的增删改查,包括 ISBN、作者、出版社、库存、分类等多维度管理,支持按关键词和类型筛选。
读者管理:管理读者档案,支持读者类型配置(不同读者类型可设置不同的借阅数量上限和借阅天数)。
借阅管理:完整的借书/还书流程,支持预借服务。系统自动计算应还日期,逾期自动按天生成罚款记录。采用 Redis 分布式锁防止并发超卖,保证数据一致性。
统计排行:首页数据概览(图书总数、读者数、借阅中、逾期数等),热门借阅图书 Top N 排行,近 7 天借阅趋势图,图书类型分布统计。
系统管理:基于角色的权限控制(超级管理员/普通管理员/游客),用户管理,操作日志审计(记录所有关键操作的操作人、时间、IP 等信息)。
安全认证:JWT 双 Token 机制(AccessToken + RefreshToken),支持单设备登录、登录失败限流(15 分钟内 5 次)、验证码防机器人、BCrypt 密码加密。
技术架构:
后端:.NET 6 + ASP.NET Core Web API + Entity Framework Core 6
前端:Vue 2 + Element UI + Vuex + Vue Router
数据库:SQL Server(主存储)+ Redis(缓存/分布式锁/排行榜)
认证:JWT(HMAC-SHA256)双 Token 机制
日志:Serilog 结构化日志
架构设计: 采用经典四层分层架构(Api / Application / Domain / Infrastructure),职责清晰,依赖方向自上而下。Application 层定义接口,Infrastructure 层实现具体基础设施,符合依赖倒置原则。
关键技术实现:
使用 Redis 分布式锁(SET NX EX + Lua 脚本)解决借书并发超卖问题
使用 SERIALIZABLE 事务保证手动主键生成的并发安全
实现渐进式密码迁移策略(BCrypt 无感升级)
Redis Sorted Set 实现实时借阅排行榜
前端路由守卫 + Vuex 状态管理实现细粒度权限控制
Axios 拦截器统一处理 Token 注入和 401 自动跳转



评论