Merge branch 'pingcode-1104' into dev0515

# Conflicts:
#	src/components/PortalHeader.vue
#	src/components/VideoPlayer/progress-bar.vue
#	src/views/study/coursenew.vue
This commit is contained in:
zhangsir
2024-11-04 16:29:52 +08:00
9 changed files with 92 additions and 74 deletions

View File

@@ -110,7 +110,7 @@ body {margin: 0px;padding: 0px;}
padding-bottom:12px padding-bottom:12px
} }
.ranking-data{ .ranking-data{
min-height: 196px; min-height: 246px;
margin: 0px; margin: 0px;
overflow-y: auto; overflow-y: auto;
} }
@@ -130,7 +130,7 @@ body {margin: 0px;padding: 0px;}
padding-bottom:12px padding-bottom:12px
} }
.ranking-data{ .ranking-data{
min-height: 196px; min-height: 246px;
margin: 0px; margin: 0px;
// overflow-y: auto; // overflow-y: auto;
} }

View File

@@ -1,7 +1,7 @@
<template> <template>
<!--弹出窗口设置--> <!--弹出窗口设置-->
<div> <div>
<div v-for="pop in popupList" :key="pop.id">wwww <div v-for="pop in popupList" :key="pop.id">
<el-dialog :close-on-press-escape="false" :close-on-click-modal="false" class="medalbox" :visible.sync="pop.show" :append-to-body="true" > <el-dialog :close-on-press-escape="false" :close-on-click-modal="false" class="medalbox" :visible.sync="pop.show" :append-to-body="true" >
<div style="text-align: center;position: relative;"> <div style="text-align: center;position: relative;">
<!-- <span style="float: right;" @click="pop.show = false"><i style="font-size: 28px;color: #000000;" class="el-icon-close"></i></span> --> <!-- <span style="float: right;" @click="pop.show = false"><i style="font-size: 28px;color: #000000;" class="el-icon-close"></i></span> -->

View File

@@ -637,7 +637,9 @@ export default {
} }
this.teacherList = rs.result.teachers; this.teacherList = rs.result.teachers;
this.teacherName = rs.result.teachers; this.teacherName = rs.result.teachers;
this.teacher = rs.result.teachers.map(res => res.teacherName); this.teacher = rs.result.teachers.map(item => {
return `${item.teacherName}(${item.userNo})`
});
this.totalContent = rs.result.contents.length; //计算总内容数 this.totalContent = rs.result.contents.length; //计算总内容数
if (this.courseInfo.tags != "") { if (this.courseInfo.tags != "") {
this.showTags = this.courseInfo.tags.split(","); this.showTags = this.courseInfo.tags.split(",");

View File

@@ -681,7 +681,9 @@ export default {
} }
this.teacherList = rs.result.teachers; this.teacherList = rs.result.teachers;
this.teacherName = rs.result.teachers; this.teacherName = rs.result.teachers;
this.teacher = rs.result.teachers.map(item => item.teacherName); this.teacher = rs.result.teachers.map(item => {
return `${item.teacherName}(${item.userNo})`
});
this.showTags = this.courseInfo.tags.split(","); this.showTags = this.courseInfo.tags.split(",");
if (rs.result.course.resOwner3 == "") { if (rs.result.course.resOwner3 == "") {
this.resOwnerArray = [ this.resOwnerArray = [

View File

@@ -383,8 +383,8 @@ export default {
count: 0, count: 0,
type: "", type: "",
list: [], list: [],
name: '',
status: '', status: '',
name: '',
}, },
learningRecords: { learningRecords: {
pageIndex: 1, //第几页 pageIndex: 1, //第几页
@@ -562,7 +562,7 @@ export default {
} }
}).catch(err=>{ }).catch(err=>{
this.isTrue = false; this.isTrue = false;
this.$message.error(err.data.message) this.$message.error(err.response.data.message)
}) })
// axios({ // axios({
// method: 'get', // method: 'get',

View File

@@ -40,12 +40,12 @@
:isPlaying="isPlaying" :isPlaying="isPlaying"
:biBarrageXml="biBarrageXml" :biBarrageXml="biBarrageXml"
/> />
<!-- 加载动画 --> <!-- 加载动画(应该当前视频没有缓存时显示加载动画) && isCrowd && isShowPlayer -->
<div v-show="isShowLoading && isCrowd && isShowPlayer" class="player-loading" @click="videoDom.focus({preventScroll: true})"> <div v-show="isShowLoading" class="player-loading" @click="videoDom.focus({preventScroll: true})">
<img src="@/components/VideoPlayer/images/loading.svg" alt="loading"/> <img src="@/components/VideoPlayer/images/loading.svg" alt="loading"/>
</div> </div>
<!-- 控制栏 --> <!-- 控制栏 -->
<div v-show="!isShowLoading && isCrowd" class="player-controls-container" @click="videoDom.focus({preventScroll: true})"> <div v-show="isCrowd" class="player-controls-container" @click="videoDom.focus({preventScroll: true})">
<div v-show="isShowVolumeHint" class="player-volumeHint"> <div v-show="isShowVolumeHint" class="player-volumeHint">
<span class="player-volumeHint-text">当前音量:{{volumePercent}}%</span> <span class="player-volumeHint-text">当前音量:{{volumePercent}}%</span>
</div> </div>
@@ -71,6 +71,7 @@
<div :class="{'player-controls': true, 'cursor-lasting-static': isCursorStatic}"> <div :class="{'player-controls': true, 'cursor-lasting-static': isCursorStatic}">
<div class="player-progress-bar"> <div class="player-progress-bar">
<progressBar <progressBar
:blobId="blobId"
:currentProgress="currentProgress" :currentProgress="currentProgress"
v-on:updateProgress="updateProgressByClickBar" v-on:updateProgress="updateProgressByClickBar"
v-on:getMouseDownStatus="getMouseDownStatusOfProgressBar" v-on:getMouseDownStatus="getMouseDownStatusOfProgressBar"
@@ -318,6 +319,17 @@ export default {
} }
setInterval(() => { setInterval(() => {
//console.log('this.currentProgress::',this.currentProgress,this.isDrag,this.videoDom.currentTime , this.videoDom.duration)
// 视频播放时本地记录视频实时播放时长,视频设置了禁止拖动时执行
if(!this.isDrag){
var time = localStorage.getItem('videoProgressData')
var arr = time&&JSON.parse(time) || {}
if(arr[this.blobId] < this.currentProgress || !arr[this.blobId]){
arr[this.blobId] = parseFloat((this.currentProgress).toFixed(8))
if(arr[this.blobId]) localStorage.setItem('videoProgressData',JSON.stringify(arr))
}
}
// 定时更新进度条 // 定时更新进度条
if (this.isPlaying && !this.isMousedownProgress) { if (this.isPlaying && !this.isMousedownProgress) {
this.currentProgress = this.videoDom.currentTime / this.videoDom.duration; this.currentProgress = this.videoDom.currentTime / this.videoDom.duration;
@@ -391,11 +403,13 @@ export default {
//当视频由于需要缓冲下一帧而停止,解决一直计时的问题 //当视频由于需要缓冲下一帧而停止,解决一直计时的问题
onWaiting(){ onWaiting(){
console.log('触发了onWairing'); console.log('触发了onWairing');
this.isShowLoading = true
this.$emit('onPlayerPause', {}) this.$emit('onPlayerPause', {})
}, },
//当音频/视频在已因缓冲而暂停或停止后已就绪时 //当音频/视频在已因缓冲而暂停或停止后已就绪时
onPlaying(){ onPlaying(){
console.log('触发缓存结束onPlaying'); console.log('触发缓存结束onPlaying');
this.isShowLoading = false
if(this.videoDom.paused){ if(this.videoDom.paused){
this.$emit('onPlayerPause', {}) this.$emit('onPlayerPause', {})
}else{ }else{

View File

@@ -391,7 +391,7 @@ export default {
timedOut = true; timedOut = true;
xmlhttp.abort(); xmlhttp.abort();
}, 5000); }, 5000);
xmlhttp.open("HEAD", window.location.protocol + "//uapi.boe.com.cn", true); xmlhttp.open("HEAD", window.location.protocol + "//uapi.boe.com.cn/500.html", true);
xmlhttp.send(); xmlhttp.send();
xmlhttp.onreadystatechange = function () { xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4) { if (xmlhttp.readyState == 4) {