Files
RGKT/rg-09112127/README.md
2025-10-10 19:44:14 +08:00

208 lines
4.5 KiB
Markdown

# 荣光课堂前端系统
## 项目简介
荣光课堂前端系统是一个基于 HTML5、CSS3 和 JavaScript 的在线教育平台,支持课程学习、游戏互动和用户行为跟踪。
## 新增功能
### 1. 后端集成
- 与 Spring Boot 后端 API 完全集成
- 支持用户登录、课程数据同步、访问记录和游戏统计
### 2. 用户管理
- 用户登录/登出功能
- 用户状态持久化
- 用户信息显示
### 3. 数据管理
- 自动从后端加载课程和游戏数据
- 本地数据备用方案
- 数据同步和更新
### 4. 访问跟踪
- 自动记录用户访问课程、游戏和视频的行为
- 记录访问时长和详细信息
- 支持 IP 地址和用户代理记录
### 5. 游戏跟踪
- 记录游戏开始、结束和结果
- 支持胜负、正确/错误答案记录
- 记录得分、游戏时长和尝试次数
## 文件结构
```
rg-09112127/
├── html/ # HTML页面
│ ├── indexHome.html # 首页
│ ├── indexDetail.html # 课程导航页
│ ├── courseHome.html # 课程主页
│ └── play/ # 游戏页面
│ └── 示例游戏.html # 示例游戏
├── js/ # JavaScript文件
│ ├── apiService.js # API服务类
│ ├── dataManager.js # 数据管理器
│ ├── userManager.js # 用户管理器
│ ├── accessTracker.js # 访问跟踪器
│ ├── gameTracker.js # 游戏跟踪器
│ └── courseConfig.js # 课程配置(已更新)
├── css/ # 样式文件
│ └── userDisplay.css # 用户显示样式
└── README.md # 说明文档
```
## 使用方法
### 1. 启动后端服务
确保后端 Spring Boot 应用已启动,默认端口 8080。
### 2. 用户登录
- 点击页面右上角的"登录"按钮
- 输入用户名和密码
- 登录成功后显示用户信息
### 3. 课程学习
- 访问课程页面会自动记录访问行为
- 观看视频会记录访问时长
- 离开页面时自动结束访问跟踪
### 4. 游戏互动
- 开始游戏时自动记录游戏开始
- 选择答案时记录尝试次数
- 游戏结束时记录结果和得分
## API 集成
### 主要 API 接口
- `POST /api/users/login` - 用户登录
- `GET /api/data/complete` - 获取完整数据
- `POST /api/records/access` - 记录访问
- `POST /api/records/game` - 记录游戏结果
### 使用示例
```javascript
// 用户登录
const result = await window.apiService.login("username", "password");
// 记录课程访问
window.trackCourseAccess("l1s01");
// 记录游戏开始
window.startGame(1, { gameType: "math_quiz" });
// 记录游戏胜利
window.recordGameWin(100, { score: 100, time: 120 });
// 结束访问跟踪
window.endAccess();
```
## 配置说明
### 后端 API 地址
`js/apiService.js` 中修改:
```javascript
this.baseUrl = "http://localhost:8080/api";
```
### 数据库连接
确保后端 `application.yml` 中的数据库配置正确:
```yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/rg_classroom
username: root
password: 123456
```
## 功能特性
### 1. 自动数据同步
- 页面加载时自动从后端获取最新数据
- 支持本地数据备用方案
- 实时更新课程和游戏列表
### 2. 智能访问跟踪
- 自动检测用户行为
- 记录详细的访问信息
- 支持多种访问类型(课程、游戏、视频)
### 3. 游戏统计
- 记录游戏胜负结果
- 统计得分和游戏时长
- 支持多次尝试记录
### 4. 用户状态管理
- 登录状态持久化
- 自动恢复用户会话
- 安全的登出功能
## 浏览器兼容性
- Chrome 60+
- Firefox 55+
- Safari 12+
- Edge 79+
## 注意事项
1. 确保后端服务正常运行
2. 用户需要登录后才能记录访问和游戏数据
3. 网络异常时会使用本地数据作为备用
4. 所有 API 调用都有错误处理机制
## 开发说明
### 添加新的游戏跟踪
```javascript
// 在游戏开始时
window.startGame(gameId, gameData);
// 在游戏过程中
window.recordGameAttempt();
// 在游戏结束时
window.recordGameWin(score, finalData);
```
### 添加访问跟踪
```javascript
// 开始访问跟踪
window.trackCourseAccess(courseId);
window.trackGameAccess(gameId);
window.trackVideoAccess(courseId, videoId);
// 结束访问跟踪
window.endAccess();
```
### 自定义 API 调用
```javascript
// 使用API服务
const result = await window.apiService.get("/courses");
const user = await window.apiService.post("/users", userData);
```