自习室座位预约系统 —— 基于微信小程序的自习室管理平台,支持座位浏览、在线预约、签到签退、计时计费、违规管理等完整业务流程。
- 🪑 座位浏览 - 可视化座位地图,实时显示占用/空闲状态
- 📅 在线预约 - 选择时间和座位,一键预约
- ✅ 签到签退 - 扫码签到,自动计时计费
- 📋 我的预约 - 查看历史预约、当前预约
- 👤 个人中心 - 个人资料、头像上传、账户管理
- 🔔 系统通知 - 预约提醒、违规通知
- 🏠 管理仪表盘 - 数据概览、用户统计
- 🏢 房间管理 - 自习室/房间 CRUD
- 💺 座位管理 - 可视化座位配置、批量添加
- 📏 规则配置 - 开放时间、预约规则、违规规则
- 📊 数据统计 - 使用率统计、收入统计
- 👥 用户管理 - 用户列表、违规记录、黑名单
⚠️ 违规管理 - 违规记录处理和惩罚
| 层级 | 技术 |
|---|---|
| 前端 | Vue 3, Vite, Vue Router, Pinia, Axios |
| 后端 | Java 8, Spring Boot 2.x, MyBatis Plus |
| 数据库 | MySQL 8.0 |
| 认证 | Spring Security + JWT |
| 二维码 | ZXing |
| 文件存储 | 本地存储 |
10-studyRoom/
├── front/ # Vue 3 前端
│ ├── src/
│ │ ├── api/ # API 接口
│ │ ├── views/ # 页面组件
│ │ │ ├── admin/ # 管理端页面
│ │ │ ├── Checkin.vue # 签到
│ │ │ ├── Login.vue # 登录
│ │ │ ├── Register.vue # 注册
│ │ │ ├── Rooms.vue # 自习室列表
│ │ │ ├── SeatMap.vue # 座位地图
│ │ │ └── ... # 更多页面
│ │ ├── router/ # 路由
│ │ ├── store/ # 状态管理
│ │ ├── utils/ # 工具函数
│ │ └── styles/ # 样式
│ ├── package.json
│ └── vite.config.js
├── server/ # Spring Boot 后端
│ └── src/main/java/com/zzust/studyroom/
│ ├── controller/ # 控制器
│ ├── service/ # 业务逻辑
│ ├── entity/ # 实体类
│ ├── mapper/ # MyBatis Plus Mapper
│ ├── dto/ # 数据传输对象
│ ├── config/ # Spring 配置
│ ├── security/ # JWT + Security
│ ├── schedule/ # 定时任务
│ └── util/ # 工具类
├── docs/ # 文档
│ ├── 系统功能说明.md
│ └── 自习室座位预约系统-详细功能说明-论文版.md
├── 2026_10_room.sql # 数据库完整脚本
├── 仅结构.sql # 表结构脚本
├── .gitignore
└── README.md
- JDK 8+
- Node.js 16+
- MySQL 8.0+
- Maven 3.6+
# 1. 导入数据库
mysql -u root -p < 2026_10_room.sql
# 2. 修改配置 (server/src/main/resources/application.yml)
# - 数据库连接信息
# - JWT 密钥
# 3. 启动后端
cd server
mvn spring-boot:runcd front
# 安装依赖
npm install
# 开发模式
npm run dev
# 生产构建
npm run build- 用户名:
admin - 密码: 见
server/src/main/java/com/zzust/studyroom/config/DataInitializer.java
MIT © putong1024