# 荣光课堂前端系统 ## 项目简介 荣光课堂前端系统是一个基于 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); ```