| 
					
				 | 
			
			
				@@ -19,8 +19,8 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class="danmu-box"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <p>{{lessonInfo.play_info.cur_play_user_count}}人正在观看 {{lessonInfo.play_info.barrage_count}}条弹幕</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <svg-icon icon-class="danmu" :class="[isDanmu?'active':'','icon-danmu']" @click="handleChangeIsDanmu"></svg-icon> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <el-input v-model="danmuValue" placeholder="输入弹幕"></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <a @click="sendMsg">发送弹幕</a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-input v-model="danmuValue" :readonly="!isDanmu" placeholder="输入弹幕" @blur="danmuValue=danmuValue.trim()"></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <a @click="sendMsg" :class="[isDanmu?'active':'not-active',]">发送弹幕</a> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class="mian-left-center"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="mian-left-center-left"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -109,6 +109,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         play_total_count: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        timer: null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //计算属性 类似于data概念 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -130,6 +131,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (this.danmuValue) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 发送弹幕消息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.commontSet(this.danmuValue) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.addBarrage(this.player._currentTime,this.danmuValue) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.danmuValue = null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -139,7 +141,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           id: 'chat' + this.danmuID++, //弹幕id,需唯一 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           txt: value, // 弹幕文字内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           style: { // 弹幕自定义样式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            color: 'red', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            color: '#f6f6f6', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             fontSize: '20px', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             borderRadius: '50px', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             padding: '5px 11px', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -147,6 +149,18 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 发送弹幕接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addBarrage(time,text){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let MethodName = "/CourseServer/Client/ReadingManager/AddBarrage_LBCourseCSItemVideo"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let data = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cs_item_id: this.lessonCatalog[this.lessonIndex].id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            time_point: time, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            text: text 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getLogin(MethodName, data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .then(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 开启/关闭弹幕 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     handleChangeIsDanmu(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let _this = this 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -154,8 +168,10 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(_this.isDanmu){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _this.player.danmu.start() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _this.commontSet('弹幕大军即将来袭~') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.getBarrageList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _this.player.danmu.stop() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            clearInterval(this.timer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 切换infotabs 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -246,37 +262,8 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     plugins: [Danmu], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     danmu: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         panel: false, // 弹幕面板 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        comments: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            duration: 15000, // 弹幕持续显示时间,毫秒(最低为5000毫秒) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            id: 1, //弹幕id,需唯一 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            prior: false, // 弹幕优先显示,默认false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            color: false, // 彩色弹幕,默认false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            txt: 'item.text', // 弹幕文字内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            style: { // 弹幕自定义样式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            color: 'red', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            fontSize: '20px', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            borderRadius: '50px', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            padding: '5px 11px', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            backgroundColor: 'rgba(255, 255, 255, 0.1)', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            duration: 15000, // 弹幕持续显示时间,毫秒(最低为5000毫秒) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            id: 2, //弹幕id,需唯一 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            prior: false, // 弹幕优先显示,默认false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            color: true, // 彩色弹幕,默认false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            txt: '222222222', // 弹幕文字内容 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            style: { // 弹幕自定义样式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            color: 'red', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            fontSize: '20px', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            borderRadius: '50px', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            padding: '5px 11px', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            backgroundColor: 'rgba(255, 255, 255, 0.1)', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    closeDefaultBtn: true, //开启此项后不使用默认提供的弹幕开关,默认使用西瓜播放器提供的开关 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        comments: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        closeDefaultBtn: true, //开启此项后不使用默认提供的弹幕开关,默认使用西瓜播放器提供的开关 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.player.once('play',()=>{ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -285,6 +272,10 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.player.on('replay',()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     this.addPlayRecord() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.player.on('ended',()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    clearInterval(this.timer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.getBarrageList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         .catch(() => { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -301,7 +292,37 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         .then(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 获取弹幕列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getBarrageList(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.timer = setInterval(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(!this.player.paused){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.getBarrage() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 5000); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 获取弹幕列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getBarrage(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let MethodName = "/CourseServer/Client/ReadingManager/GetBarrageList_LBCourseCSItemVideo"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let currentTime = this.player._currentTime 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let data = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cs_item_id: this.lessonCatalog[this.lessonIndex].id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            begin_time_point: currentTime, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            end_time_point: currentTime+5, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            top_n: 100 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getLogin(MethodName, data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .then((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(res.status===1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let time = 5000/res.barrage_list.length 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                res.barrage_list.forEach((item,index)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        this.commontSet(item) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }, currentTime+time*index); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //生命周期 - 创建完成(可以访问当前this实例) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   created() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -487,7 +508,10 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         border: 1px solid #165DFF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         background: #165DFF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         border-radius: 0px 2px 2px 0px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        &.not-active{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cursor: not-allowed; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            opacity: 0.5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   .mian-left-center{ 
			 |