🎬 秋野酱:《个人主页》
🔥 个人专栏:《Java专栏》《Python专栏》
⛺️心若有所向往,何惧道阻且长
文章目录
- .🚀 技术架构
- 技术栈全景
- 🎯 功能模块
- 功能矩阵表
- 📊 数据库设计
- 核心ER关系图
- 💻 核心实现
- 创建数据库
- 导入数据
- 后端启动
- 典型接口示例:
.🚀 技术架构
技术栈全景
mermaidpietitle 技术栈分布"SpringBoot" : 35"Vue3" : 30"MyBatisPlus" : 15"ElementPlus" : 10"Redis" : 10
🎯 功能模块
功能矩阵表
模块 学生端能力 教师端能力 管理端能力
课程管理 在线学习/课件下载 课程发布/学习监控 课程资源调度
宿舍管理 报修申请/归寝登记 维修处理/查寝记录 楼栋资产统计
成绩系统 成绩查询/趋势分析 成绩录入/智能分析 数据报表导出
📊 数据库设计
核心ER关系图
mermaid
erDiagram
STUDENT ||–o{ COURSE_RECORD : “学习记录”
STUDENT ||–o{ DORM_REPAIR : “发起报修”
TEACHER ||–o{ SCORE : “录入成绩”
DORM ||–o{ CHECK_RECORD : “每日查寝”
💻 核心实现
### 智能登录验证
// 登录拦截器核心逻辑
@Interceptor
public class AuthInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {// 验证码校验(如图形验证码)if (!verifyCaptcha(request)) {response.sendRedirect("/error/captcha");return false;}// JWT令牌验证String token = request.getHeader("Authorization");if (!jwtUtil.validateToken(token)) {response.setStatus(HttpStatus.FORBIDDEN.value());return false;}return true;}
}
创建数据库
mysql> CREATE DATABASE smart_campus DEFAULT CHARSET utf8mb4;
导入数据
mysql -u root -p smart_campus < init.sql
前端构建
cd frontend
npm install
npm run build
后端启动
mvn clean package
java -jar target/smart-campus-1.0.0.jar
典型接口示例:
// 微信支付回调接口
@PostMapping("/payment/wechat/callback")
public String wechatPayCallback(@RequestBody String notifyData) {// 1. 验证签名if (!wechatPayService.verifySign(notifyData)) {return "FAIL";}// 2. 更新订单状态paymentService.updateOrderStatus(parseOrderNo(notifyData));// 3. 推送消息messageService.pushPaymentSuccess(parseUserId(notifyData));return "SUCCESS";
}