Files
blog-press/docs/Practice/Company/Learn.md
2026-06-08 21:32:49 +08:00

63 lines
4.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 埃学习
date: 2026-05-27
---
# 一、项目背景
  为解决企业内部线下培训成本高、进度难追踪的问题,开发了一套企业在线学习平台,用于员工课程学习、在线考试、培训计划管理与数据统计分析,已全面接入企业微信工作台。
# 二、系统架构
![架构图](../../public/images/aixuexi/arch.png)
# 三、核心模块
## 3.1 员工端
1. 课程学习(视频播放、进度记录、课程评论)
2. 在线考试(随机试卷、自动阅卷)
3. 学习记录和统计
## 3.2 管理员端
1. 课程管理(视频上传、章节管理)
2. 培训计划管理(按部门/岗位下发)
3. 考试与题库管理
4. 人员与组织管理
5. 员工学习数据统计
# 四、技术栈
| 层级 | 技术 |
|---|---|
| **前端** | Vue 3、Element Plus、Vue Router、Pinia、DPlayer (视频播放)、@vue-office (文档预览)、ECharts (数据可视化)|
| **后端** | Spring Boot 3、Spring MVC、Sa-Token (鉴权)、MyBatis-Plus |
| **中间件** | Redis、企业微信 SDK |
| **视频处理** | Java JAVE2 (FFmpeg 封装,视频压缩转码) |
| **存储** | MySQL 8.0 (业务数据)、AList (视频/文件资源存储) |
| **运维** | Docker、Nginx、Fluent Bit (日志采集)、OpenObserver (日志可视化) |
# 五、核心设计
- 基于 **Spring Boot 3 + MyBatisPlus** 构建稳定的后端架构,通过 **SaToken** 实现接口级鉴权,保障系统安全与权限可控。
- 集成 **企业微信 SDK**,实现企业微信工作台免登录认证;通过**企业微信消息通知机制**,自动推送学习任务与提醒。
- 设计 **课程资源、学习计划与在线考试** 等核心业务模型,支持批量下发培训任务;实现随机组卷、自动阅卷与成绩统计,并自动提醒员工完成学习任务。
- 基于 **JAVE2FFmpeg** 实现视频自动压缩与转码,适配多终端播放;采用 AList 作为统一文件存储平台,集中管理音视频及课件资源。
- 基于 **Vue 3 + Element Plus + Pinia** 构建管理员端与员工端页面,集成 **vueoffice** 实现多格式文档在线预览,集合**ECharts**实现多维度数据分析。
- 使用 **Docker + Nginx** 部署,结合 **Fluent Bit + OpenObserver** 构建统一日志监控体系,提升系统可观测性与运维效率。
# 六、难点/亮点
## 5.1 公网视频播放卡顿
- **问题**:服务器公网带宽小,高清视频并发播放严重卡顿。
- **方案**上传视频后使用JAVE2调用FFmpeg将视频统一压缩为720p的清晰度视频。
- **效果**视频体积减少60%+,公网环境播放流畅。
## 5.2 学习进度防作弊
- **问题**:员工学习视频课程时,可通过拖动进度条快速完成课程,无法真实反映学习行为,存在“刷课”风险。
- **方案**:根据管理员设定的课程学习时长,在员工学习时,启动定时器;每分钟会保存学习时长至数据库中,下次学习时,直接跳转至上次学习进度;课程是否完成已定时器结束为准。
- **效果**:有效防止通过拖拽进度条刷课,保证学习时长真实可信;同时支持断点续学,避免重复学习,满足企业培训考核与合规审计要求。
## 5.3 学习计划通知
- **问题**:培训计划、考试通知无法及时触达员工,导致培训参与率低、管理成本高。
- **方案**:在发布培训计划时,调用企业微信消息推送接口,自动向指定员工发送应用消息通知;结合定时任务,对未完成培训的人员进行周期性提醒。
- **效果**:培训通知实时触达,未读提醒显著提高培训完成率;管理员无需手动维护人员信息,降低了系统运维成本。
# 七、成果
1. 平台全面替代线下培训,年度培训计划完成率由 60% 提升至 95% 以上,满足了企业合规培训要求。
2. 过视频压缩方案解决了公网带宽瓶颈,结合企业微信自动化通知,大幅降低人工催办成本,整体培训运营成本下降约 40%。
3. 实现了学习进度防作弊与学习记录全跟踪,为公司提供精准的数据统计报表,支撑人才盘点与绩效评估。