1. 项目概述
这个基于SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0技术栈的大学新生报到系统,是我去年为某高校开发的实际项目。系统从需求分析到上线部署共耗时3个月,目前稳定运行两个学期,累计处理了8000+新生的报到流程。相比传统手工登记方式,系统将平均报到时间从15分钟缩短至3分钟,辅导员工作效率提升5倍。
系统采用前后端分离架构,后端基于SpringBoot2.7.3构建RESTful API,前端使用Vue3+Element Plus实现响应式界面,数据持久层采用MyBatis-Plus 3.5.1操作MySQL8.0数据库。特别在并发处理上做了优化,实测可支持每秒200+的报到请求。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心功能解析
2.1 新生信息预录入模块
高校招生办在录取结束后,可通过Excel批量导入新生基本信息(学号、姓名、身份证号等)。系统会自动生成初始密码(采用BCrypt加密)并发送到学生预留手机号。这里有个细节:身份证号会通过Luhn算法校验,避免人工录入错误。
java复制// MyBatis-Plus实体类示例
@Data
@TableName("freshman_info")
public class Freshman {
@TableId(type = IdType.AUTO)
private Long id;
private String studentId; // 学号
private String name;
@TableField("id_card")
private String idCard; // 身份证号
private String mobile;
private String password; // BCrypt加密存储
private Integer status; // 0-未报到 1-已报到
}
2.2 扫码快速报到功能
现场报到时,学生出示录取通知书上的二维码,工作人员用PDA扫描后:
- 调用身份证读卡器核验身份
- 自动完成宿舍分配(基于算法避开混住冲突)
- 打印包含宿舍号、班级信息的报到单
- 同步激活校园一卡通
关键点:二维码采用TOTP动态加密
