1. 项目背景与需求分析
高考志愿填报是每个考生人生中的关键决策节点,但传统填报方式存在诸多痛点。作为经历过三次高考志愿填报系统重构的开发者,我深刻理解考生和家长面临的困境:信息碎片化、数据更新滞后、决策缺乏科学依据。去年帮助表弟填报志愿时,我们花了整整两周时间收集院校资料,最终却因信息不对称导致滑档,这促使我下定决心开发这套系统。
系统核心解决三个问题:
- 信息整合难题:将分散在各省教育考试院、高校官网的招生计划、历年分数线、专业介绍等数据集中管理
- 决策效率低下:通过算法模型实现智能推荐,将平均30小时的决策过程缩短至2小时
- 填报风险控制:基于近五年千万级录取数据构建预测模型,降低滑档、调剂风险
关键设计原则:数据准确性>响应速度>界面美观度。志愿填报是低频刚需场景,用户对0.1分的分数线误差容忍度远低于页面加载多1秒
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构设计
2.1 整体架构方案
采用前后端分离的B/S架构,这是经过三个版本迭代后的最优选择:
- V1.0教训:传统JSP方案导致前后端耦合,高考期间突发流量引发线程阻塞
- V2.0改进:引入Vue+SpringBoot分离架构,但ES5语法导致移动端兼容性问题
- V3.0现状:Vue3+SpringBoot+Redis+MySQL高可用集群

(图示:前端→Nginx→SpringBoot→Redis→MySQL读写分离)
2.2 关键技术选型
前端技术栈
- Vue3+TypeScript:相比Vue2提升30%渲染性能,类型系统规避了15%的运行时错误
- ECharts5:特殊处理了分数线波动图的视觉引导,避免用户误读数据趋势
- 自适应方案:采用rem+flex布局,在Redmi Note11上测试显示效果良好
后端技术栈
- SpringBoot2.7:特别配置了Undertow替代Tomcat,QPS提升2.8倍
- MyBatis-Plus:动态表名插件处理分省数据隔离,简化了多租户
