# 自动更新视频duration - 前端实现 ## ✅ **后端接口已添加** **接口地址:** `POST /study/courseware/updateDuration` **参数:** - `coursewareId`: 课件ID - `duration`: 视频时长(秒) **特点:** - ✅ 允许匿名访问(`@Anonymous`) - ✅ 只更新未配置duration的视频 - ✅ 防止重复覆盖已有的duration --- ## 📱 **前端调用代码(uni-app)** ### **方式1:在视频加载完成时调用** ```javascript // 在视频播放页面 ``` --- ### **方式2:使用uni.createVideoContext** ```javascript // 在mounted或onReady中 onReady() { // 创建video上下文 this.videoContext = uni.createVideoContext('myVideo', this); // 延迟获取视频信息(等待加载) setTimeout(() => { this.getVideoDuration(); }, 1000); }, methods: { getVideoDuration() { // 注意:uni-app的video组件可能需要通过事件获取duration // 推荐使用 @loadedmetadata 事件(方式1) } } ``` --- ### **方式3:直接使用HTML5 Video API(H5页面)** ```javascript ``` --- ## 🔧 **集成步骤** ### **步骤1:后端编译部署** ```bash cd Study-Vue-redis mvn clean package -DskipTests # 重启服务 java -jar ry-study-admin/target/ry-study-admin.jar ``` --- ### **步骤2:前端代码修改** **找到视频播放页面:** `fronted_uniapp/pages/study/video.vue` (或类似文件) **添加以下代码:** 1. 在 `