基于 Spring Boot + Vue 的儿童益智玩具早教方案匹配平台设计与实现
基于 Spring Boot + Vue 的儿童益智玩具早教方案匹配平台设计与实现
项目类型:Java Web / Spring Boot / Vue / MySQL / 推荐算法 / 毕业设计
核心功能:儿童档案管理、玩具智能匹配、早教方案浏览、购物车订单、评价反馈、后台审核、玩具分类管理
推荐算法:TF-IDF 内容推荐 + User-Based 协同过滤 + 混合加权推荐 + 冷启动处理
一、项目简介
本文介绍一个基于 Spring Boot 和 Vue.js 开发的儿童益智玩具早教方案匹配平台。系统面向家长用户、机构用户和管理员三类角色,围绕儿童档案管理、玩具智能匹配、早教方案浏览、购物车订单、评价反馈、机构方案发布、后台审核与数据管理等业务进行设计与实现。
该系统不只是一个普通的后台管理平台,而是围绕“儿童画像 - 玩具分类 - 教育属性 - 用户评价”建立了一套推荐匹配链路。系统通过 TF-IDF 内容推荐算法、User-Based 协同过滤算法和混合加权推荐策略,根据儿童年龄、兴趣偏好、能力特征、玩具分类、教育属性以及家长历史评价数据,计算玩具与儿童早教需求之间的匹配程度。
系统登录页面如下:

二、开发背景
随着家庭教育和儿童早期教育受到越来越多家长的重视,益智玩具已经成为儿童认知启蒙、动手能力训练、逻辑思维培养和语言发展的重要辅助工具。
但在实际使用中,家长通常会遇到以下问题:
- 不清楚不同年龄段儿童适合什么类型的益智玩具。
- 难以判断玩具是否符合孩子的兴趣和能力发展特点。
- 早教方案、玩具资源、机构服务之间缺少统一管理。
- 普通平台大多只做商品展示,缺少个性化推荐逻辑。
因此,本系统通过儿童档案、玩具分类、玩具教育属性和评价反馈数据,完成玩具与儿童早教需求之间的智能匹配,帮助家长更高效地选择适合孩子的益智玩具和早教方案。
三、技术栈
1. 后端技术
- Spring Boot:作为后端主框架,负责接口开发、业务处理和服务整合。
- MyBatis-Plus:用于简化数据库增删改查和分页查询。
- MySQL:存储用户、儿童档案、玩具、分类、方案、订单和评价等业务数据。
- RESTful API:前后端通过统一接口进行数据交互。
- Lombok:简化实体类代码。
2. 前端技术
- Vue.js:构建前端单页面应用。
- Element Plus:实现表格、表单、弹窗、菜单等后台管理常用组件。
- Axios:进行前后端接口请求。
- Vite:作为前端开发和构建工具。
3. 架构模式
系统采用 B/S 架构和前后端分离模式。前端负责页面展示和用户交互,后端负责业务逻辑、权限控制、数据处理和推荐算法计算,MySQL 负责持久化存储。
四、系统角色设计
系统主要包括三类用户:家长用户、机构用户和管理员。
1. 家长用户
家长用户是平台的核心使用对象,主要负责维护儿童档案、查看推荐结果、浏览早教方案、下单购买玩具并提交评价反馈。
家长端首页如下:

家长用户主要功能包括:
- 儿童档案管理
- 玩具智能匹配
- 玩具浏览与查询
- 早教方案浏览
- 方案收藏
- 购物车管理
- 订单管理
- 评价反馈
- 查看课程资源
2. 机构用户
机构用户是平台内容和服务的提供方,主要负责发布早教方案、维护机构信息、回复家长咨询、上线玩具和维护课程资源。
机构用户主要功能包括:
- 早教方案发布
- 方案审核状态查看
- 咨询互动回复
- 机构个人中心
- 玩具上线管理
- 课程资源维护
3. 管理员
管理员负责系统后台治理和平台数据维护。
管理员主要功能包括:
- 用户管理
- 机构资质审核
- 玩具信息审核
- 玩具分类管理
- 早教方案审核
- 课程审核
- 订单管理
- 操作日志管理
- 数据概览统计
五、核心功能模块
1. 儿童档案管理
儿童档案是系统推荐算法的基础数据。家长可以维护儿童姓名、年龄、能力特征、兴趣偏好等信息。
系统在进行玩具匹配时,会读取儿童档案中的年龄、兴趣偏好和能力特征,并将这些数据转换为推荐算法可计算的特征。
儿童档案管理页面如下:

2. 玩具智能匹配
玩具智能匹配是系统的核心功能。家长选择儿童档案后,系统会读取该儿童的年龄、兴趣偏好和能力特征,同时读取已审核上架的候选玩具数据,经过推荐算法计算后输出匹配结果。
系统会返回三类推荐结果:
- TF-IDF 内容推荐结果
- 协同过滤推荐结果
- 混合推荐结果
玩具智能匹配页面如下:

3. 早教方案浏览
早教方案浏览模块用于展示机构发布并通过审核的早教方案。家长可以查看方案内容、教学目标、适用对象等信息,也可以对感兴趣的方案进行收藏。
早教方案浏览页面如下:

4. 购物车与订单管理
家长可以将推荐或浏览到的玩具加入购物车,并提交订单。订单模块用于记录购买信息、订单金额、订单状态和物流状态。
购物车页面如下:
订单管理页面如下:

5. 评价反馈
评价反馈模块用于记录家长对玩具或早教方案的使用体验和评分。该数据不仅用于页面展示,也会作为协同过滤算法的输入数据,帮助后续推荐结果更加贴近用户偏好。
评价反馈页面如下:

6. 管理员后台
管理员后台用于管理平台用户、审核机构和方案、维护订单和课程,并通过数据概览查看平台运行情况。
管理员数据概览页面如下:

用户管理页面如下:

方案审核页面如下:

六、玩具分类设计
预答辩中容易被问到的一个问题是:系统是否体现了玩具分类?
本系统中,玩具分类不是简单的页面展示字段,而是贯穿了数据表设计、后台管理、玩具信息维护和推荐算法计算。
系统支持的玩具分类包括:
- 积木拼搭类
- 拼图益智类
- 音乐启蒙类
- STEM 科学类
- 语言认知类
- 运动感统类
- 创意美术类
- 数学启蒙类
在数据库中,玩具表 toy 通过 category_id 关联玩具分类表 toy_category。推荐算法在进行内容匹配时,会读取玩具分类名称,并计算儿童兴趣偏好与玩具分类之间的匹配度。
也就是说,玩具分类不仅用于管理端维护,还参与了最终推荐得分计算。
七、数据库设计
系统主要数据表包括:
sys_user:用户表child_profile:儿童档案表toy:玩具信息表toy_category:玩具分类表early_plan:早教方案表evaluation:评价反馈表cart:购物车表orders:订单表course:课程表institution:机构表operation_log:操作日志表
推荐算法重点使用以下几类数据:
| 数据表 | 作用 |
|---|---|
child_profile |
存储儿童年龄、能力特征、兴趣偏好,是推荐算法的儿童画像来源 |
toy |
存储玩具名称、分类、适配年龄、教育属性、价格和库存,是候选资源池 |
toy_category |
存储玩具分类信息,支撑后台分类管理和推荐算法中的分类加权 |
evaluation |
存储家长评分和反馈,是协同过滤评分矩阵的数据来源 |
八、推荐算法设计
本系统的推荐算法由三部分组成:
- TF-IDF 内容推荐算法
- User-Based 协同过滤算法
- 混合加权推荐算法
整体流程可以理解为:
儿童档案 + 玩具属性 + 玩具分类 + 用户评价
↓
TF-IDF 内容推荐得分
↓
协同过滤预测得分
↓
混合加权融合排序
↓
输出玩具推荐结果
1. TF-IDF 内容推荐算法
TF-IDF 内容推荐主要解决“儿童特征与玩具属性是否匹配”的问题。
系统会将儿童档案和玩具属性都转换为文本特征。
儿童画像包括:
- 年龄
- 兴趣偏好
- 能力特征
玩具特征包括:
- 玩具名称
- 教育属性
- 玩具分类
- 适配年龄
然后系统通过 TF-IDF 向量化和余弦相似度计算儿童画像与玩具特征之间的匹配程度。
TF-IDF 的基本计算思想如下:
TF = 某词在文档中出现次数 / 文档总词数
IDF = log((文档总数 + 1) / (包含该词的文档数 + 1)) + 1
TF-IDF = TF × IDF
余弦相似度计算公式如下:
similarity = (A · B) / (|A| × |B|)
为了避免只因为关键词相似而推荐不适龄玩具,系统还加入了年龄适配得分和分类兴趣得分。
最终内容推荐得分为:
内容得分 = 文本相似度 × 0.60 + 年龄适配得分 × 0.25 + 分类兴趣得分 × 0.15
TF-IDF 内容推荐特征矩阵如下:

2. User-Based 协同过滤算法
协同过滤算法主要解决“相似家长更喜欢哪些玩具”的问题。它不是只看玩具本身的属性,而是引入用户评价行为。
系统根据评价表构建用户-玩具评分矩阵:
R[user][toy] = score
然后使用皮尔逊相关系数计算当前家长与其他家长之间的相似度,选择 Top-K 相似用户,并根据相似用户对候选玩具的评分预测当前家长可能给出的评分。
协同过滤评分矩阵如下:

协同过滤的推荐步骤如下:
- 构建用户-玩具评分矩阵。
- 计算当前家长与其他家长的相似度。
- 选取 Top-K 相似家长。
- 根据相似家长评分预测当前用户对候选玩具的评分。
- 如果用户评价数据不足,则使用人气推荐作为降级策略。
3. 混合加权推荐算法
单独使用 TF-IDF 内容推荐,会更依赖儿童档案和玩具属性;单独使用协同过滤,则依赖历史评价数据。如果新用户没有评价记录,协同过滤的预测效果会不稳定。
因此,系统采用混合推荐策略,将两种算法的结果进行加权融合。
正常模式下:
最终得分 = TF-IDF内容得分 × 0.60 + 协同过滤得分 × 0.40
冷启动模式下,如果当前家长评价数据少于 3 条,则提高内容推荐权重:
冷启动最终得分 = TF-IDF内容得分 × 0.85 + 协同过滤得分 × 0.15
这样设计的原因是:新用户评价数据较少时,协同过滤预测不够稳定,此时更应该依赖儿童档案和玩具属性完成基础匹配。当用户评价数据逐渐积累后,再提高协同过滤的影响,使推荐结果更贴近真实偏好。
混合推荐最终得分矩阵如下:

九、后端接口与实现逻辑
玩具匹配接口位于 ToyController 中:
@GetMapping("/match")
public Result<Map<String, Object>> matchByChild(@RequestParam Long childId) {
return Result.ok(toyService.matchByChild(childId));
}
核心业务逻辑位于 ToyService.matchByChild:
HybridRecommendEngine.RecommendResult result = hybridRecommendEngine.recommend(
child, child.getParentId(), allToys, allEvaluations, 50);
接口返回的数据包括:
hybridToys:混合推荐排序结果tfidfToys:TF-IDF 内容推荐排序结果cfToys:协同过滤排序结果algorithmInfo:算法权重、冷启动模式、用户评价数量等说明信息totalCandidates:候选玩具数量matchedCount:匹配结果数量
十、项目特点总结
本系统具有以下特点:
- 采用 Spring Boot + Vue 前后端分离架构,结构清晰。
- 支持家长、机构、管理员三类角色,权限边界明确。
- 实现儿童档案、玩具、早教方案、购物车、订单、评价等完整业务流程。
- 增加玩具分类管理,分类数据进入数据库设计和推荐算法。
- 引入 TF-IDF 内容推荐算法,解决儿童画像与玩具属性匹配问题。
- 引入 User-Based 协同过滤算法,利用家长历史评价数据优化推荐。
- 采用混合加权推荐策略,兼顾内容匹配和用户行为反馈。
- 支持冷启动处理,避免新用户评价数据不足导致推荐结果不可用。
- 推荐结果包含匹配分数,具备一定可解释性。
十一、总结
本文介绍的儿童益智玩具早教方案匹配平台,围绕儿童早教场景,完成了从儿童档案维护、玩具资源管理、智能推荐、购物下单到评价反馈的完整业务闭环。
系统不仅实现了基础平台功能,还重点加入了 TF-IDF 内容推荐、协同过滤和混合加权推荐算法,使平台具备个性化推荐能力和可解释性。
后续可以继续扩展移动端或小程序端,并结合更多用户行为数据、课程学习记录和儿童成长测评数据进一步优化推荐效果。
标签建议
Spring Boot
Vue
MySQL
毕业设计
推荐算法
TF-IDF
协同过滤
前后端分离
儿童早教
管理系统
联系我们定制开发

更多推荐

所有评论(0)