# 自动更新视频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. 在 `