项目介绍
This commit is contained in:
parent
e7c4b27c17
commit
30bcc9b0ef
1715
项目介绍/学习数据库.sql
Normal file
1715
项目介绍/学习数据库.sql
Normal file
File diff suppressed because one or more lines are too long
510
项目介绍/架构文档.md
Normal file
510
项目介绍/架构文档.md
Normal file
|
|
@ -0,0 +1,510 @@
|
||||||
|
# 国语教育平台 - 架构文档
|
||||||
|
|
||||||
|
## 📐 整体架构
|
||||||
|
|
||||||
|
### 系统架构图
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────────────────────────────────────────────────────┐
|
||||||
|
│ 客户端层 │
|
||||||
|
├──────────────────┬──────────────────┬──────────────────────┤
|
||||||
|
│ Web管理端 │ 移动端App │ 微信小程序(规划) │
|
||||||
|
│ (Vue.js) │ (uni-app) │ │
|
||||||
|
└──────────────────┴──────────────────┴──────────────────────┘
|
||||||
|
↓ HTTP/HTTPS
|
||||||
|
┌─────────────────────────────────────────────────────────────┐
|
||||||
|
│ 网关层 │
|
||||||
|
│ Nginx (反向代理) │
|
||||||
|
└─────────────────────────────────────────────────────────────┘
|
||||||
|
↓
|
||||||
|
┌─────────────────────────────────────────────────────────────┐
|
||||||
|
│ 应用服务层 │
|
||||||
|
│ Spring Boot (端口: 30091) │
|
||||||
|
├──────────────────┬──────────────────┬──────────────────────┤
|
||||||
|
│ 系统管理模块 │ 学习管理模块 │ 语音评测模块 │
|
||||||
|
│ - 用户管理 │ - 课程管理 │ - 语音识别 │
|
||||||
|
│ - 权限管理 │ - 考试管理 │ - 发音评测 │
|
||||||
|
│ - 角色管理 │ - 题库管理 │ - 评测记录 │
|
||||||
|
│ - 菜单管理 │ - 学习记录 │ │
|
||||||
|
└──────────────────┴──────────────────┴──────────────────────┘
|
||||||
|
↓
|
||||||
|
┌─────────────────────────────────────────────────────────────┐
|
||||||
|
│ 数据访问层 │
|
||||||
|
│ MyBatis + Druid │
|
||||||
|
└─────────────────────────────────────────────────────────────┘
|
||||||
|
↓
|
||||||
|
┌──────────────────┬──────────────────┬──────────────────────┐
|
||||||
|
│ MySQL数据库 │ Redis缓存 │ 文件存储 │
|
||||||
|
│ (业务数据) │ (会话/缓存) │ (课件/录音) │
|
||||||
|
└──────────────────┴──────────────────┴──────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🏗️ 技术架构
|
||||||
|
|
||||||
|
### 后端技术栈
|
||||||
|
|
||||||
|
#### 核心框架
|
||||||
|
- **Spring Boot 2.5.15**: 应用框架
|
||||||
|
- **Spring Security 5.7.14**: 安全框架
|
||||||
|
- **Spring Framework 5.3.39**: 基础框架
|
||||||
|
- **MyBatis**: ORM框架
|
||||||
|
- **Druid 1.2.23**: 数据库连接池
|
||||||
|
|
||||||
|
#### 中间件
|
||||||
|
- **Redis**: 缓存、会话管理
|
||||||
|
- **MySQL**: 关系型数据库
|
||||||
|
- **Nginx**: 反向代理、负载均衡
|
||||||
|
|
||||||
|
#### 工具库
|
||||||
|
- **JWT (jjwt 0.9.1)**: Token认证
|
||||||
|
- **FastJSON 2.0.58**: JSON处理
|
||||||
|
- **Apache POI 4.1.2**: Excel导入导出
|
||||||
|
- **PageHelper 1.4.7**: 分页插件
|
||||||
|
- **Swagger 3.0.0**: API文档
|
||||||
|
- **Kaptcha 2.3.3**: 验证码生成
|
||||||
|
- **Velocity 2.3**: 代码生成模板
|
||||||
|
|
||||||
|
### 前端技术栈
|
||||||
|
|
||||||
|
#### Web管理端
|
||||||
|
- **Vue.js 2.x**: 前端框架
|
||||||
|
- **Element UI**: UI组件库
|
||||||
|
- **Axios**: HTTP客户端
|
||||||
|
- **Vuex**: 状态管理
|
||||||
|
- **Vue Router**: 路由管理
|
||||||
|
- **Webpack**: 构建工具
|
||||||
|
|
||||||
|
#### 移动端App
|
||||||
|
- **uni-app**: 跨平台开发框架
|
||||||
|
- **Vue.js 3.2.47**: 前端框架
|
||||||
|
- **uView Plus 3.6.15**: UI组件库
|
||||||
|
- **Vuex 4.1.0**: 状态管理
|
||||||
|
- **Vite 5.2.8**: 构建工具
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📦 模块架构
|
||||||
|
|
||||||
|
### 后端模块结构
|
||||||
|
|
||||||
|
```
|
||||||
|
ry-study (父工程)
|
||||||
|
├── ry-study-admin # 主应用模块(启动入口)
|
||||||
|
│ ├── controller # 控制器层
|
||||||
|
│ │ ├── system # 系统管理控制器
|
||||||
|
│ │ ├── study # 学习管理控制器
|
||||||
|
│ │ └── voice # 语音评测控制器
|
||||||
|
│ └── RyStudyApplication # 启动类
|
||||||
|
│
|
||||||
|
├── ry-study-framework # 框架核心模块
|
||||||
|
│ ├── config # 配置类
|
||||||
|
│ ├── security # 安全配置
|
||||||
|
│ ├── interceptor # 拦截器
|
||||||
|
│ └── aspectj # AOP切面
|
||||||
|
│
|
||||||
|
├── ry-study-system # 系统业务模块
|
||||||
|
│ ├── domain # 实体类
|
||||||
|
│ │ ├── study # 学习相关实体
|
||||||
|
│ │ └── vo # 视图对象
|
||||||
|
│ ├── mapper # 数据访问层
|
||||||
|
│ │ └── study # 学习相关Mapper
|
||||||
|
│ └── service # 业务逻辑层
|
||||||
|
│ ├── impl # 业务实现
|
||||||
|
│ ├── study # 学习业务
|
||||||
|
│ └── voice # 语音业务
|
||||||
|
│
|
||||||
|
├── ry-study-common # 通用工具模块
|
||||||
|
│ ├── annotation # 自定义注解
|
||||||
|
│ ├── constant # 常量定义
|
||||||
|
│ ├── core # 核心工具
|
||||||
|
│ ├── enums # 枚举类
|
||||||
|
│ ├── exception # 异常处理
|
||||||
|
│ └── utils # 工具类
|
||||||
|
│
|
||||||
|
├── ry-study-quartz # 定时任务模块
|
||||||
|
│ ├── domain # 任务实体
|
||||||
|
│ ├── service # 任务服务
|
||||||
|
│ └── util # 任务工具
|
||||||
|
│
|
||||||
|
└── ry-study-generator # 代码生成模块
|
||||||
|
├── domain # 生成配置
|
||||||
|
├── service # 生成服务
|
||||||
|
└── util # 生成工具
|
||||||
|
```
|
||||||
|
|
||||||
|
### 前端模块结构
|
||||||
|
|
||||||
|
#### Web管理端 (ry-study-ui)
|
||||||
|
```
|
||||||
|
ry-study-ui
|
||||||
|
├── public # 静态资源
|
||||||
|
├── src
|
||||||
|
│ ├── api # API接口
|
||||||
|
│ │ ├── system # 系统接口
|
||||||
|
│ │ ├── study # 学习接口
|
||||||
|
│ │ └── monitor # 监控接口
|
||||||
|
│ ├── assets # 资源文件
|
||||||
|
│ ├── components # 公共组件
|
||||||
|
│ ├── directive # 自定义指令
|
||||||
|
│ ├── layout # 布局组件
|
||||||
|
│ ├── router # 路由配置
|
||||||
|
│ ├── store # Vuex状态
|
||||||
|
│ ├── utils # 工具函数
|
||||||
|
│ └── views # 页面视图
|
||||||
|
│ ├── system # 系统管理页面
|
||||||
|
│ ├── study # 学习管理页面
|
||||||
|
│ └── monitor # 监控页面
|
||||||
|
└── vue.config.js # Vue配置
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 移动端App (fronted_uniapp)
|
||||||
|
```
|
||||||
|
fronted_uniapp
|
||||||
|
├── api # API接口
|
||||||
|
│ └── study # 学习相关接口
|
||||||
|
├── components # 公共组件
|
||||||
|
│ ├── custom-navbar # 自定义导航栏
|
||||||
|
│ └── custom-tabbar # 自定义标签栏
|
||||||
|
├── config # 配置文件
|
||||||
|
├── pages # 页面
|
||||||
|
│ ├── login # 登录页
|
||||||
|
│ ├── index # 首页
|
||||||
|
│ ├── course # 课程页面
|
||||||
|
│ ├── exam # 考试页面
|
||||||
|
│ ├── voice # 语音评测页面
|
||||||
|
│ ├── learning # 学习记录页面
|
||||||
|
│ ├── score # 成绩页面
|
||||||
|
│ └── profile # 个人中心
|
||||||
|
├── static # 静态资源
|
||||||
|
├── store # Vuex状态
|
||||||
|
│ └── modules # 状态模块
|
||||||
|
├── utils # 工具函数
|
||||||
|
├── App.vue # 应用入口
|
||||||
|
├── main.js # 主入口文件
|
||||||
|
├── manifest.json # 应用配置
|
||||||
|
└── pages.json # 页面配置
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔄 数据流架构
|
||||||
|
|
||||||
|
### 请求处理流程
|
||||||
|
|
||||||
|
```
|
||||||
|
客户端请求
|
||||||
|
↓
|
||||||
|
Nginx (反向代理)
|
||||||
|
↓
|
||||||
|
Spring Security (认证/授权)
|
||||||
|
↓
|
||||||
|
Controller (控制器)
|
||||||
|
↓
|
||||||
|
Service (业务逻辑)
|
||||||
|
↓
|
||||||
|
Mapper (数据访问)
|
||||||
|
↓
|
||||||
|
MySQL/Redis (数据存储)
|
||||||
|
↓
|
||||||
|
返回响应
|
||||||
|
```
|
||||||
|
|
||||||
|
### 认证授权流程
|
||||||
|
|
||||||
|
```
|
||||||
|
1. 用户登录
|
||||||
|
↓
|
||||||
|
2. 验证用户名密码
|
||||||
|
↓
|
||||||
|
3. 生成JWT Token
|
||||||
|
↓
|
||||||
|
4. 返回Token给客户端
|
||||||
|
↓
|
||||||
|
5. 客户端携带Token请求
|
||||||
|
↓
|
||||||
|
6. 验证Token有效性
|
||||||
|
↓
|
||||||
|
7. 解析用户权限
|
||||||
|
↓
|
||||||
|
8. 执行业务逻辑
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 💾 数据库设计
|
||||||
|
|
||||||
|
### 核心数据表
|
||||||
|
|
||||||
|
#### 系统管理
|
||||||
|
- `sys_user`: 用户表
|
||||||
|
- `sys_role`: 角色表
|
||||||
|
- `sys_menu`: 菜单表
|
||||||
|
- `sys_dept`: 部门表
|
||||||
|
- `sys_dict_type`: 字典类型表
|
||||||
|
- `sys_dict_data`: 字典数据表
|
||||||
|
- `sys_config`: 系统配置表
|
||||||
|
- `sys_oper_log`: 操作日志表
|
||||||
|
- `sys_logininfor`: 登录日志表
|
||||||
|
|
||||||
|
#### 学习管理
|
||||||
|
- `study_class`: 班级表
|
||||||
|
- `study_class_user`: 班级学生关联表
|
||||||
|
- `study_course`: 课程表
|
||||||
|
- `study_courseware`: 课件表
|
||||||
|
- `study_course_assignment`: 课程分配表
|
||||||
|
- `study_learning_record`: 学习记录表
|
||||||
|
- `study_subject`: 学科表
|
||||||
|
|
||||||
|
#### 考试管理
|
||||||
|
- `study_question_bank`: 题库表
|
||||||
|
- `study_question_bank_item`: 题目表
|
||||||
|
- `study_exam`: 考试表
|
||||||
|
- `study_question`: 试题表
|
||||||
|
- `study_student_answer`: 学生答题表
|
||||||
|
- `study_score`: 成绩表
|
||||||
|
|
||||||
|
#### 语音评测
|
||||||
|
- `study_voice_evaluation`: 语音评测表
|
||||||
|
- `study_voice_evaluation_content`: 评测内容表
|
||||||
|
|
||||||
|
#### 监控管理
|
||||||
|
- `study_screen_monitor`: 屏幕监控表
|
||||||
|
- `study_student_change_log`: 学生变更日志表
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔌 接口设计
|
||||||
|
|
||||||
|
### RESTful API规范
|
||||||
|
|
||||||
|
#### 请求格式
|
||||||
|
```
|
||||||
|
GET /api/resource # 查询列表
|
||||||
|
GET /api/resource/{id} # 查询详情
|
||||||
|
POST /api/resource # 新增
|
||||||
|
PUT /api/resource # 修改
|
||||||
|
DELETE /api/resource/{id} # 删除
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 响应格式
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"code": 200,
|
||||||
|
"msg": "操作成功",
|
||||||
|
"data": {}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 主要接口模块
|
||||||
|
|
||||||
|
#### 系统管理接口
|
||||||
|
- `/system/user/*`: 用户管理
|
||||||
|
- `/system/role/*`: 角色管理
|
||||||
|
- `/system/menu/*`: 菜单管理
|
||||||
|
- `/system/dept/*`: 部门管理
|
||||||
|
- `/system/dict/*`: 字典管理
|
||||||
|
|
||||||
|
#### 学习管理接口
|
||||||
|
- `/study/class/*`: 班级管理
|
||||||
|
- `/study/course/*`: 课程管理
|
||||||
|
- `/study/courseware/*`: 课件管理
|
||||||
|
- `/study/learning/*`: 学习记录
|
||||||
|
- `/study/subject/*`: 学科管理
|
||||||
|
|
||||||
|
#### 考试管理接口
|
||||||
|
- `/study/questionBank/*`: 题库管理
|
||||||
|
- `/study/exam/*`: 考试管理
|
||||||
|
- `/study/score/*`: 成绩管理
|
||||||
|
|
||||||
|
#### 语音评测接口
|
||||||
|
- `/voice/evaluate`: 语音评测
|
||||||
|
- `/voice/record/*`: 评测记录
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔒 安全架构
|
||||||
|
|
||||||
|
### 安全机制
|
||||||
|
|
||||||
|
1. **认证机制**
|
||||||
|
- JWT Token认证
|
||||||
|
- Token自动刷新
|
||||||
|
- 单点登录支持
|
||||||
|
|
||||||
|
2. **授权机制**
|
||||||
|
- RBAC权限模型
|
||||||
|
- 数据权限控制
|
||||||
|
- 接口权限控制
|
||||||
|
|
||||||
|
3. **数据安全**
|
||||||
|
- 密码加密存储(BCrypt)
|
||||||
|
- 敏感数据加密
|
||||||
|
- SQL注入防护
|
||||||
|
|
||||||
|
4. **传输安全**
|
||||||
|
- HTTPS加密传输
|
||||||
|
- Token签名验证
|
||||||
|
- 请求防重放
|
||||||
|
|
||||||
|
5. **日志审计**
|
||||||
|
- 操作日志记录
|
||||||
|
- 登录日志记录
|
||||||
|
- 异常日志记录
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 部署架构
|
||||||
|
|
||||||
|
### 单机部署
|
||||||
|
```
|
||||||
|
┌─────────────────────────────┐
|
||||||
|
│ 服务器 (192.168.0.106) │
|
||||||
|
├─────────────────────────────┤
|
||||||
|
│ Nginx (80/443) │
|
||||||
|
│ Spring Boot (30091) │
|
||||||
|
│ MySQL (3306) │
|
||||||
|
│ Redis (6379) │
|
||||||
|
│ 文件存储 (/profile/upload) │
|
||||||
|
└─────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
### 集群部署(推荐)
|
||||||
|
```
|
||||||
|
┌──────────────┐
|
||||||
|
│ 负载均衡器 │
|
||||||
|
│ (Nginx) │
|
||||||
|
└──────────────┘
|
||||||
|
↓
|
||||||
|
┌──────────────┬──────────────┬──────────────┐
|
||||||
|
│ 应用服务器1 │ 应用服务器2 │ 应用服务器3 │
|
||||||
|
│ Spring Boot │ Spring Boot │ Spring Boot │
|
||||||
|
└──────────────┴──────────────┴──────────────┘
|
||||||
|
↓ ↓ ↓
|
||||||
|
┌──────────────┬──────────────┬──────────────┐
|
||||||
|
│ MySQL主库 │ MySQL从库 │ Redis集群 │
|
||||||
|
└──────────────┴──────────────┴──────────────┘
|
||||||
|
↓
|
||||||
|
┌──────────────┐
|
||||||
|
│ 文件存储 │
|
||||||
|
│ (NFS/OSS) │
|
||||||
|
└──────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 性能优化
|
||||||
|
|
||||||
|
### 缓存策略
|
||||||
|
- **Redis缓存**: 用户信息、权限数据、字典数据
|
||||||
|
- **本地缓存**: 配置信息、静态数据
|
||||||
|
- **浏览器缓存**: 静态资源、图片
|
||||||
|
|
||||||
|
### 数据库优化
|
||||||
|
- **索引优化**: 关键字段建立索引
|
||||||
|
- **查询优化**: 避免全表扫描
|
||||||
|
- **连接池**: Druid连接池配置
|
||||||
|
- **读写分离**: 主从复制
|
||||||
|
|
||||||
|
### 前端优化
|
||||||
|
- **代码分割**: 按需加载
|
||||||
|
- **资源压缩**: Gzip压缩
|
||||||
|
- **图片优化**: 懒加载、WebP格式
|
||||||
|
- **CDN加速**: 静态资源CDN
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔧 扩展性设计
|
||||||
|
|
||||||
|
### 模块化设计
|
||||||
|
- 各模块独立开发
|
||||||
|
- 低耦合高内聚
|
||||||
|
- 易于维护和扩展
|
||||||
|
|
||||||
|
### 插件化架构
|
||||||
|
- 语音识别引擎可替换
|
||||||
|
- 支持自定义插件
|
||||||
|
- 灵活的配置机制
|
||||||
|
|
||||||
|
### 微服务演进
|
||||||
|
- 当前为单体应用
|
||||||
|
- 可按模块拆分为微服务
|
||||||
|
- 支持Spring Cloud改造
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📈 监控运维
|
||||||
|
|
||||||
|
### 系统监控
|
||||||
|
- **应用监控**: Spring Boot Actuator
|
||||||
|
- **性能监控**: JVM监控、线程监控
|
||||||
|
- **日志监控**: 日志收集、分析
|
||||||
|
- **告警机制**: 异常告警、性能告警
|
||||||
|
|
||||||
|
### 运维工具
|
||||||
|
- **部署工具**: Shell脚本、Docker
|
||||||
|
- **备份工具**: 数据库备份、文件备份
|
||||||
|
- **监控工具**: Prometheus、Grafana(可选)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 技术选型理由
|
||||||
|
|
||||||
|
### 为什么选择Spring Boot?
|
||||||
|
- 快速开发、约定优于配置
|
||||||
|
- 生态完善、社区活跃
|
||||||
|
- 易于部署、运维简单
|
||||||
|
|
||||||
|
### 为什么选择uni-app?
|
||||||
|
- 一次开发、多端运行
|
||||||
|
- Vue语法、学习成本低
|
||||||
|
- 性能优秀、生态丰富
|
||||||
|
|
||||||
|
### 为什么选择MySQL?
|
||||||
|
- 开源免费、成熟稳定
|
||||||
|
- 性能优秀、易于维护
|
||||||
|
- 支持事务、数据安全
|
||||||
|
|
||||||
|
### 为什么选择Redis?
|
||||||
|
- 高性能、低延迟
|
||||||
|
- 数据结构丰富
|
||||||
|
- 支持持久化
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📝 开发规范
|
||||||
|
|
||||||
|
### 代码规范
|
||||||
|
- 遵循阿里巴巴Java开发手册
|
||||||
|
- 统一的命名规范
|
||||||
|
- 完善的注释文档
|
||||||
|
|
||||||
|
### Git规范
|
||||||
|
- 分支管理策略
|
||||||
|
- 提交信息规范
|
||||||
|
- Code Review流程
|
||||||
|
|
||||||
|
### 接口规范
|
||||||
|
- RESTful API设计
|
||||||
|
- 统一的响应格式
|
||||||
|
- 完善的接口文档
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔮 技术演进路线
|
||||||
|
|
||||||
|
### 短期(3-6个月)
|
||||||
|
- 性能优化
|
||||||
|
- 功能完善
|
||||||
|
- Bug修复
|
||||||
|
|
||||||
|
### 中期(6-12个月)
|
||||||
|
- 微服务改造
|
||||||
|
- 容器化部署
|
||||||
|
- 自动化运维
|
||||||
|
|
||||||
|
### 长期(1-2年)
|
||||||
|
- AI智能化
|
||||||
|
- 大数据分析
|
||||||
|
- 云原生架构
|
||||||
224
项目介绍/项目介绍.md
Normal file
224
项目介绍/项目介绍.md
Normal file
|
|
@ -0,0 +1,224 @@
|
||||||
|
# 国语教育平台 - 项目介绍
|
||||||
|
|
||||||
|
## 📋 项目概述
|
||||||
|
|
||||||
|
**国语教育平台**是一个面向国语(普通话)教学的综合性在线教育系统,集成了课程学习、在线考试、语音评测、学习监控等功能。系统采用前后端分离架构,支持Web管理端和移动端(Android/iOS)应用。
|
||||||
|
|
||||||
|
- **项目名称**: 国语教育平台 (ry-study)
|
||||||
|
- **版本**: v2.1.1
|
||||||
|
- **开发单位**: DDNAI
|
||||||
|
- **适用场景**: 学校、培训机构的国语教学与管理
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 核心功能
|
||||||
|
|
||||||
|
### 1. 用户管理
|
||||||
|
- **多角色支持**: 管理员、教师、学生
|
||||||
|
- **用户注册/登录**: 支持账号密码登录,JWT Token认证
|
||||||
|
- **权限管理**: 基于RBAC的细粒度权限控制
|
||||||
|
- **学生审核**: 新注册学生需要管理员审核
|
||||||
|
- **班级管理**: 支持按教育阶段、年级、班级组织学生
|
||||||
|
|
||||||
|
### 2. 课程学习
|
||||||
|
- **课程管理**:
|
||||||
|
- 课程创建、编辑、发布
|
||||||
|
- 课程分类(按学科、年级)
|
||||||
|
- 课程封面、简介、详情
|
||||||
|
- **课件管理**:
|
||||||
|
- 支持视频、音频、文档等多种格式
|
||||||
|
- 课件章节组织
|
||||||
|
- 在线播放/预览
|
||||||
|
- **学习记录**:
|
||||||
|
- 自动记录学习进度
|
||||||
|
- 学习时长统计
|
||||||
|
- 学习轨迹追踪
|
||||||
|
- **课程分配**:
|
||||||
|
- 教师可将课程分配给指定班级
|
||||||
|
- 学生查看已分配课程
|
||||||
|
|
||||||
|
### 3. 在线考试
|
||||||
|
- **题库管理**:
|
||||||
|
- 支持单选题、多选题、判断题、填空题、简答题
|
||||||
|
- 题库分类管理
|
||||||
|
- 题目导入/导出(Excel)
|
||||||
|
- **试卷管理**:
|
||||||
|
- 手动组卷
|
||||||
|
- 随机抽题组卷
|
||||||
|
- 试卷预览
|
||||||
|
- **考试功能**:
|
||||||
|
- 在线答题
|
||||||
|
- 自动计时
|
||||||
|
- 自动提交
|
||||||
|
- 防作弊(屏幕监控)
|
||||||
|
- **成绩管理**:
|
||||||
|
- 自动阅卷(客观题)
|
||||||
|
- 手动阅卷(主观题)
|
||||||
|
- 成绩统计分析
|
||||||
|
- 错题回顾
|
||||||
|
|
||||||
|
### 4. 语音评测 ⭐
|
||||||
|
- **语音识别**:
|
||||||
|
- 实时录音
|
||||||
|
- 语音转文字(ASR)
|
||||||
|
- 支持离线识别(Vosk引擎)
|
||||||
|
- **发音评测**:
|
||||||
|
- 与标准文本对比
|
||||||
|
- 发音准确度评分
|
||||||
|
- 详细评测报告
|
||||||
|
- **评测记录**:
|
||||||
|
- 历史评测记录查询
|
||||||
|
- 评测内容回放
|
||||||
|
- 进步趋势分析
|
||||||
|
|
||||||
|
### 5. 学习监控
|
||||||
|
- **屏幕录制**:
|
||||||
|
- 考试过程屏幕录制
|
||||||
|
- WebRTC实时传输
|
||||||
|
- 录制文件存储
|
||||||
|
- **学习行为分析**:
|
||||||
|
- 学习时长统计
|
||||||
|
- 学习频率分析
|
||||||
|
- 学习效果评估
|
||||||
|
|
||||||
|
### 6. 数据统计
|
||||||
|
- **学生数据**:
|
||||||
|
- 学习进度统计
|
||||||
|
- 考试成绩统计
|
||||||
|
- 语音评测统计
|
||||||
|
- **教师数据**:
|
||||||
|
- 班级学习情况
|
||||||
|
- 课程完成率
|
||||||
|
- 考试通过率
|
||||||
|
- **管理员数据**:
|
||||||
|
- 平台整体数据
|
||||||
|
- 用户活跃度
|
||||||
|
- 系统使用情况
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 💡 技术特色
|
||||||
|
|
||||||
|
### 1. 内网部署支持
|
||||||
|
- 完全支持局域网环境部署
|
||||||
|
- 无需公网访问
|
||||||
|
- 数据安全可控
|
||||||
|
|
||||||
|
### 2. 离线语音识别
|
||||||
|
- 集成Vosk离线语音识别引擎
|
||||||
|
- 不依赖第三方云服务
|
||||||
|
- 保护学生隐私
|
||||||
|
|
||||||
|
### 3. 横屏优化
|
||||||
|
- 移动端强制横屏显示
|
||||||
|
- 适配平板设备
|
||||||
|
- 更好的视频学习体验
|
||||||
|
|
||||||
|
### 4. 实时监控
|
||||||
|
- WebRTC实时屏幕共享
|
||||||
|
- 考试过程监控
|
||||||
|
- 防作弊机制
|
||||||
|
|
||||||
|
### 5. 响应式设计
|
||||||
|
- 支持多种屏幕尺寸
|
||||||
|
- 自适应布局
|
||||||
|
- 统一的用户体验
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📱 支持平台
|
||||||
|
|
||||||
|
### 管理端(Web)
|
||||||
|
- Chrome、Firefox、Edge等现代浏览器
|
||||||
|
- 响应式设计,支持PC和平板
|
||||||
|
|
||||||
|
### 移动端(App)
|
||||||
|
- Android 5.0+(API Level 21+)
|
||||||
|
- iOS 10.0+
|
||||||
|
- 支持手机和平板
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎓 适用场景
|
||||||
|
|
||||||
|
### 1. 学校教学
|
||||||
|
- 普通话课程教学
|
||||||
|
- 学生发音训练
|
||||||
|
- 在线考试测评
|
||||||
|
|
||||||
|
### 2. 培训机构
|
||||||
|
- 国语培训课程
|
||||||
|
- 学员管理
|
||||||
|
- 学习效果评估
|
||||||
|
|
||||||
|
### 3. 企业培训
|
||||||
|
- 员工普通话培训
|
||||||
|
- 培训效果考核
|
||||||
|
- 学习进度跟踪
|
||||||
|
|
||||||
|
### 4. 自主学习
|
||||||
|
- 个人发音练习
|
||||||
|
- 在线课程学习
|
||||||
|
- 自我测评
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔐 安全特性
|
||||||
|
|
||||||
|
- **数据加密**: 敏感数据加密存储
|
||||||
|
- **JWT认证**: 安全的Token认证机制
|
||||||
|
- **权限控制**: 细粒度的权限管理
|
||||||
|
- **SQL防注入**: MyBatis参数化查询
|
||||||
|
- **XSS防护**: 前端输入过滤
|
||||||
|
- **日志审计**: 完整的操作日志记录
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 系统优势
|
||||||
|
|
||||||
|
### 1. 功能完整
|
||||||
|
- 涵盖教学全流程
|
||||||
|
- 从课程学习到考试评测
|
||||||
|
- 一站式解决方案
|
||||||
|
|
||||||
|
### 2. 易于部署
|
||||||
|
- 支持内网部署
|
||||||
|
- Docker容器化部署
|
||||||
|
- 详细的部署文档
|
||||||
|
|
||||||
|
### 3. 性能优良
|
||||||
|
- Redis缓存优化
|
||||||
|
- 数据库连接池
|
||||||
|
- 静态资源CDN
|
||||||
|
|
||||||
|
### 4. 扩展性强
|
||||||
|
- 模块化设计
|
||||||
|
- 插件化架构
|
||||||
|
- 易于二次开发
|
||||||
|
|
||||||
|
### 5. 用户体验好
|
||||||
|
- 简洁的界面设计
|
||||||
|
- 流畅的交互体验
|
||||||
|
- 完善的错误提示
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📈 未来规划
|
||||||
|
|
||||||
|
- [ ] AI智能评测(发音细节分析)
|
||||||
|
- [ ] 多语言支持(方言识别)
|
||||||
|
- [ ] 直播课堂功能
|
||||||
|
- [ ] 社交学习功能(学习圈)
|
||||||
|
- [ ] 移动端教师管理功能
|
||||||
|
- [ ] 数据可视化大屏
|
||||||
|
- [ ] 微信小程序版本
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📞 技术支持
|
||||||
|
|
||||||
|
如有问题或建议,请联系技术支持团队。
|
||||||
|
|
||||||
|
**项目地址**: http://www.ddnai.com
|
||||||
|
**技术栈**: Spring Boot + Vue.js + uni-app
|
||||||
|
**开发团队**: DDNAI
|
||||||
Loading…
Reference in New Issue
Block a user