# ai-library-management-system-opencode **Repository Path**: superjamison/ai-library-management-system-opencode ## Basic Information - **Project Name**: ai-library-management-system-opencode - **Description**: 图书管理系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-13 - **Last Updated**: 2026-07-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 大学生图书管理系统 基于 Java 21 + Spring Boot 3.x + MyBatis-Plus + Sa-Token + Vue 3 + TypeScript + Element Plus 的图书管理系统。 ## 技术栈 ### 后端 - **Java 21** + Spring Boot 3.2.5 - MyBatis-Plus 3.5.7(ORM 框架) - Sa-Token 1.44.0(权限认证,Session 持久化到 Redis) - MySQL 8.0 + HikariCP 连接池 - Redis(Sa-Token Session 缓存) - Hutool 5.8(工具类,BCrypt 密码加密) - Maven 构建 ### 前端 - Vue 3 + TypeScript 6.0 - Vite 8 构建工具 - Element Plus 2.14(UI 组件库) - Pinia(状态管理) - Vue Router 4(路由,含导航守卫鉴权) - Axios(HTTP 请求封装) - ECharts 6(数据可视化) - Vue ECharts(ECharts Vue 封装) ## 角色权限 | 角色 | 说明 | 主要权限 | |------|------|---------| | student | 学生 | 图书查询、借阅、个人信息管理、荐购 | | admin | 管理员 | 图书增删改、借阅审批、罚款管理、数据看板 | | super-admin | 超级管理员 | 用户管理、角色管理、权限管理、通知、日志 | ## 快速启动 ### 前置要求 - JDK 21+ - Maven 3.9+ - MySQL 8.0+ - Redis 6.0+ - Node.js 20+ - npm 10+ ### 1. 初始化数据库 在 MySQL 中执行 SQL 脚本: ```bash mysql -u root -p < sql/init.sql ``` ### 2. 启动后端 ```bash cd library-backend mvn spring-boot:run ``` 后端默认启动在 `http://localhost:8080`。 ### 3. 启动前端 ```bash cd library-frontend npm install npm run dev ``` 前端默认启动在 `http://localhost:5173`。 ### 4. 访问系统 打开浏览器访问 `http://localhost:5173`。 **默认账号:** | 用户名 | 密码 | 角色 | |--------|------|------| | admin | admin123 | super-admin | ## 项目结构 ``` library-management-system/ ├── sql/ # 数据库初始化脚本 │ └── init.sql # 12 张表 + 初始数据 ├── library-backend/ # 后端 Spring Boot 项目 │ └── src/main/java/com/library/ │ ├── common/ # 通用模块(配置、异常、响应体) │ ├── entity/ # 实体类(12个) │ ├── mapper/ # MyBatis-Plus Mapper 接口 │ ├── service/ # 业务逻辑层 │ ├── controller/ # 接口控制器 │ ├── dto/ # 数据传输对象 │ └── stp/ # Sa-Token 权限加载 └── library-frontend/ # 前端 Vue 3 项目 └── src/ ├── api/ # API 接口封装 ├── stores/ # Pinia 状态管理 ├── router/ # 路由配置 ├── layout/ # 布局组件 ├── views/ # 页面组件 │ ├── auth/ # 登录/注册 │ ├── books/ # 图书管理 │ ├── borrow/ # 借阅管理 │ ├── reader/ # 读者服务 │ ├── stats/ # 数据看板 │ └── system/ # 系统管理 └── utils/ # 工具类 ``` ## API 文档 后端接口前缀:`/api` | 模块 | 路径 | 说明 | |------|------|------| | 认证 | `/api/auth/**` | 登录、注册、退出、密码修改 | | 图书 | `/api/book/**` | 图书 CRUD、分类查询 | | 借阅 | `/api/borrow/**` | 借阅记录、归还、续借、审批、罚款 | | 系统 | `/api/system/**` | 用户管理、角色管理、权限管理、通知、日志 | ## 配置说明 ### 后端配置 (`library-backend/src/main/resources/application.yml`) - **数据库连接**:默认 `localhost:3306/library_system_opencode`,用户 `root`/`root` - **Redis**:默认 `localhost:6379` - **Sa-Token**:Token 有效期 30 天,支持并发登录 ### 前端配置 创建 `library-frontend/.env` 文件: ```env VITE_API_BASE_URL=http://localhost:8080 ```