MSI\liwei преди 7 години
родител
ревизия
fd1ed449dd
променени са 26 файла, в които са добавени 1765 реда и са изтрити 2387 реда
  1. BIN
      VisualInspection/images/logo_name1.png
  2. BIN
      VisualInspection/images/logo_name2.png
  3. 1 1
      VisualInspection/index.html
  4. 14 14
      VisualInspection/js/config.js
  5. 73 0
      VisualInspection/js/lib/ckplayer/ckplayer/ckplayer.js
  6. 73 0
      VisualInspection/js/lib/ckplayer/ckplayer/ckplayer.min.js
  7. BIN
      VisualInspection/js/lib/ckplayer/ckplayer/ckplayer.swf
  8. 71 0
      VisualInspection/js/lib/ckplayer/ckplayer/ckplayer.xml
  9. 44 0
      VisualInspection/js/lib/ckplayer/ckplayer/language.xml
  10. 111 0
      VisualInspection/js/lib/ckplayer/ckplayer/style.xml
  11. 4 0
      VisualInspection/js/lib/ckplayer/crossdomain.xml
  12. 33 0
      VisualInspection/js/lib/ckplayer/definition.html
  13. 31 0
      VisualInspection/js/lib/ckplayer/flashplayer.html
  14. 15 0
      VisualInspection/js/lib/ckplayer/iframe.html
  15. 561 0
      VisualInspection/js/lib/ckplayer/index.html
  16. BIN
      VisualInspection/js/lib/ckplayer/material/logo.png
  17. BIN
      VisualInspection/js/lib/ckplayer/material/mydream_en1800_1010_01.png
  18. BIN
      VisualInspection/js/lib/ckplayer/material/mydream_en1800_1010_02.png
  19. BIN
      VisualInspection/js/lib/ckplayer/material/poster.jpg
  20. 16 0
      VisualInspection/js/lib/ckplayer/material/srt.srt
  21. 93 94
      VisualInspection/js/mytask/check.js
  22. 41 0
      VisualInspection/js/util/service.js
  23. 1 0
      VisualInspection/view/main.html
  24. 15 37
      VisualInspection/view/mytask/check.html
  25. 8 6
      VisualInspection_server/src/main/resources/application.properties
  26. 560 2235
      VisualInspection_server/visual/visual.log

BIN
VisualInspection/images/logo_name1.png


BIN
VisualInspection/images/logo_name2.png


+ 1 - 1
VisualInspection/index.html

@@ -3,7 +3,7 @@
 
 <head>
     <meta charset="utf-8">
-    <title>沿海高速视频稽查系统</title>
+    <title>宁靖盐高速视频稽查系统</title>
     <link rel="stylesheet" type="text/css" href="css/style.css">
 
 </head>

+ 14 - 14
VisualInspection/js/config.js

@@ -13,8 +13,8 @@ function getCurrentaddr() {
 }
 
 function getserveraddr() {
-    if (base_ui_url.indexOf("file_yanhai.jsxt.jsjtyxt.com") != -1) {
-        return "http://server_yanhai.jsxt.jsjtyxt.com/";
+    if (base_ui_url.indexOf("njy.xt.wenhq.top") != -1) {
+        return "http://njyb.xt.wenhq.top:8083/";
     } else if (base_ui_url.indexOf("file_release_yanhai") != -1) {
         return "http://server_release_yanhai.jsxt.jsjtyxt.com/";
     } else if (base_ui_url.indexOf("localhost") != -1) {
@@ -22,35 +22,35 @@ function getserveraddr() {
         return "http://localhost:8089/"
     } else if (base_ui_url.indexOf("192.168.8.236") != -1) {
         return "http://192.168.8.236:8089/"
-    } else {
-        return "http://10.112.0.199:8089/"
+    } else if (base_ui_url.indexOf("200.200.19.126") != -1) {
+        return "http://200.200.19.126:8089/"
     }
 }
 
 function getImageaddr() {
-    if (base_ui_url.indexOf("file_yanhai.jsxt.jsjtyxt.com") != -1) {
-        return "http://file_release_yanhai.jsxt.jsjtyxt.com/";
+    if (base_ui_url.indexOf("njy.xt.wenhq.top") != -1) {
+        return "http://njy.xt.wenhq.top:8083/";
     } else if (base_ui_url.indexOf("file_release_yanhai") != -1) {
         return "http://file_release_yanhai.jsxt.jsjtyxt.com/";
     } else if (base_ui_url.indexOf("localhost") != -1) {
         // return "http://10.112.0.199:7000/"
-        return "http://file_release_yanhai.jsxt.jsjtyxt.com/";
+        return "http://200.200.19.126:8080/";
     } else if (base_ui_url.indexOf("192.168.8.236") != -1) {
         return "http://192.168.8.236/"
-    } else {
-        return "http://10.112.0.199/"
+    } else if(base_ui_url.indexOf("200.200.19.126") != -1){
+        return "http://200.200.19.126:8080/"
     }
 }
 
 function getTaskaddr() {
-    if (base_ui_url.indexOf("jsjtyxt.com") != -1) {
-        return "http://task_yanhai.jsxt.jsjtyxt.com/";
+    if (base_ui_url.indexOf("http://njy.xt.wenhq.top") != -1) {
+        return "http://njyt.xt.wenhq.top:8083/";
     } else if (base_ui_url.indexOf("localhost") != -1) {
         // return "http://10.112.0.199:8099/"
-        return "http://localhost:8099/"
+        return "http://localhost:8100/"
     } else if (base_ui_url.indexOf("192.168.8.236") != -1) {
         return "http://192.168.8.236:8099/"
-    } else {
-        return "http://10.112.0.199:8099/"
+    } else if(base_ui_url.indexOf("200.200.19.126") != -1){
+        return "http://200.200.19.126:8100/"
     }
 }

Файловите разлики са ограничени, защото са твърде много
+ 73 - 0
VisualInspection/js/lib/ckplayer/ckplayer/ckplayer.js


Файловите разлики са ограничени, защото са твърде много
+ 73 - 0
VisualInspection/js/lib/ckplayer/ckplayer/ckplayer.min.js


BIN
VisualInspection/js/lib/ckplayer/ckplayer/ckplayer.swf


Файловите разлики са ограничени, защото са твърде много
+ 71 - 0
VisualInspection/js/lib/ckplayer/ckplayer/ckplayer.xml


+ 44 - 0
VisualInspection/js/lib/ckplayer/ckplayer/language.xml

@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+	<language>
+		<adCountdown>[$second]</adCountdown><!--广告播放结束倒计时-->
+		<skipDelay>[$second]</skipDelay>
+		<buttonOver>
+			<play>点击播放</play>
+			<pause>暂停播放</pause>
+			<mute>静音</mute>
+			<escMute>恢复音量</escMute>
+			<full>全屏</full>
+			<escFull>退出全屏</escFull>
+			<previousPage>上一集</previousPage>
+			<nextPage>下一集</nextPage>
+			<definition>点击选择清晰度</definition>
+		</buttonOver>
+		<volumeSliderOver>
+			音量:[$volume]%
+		</volumeSliderOver>
+		<buffer>[$percentage]%</buffer>
+		<timeSliderOver><!--鼠标经过进度条显示的时间格式-->
+			[$timeh]:[$timei]:[$times]
+		</timeSliderOver>
+		<liveAndVod>
+			[$timeh]:[$timei]:[$times]
+		</liveAndVod>
+		<live>
+			直播中 [$liveTimeY]-[$liveTimem]-[$liveTimed] [$liveTimeh]:[$liveTimei]:[$liveTimes]
+		</live>
+		<m3u8Definition>
+			<name>流畅</name>
+			<name>低清</name>
+			<name>标清</name>
+			<name>高清</name>
+			<name>超清</name>
+			<name>蓝光</name>
+			<name>未知</name>
+		</m3u8Definition>
+		<error>
+			<cannotFindUrl>视频地址不存在</cannotFindUrl>
+			<streamNotFound>加载失败</streamNotFound>
+			<formatError>视频格式错误</formatError>
+		</error>
+		<definition>自动</definition>
+	</language>

Файловите разлики са ограничени, защото са твърде много
+ 111 - 0
VisualInspection/js/lib/ckplayer/ckplayer/style.xml


+ 4 - 0
VisualInspection/js/lib/ckplayer/crossdomain.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<cross-domain-policy> 
+	<allow-access-from domain="*"/>  
+</cross-domain-policy> 

+ 33 - 0
VisualInspection/js/lib/ckplayer/definition.html

@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="UTF-8">
+		<title>ckplayer</title>
+		
+		<style type="text/css">body{margin:0;padding:0px;font-family:"Microsoft YaHei",YaHei,"微软雅黑",SimHei,"黑体";font-size:14px}</style>
+
+	</head>
+
+	<body>
+		<script type="text/javascript" src="ckplayer/ckplayer.js"></script>
+		<div id="video" style="width: 100%; height: 400px;"></div>
+		<script type="text/javascript">
+			var videoObject = {
+				container: '#video', //容器的ID或className
+				variable: 'player',//播放函数名称
+				poster:'material/poster.jpg',//封面图片
+				//flashplayer:true,
+				video: [//视频地址列表形式
+					['http://img.ksbbs.com/asset/Mon_1703/05cacb4e02f9d9e.mp4', 'video/mp4', '中文标清', 0],
+					['http://img.ksbbs.com/asset/Mon_1703/d0897b4e9ddd9a5.mp4', 'video/mp4', '中文高清', 0],
+					['http://img.ksbbs.com/asset/Mon_1703/eb048d7839442d0.mp4', 'video/mp4', '英文高清', 10],
+					['http://img.ksbbs.com/asset/Mon_1703/d30e02a5626c066.mp4', 'video/mp4', '英文超清', 0],
+				]
+			};
+			var player = new ckplayer(videoObject);
+		</script>
+		<div id="aa"></div>
+	</body>
+
+</html>

+ 31 - 0
VisualInspection/js/lib/ckplayer/flashplayer.html

@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="UTF-8">
+		<title>ckplayer</title>
+		<script type="text/javascript" src="ckplayer/ckplayer.js"></script>
+		<style type="text/css">body{margin:0;padding:0px;font-family:"Microsoft YaHei",YaHei,"微软雅黑",SimHei,"黑体";font-size:14px}</style>
+
+	</head>
+
+	<body>
+		<div id="video" style="width: 600px; height: 400px;"></div>
+		<script type="text/javascript">
+			var videoObject = {
+				container: '#video', //容器的ID或className
+				variable: 'player',//播放函数名称
+				flashplayer:true,
+				poster:'material/poster.jpg',//封面图片
+				video: [//视频地址列表形式
+					['http://img.ksbbs.com/asset/Mon_1703/05cacb4e02f9d9e.mp4', 'video/mp4', '中文标清', 0],
+					['http://img.ksbbs.com/asset/Mon_1703/d0897b4e9ddd9a5.mp4', 'video/mp4', '中文高清', 0],
+					['http://img.ksbbs.com/asset/Mon_1703/eb048d7839442d0.mp4', 'video/mp4', '英文高清', 10],
+					['http://img.ksbbs.com/asset/Mon_1703/d30e02a5626c066.mp4', 'video/mp4', '英文超清', 0],
+				]
+			};
+			var player = new ckplayer(videoObject);
+		</script>
+	</body>
+
+</html>

+ 15 - 0
VisualInspection/js/lib/ckplayer/iframe.html

@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="UTF-8">
+		<title>ckplayer</title>
+		<style type="text/css">body{margin:0;padding:0px;font-family:"Microsoft YaHei",YaHei,"微软雅黑",SimHei,"黑体";font-size:14px}</style>
+
+	</head>
+
+	<body>
+		<iframe src="definition.html" height="500" width="600" frameborder="0" allowfullscreen></iframe>
+	</body>
+
+</html>

+ 561 - 0
VisualInspection/js/lib/ckplayer/index.html

@@ -0,0 +1,561 @@
+<!DOCTYPE html>
+<html>
+
+	<head>
+		<meta charset="UTF-8">
+		<title>ckplayer</title>
+		<script type="text/javascript" src="ckplayer/ckplayer.js" charset="UTF-8"></script>
+		<style type="text/css">
+			body {
+				margin: 0;
+				padding: 0px;
+				font-family: "Microsoft YaHei", YaHei, "微软雅黑", SimHei, "黑体";
+				font-size: 14px
+			}
+		</style>
+
+	</head>
+
+	<body>
+		<div id="video" style="width: 600px; height: 400px;"></div>
+		<script type="text/javascript">
+			var videoObject = {
+				//playerID:'ckplayer01',//播放器ID,第一个字符不能是数字,用来在使用多个播放器时监听到的函数将在所有参数最后添加一个参数用来获取播放器的内容
+				container: '#video', //容器的ID或className
+				variable: 'player', //播放函数名称
+				loaded: 'loadedHandler', //当播放器加载后执行的函数
+				loop: true, //播放结束是否循环播放
+				//autoplay: true, //是否自动播放
+				//duration: 500, //设置视频总时间
+				cktrack: 'material/srt.srt', //字幕文件
+				poster: 'material/poster.jpg', //封面图片
+				preview: { //预览图片
+					file: ['material/mydream_en1800_1010_01.png', 'material/mydream_en1800_1010_02.png'],
+					scale: 2
+				},
+				config: '', //指定配置函数
+				debug: true, //是否开启调试模式
+				//flashplayer: true, //强制使用flashplayer
+				drag: 'start', //拖动的属性
+				seek: 0, //默认跳转的时间
+				//playbackrate:1,//默认速度的编号,只对html5有效,设置成-1则不显示倍速
+				//advertisements:'website:ad.json',
+				//front:'frontFun',//上一集的操作函数
+				//next:'nextFun',//下一集的操作函数
+				//广告部分开始
+				adfront: 'http://www.ckplayer.com/yytf/swf/front001.swf,http://www.ckplayer.com/yytf/swf/front002.swf', //前置广告
+				adfronttime: '15,15',
+				adfrontlink: '',
+				adpause: 'http://www.ckplayer.com/yytf/swf/pause001.swf,http://www.ckplayer.com/yytf/swf/pause002.swf',
+				adpausetime: '5,5',
+				adpauselink: '',
+				adinsert: 'http://www.ckplayer.com/yytf/swf/insert001.swf,http://www.ckplayer.com/yytf/swf/insert002.swf',
+				adinserttime: '10,10',
+				adinsertlink: '',
+				inserttime: '10,80',
+				adend: 'http://www.ckplayer.com/yytf/swf/end001.swf,http://www.ckplayer.com/yytf/swf/end002.swf',
+				adendtime: '15,15',
+				adendlink: '',
+				//广告部分结束
+				promptSpot: [ //提示点
+					{
+						words: '提示点文字01',
+						time: 30
+					},
+					{
+						words: '提示点文字02',
+						time: 150
+					}
+				],
+				//mobileCkControls:true,//是否在移动端(包括ios)环境中显示控制栏
+				//live:true,//是否是直播视频,true=直播,false=点播
+				video: [
+			        ['http://img.ksbbs.com/asset/Mon_1703/05cacb4e02f9d9e.mp4', 'video/mp4', '中文标清', 0],
+			        ['http://img.ksbbs.com/asset/Mon_1703/d0897b4e9ddd9a5.mp4', 'video/mp4', '中文高清', 0],
+			        ['http://img.ksbbs.com/asset/Mon_1703/eb048d7839442d0.mp4', 'video/mp4', '英文高清', 10],
+			        ['http://img.ksbbs.com/asset/Mon_1703/d30e02a5626c066.mp4', 'video/mp4', '英文超清', 0]
+			    ]
+			};
+			var player = new ckplayer(videoObject);
+			function loadedHandler() {
+				player.addListener('error', errorHandler); //监听视频加载出错
+				player.addListener('loadedmetadata', loadedMetaDataHandler); //监听元数据
+				player.addListener('duration', durationHandler); //监听播放时间
+				player.addListener('time', timeHandler); //监听播放时间
+				player.addListener('play', playHandler); //监听暂停播放
+				player.addListener('pause', pauseHandler); //监听暂停播放
+				player.addListener('buffer', bufferHandler); //监听缓冲状态
+				player.addListener('seek', seekHandler); //监听跳转播放完成
+				player.addListener('seekTime', seekTimeHandler); //监听跳转播放完成
+				player.addListener('volume', volumeChangeHandler); //监听音量改变
+				player.addListener('full', fullHandler); //监听全屏/非全屏切换
+				player.addListener('ended', endedHandler); //监听播放结束
+				player.addListener('screenshot', screenshotHandler); //监听截图功能
+				player.addListener('mouse', mouseHandler); //监听鼠标坐标
+				player.addListener('frontAd', frontAdHandler); //监听前置广告的动作
+				player.addListener('wheel', wheelHandler); //监听视频放大缩小
+				player.addListener('controlBar', controlBarHandler); //监听控制栏显示隐藏事件
+				player.addListener('clickEvent', clickEventHandler); //监听点击事件
+				player.addListener('definitionChange', definitionChangeHandler); //监听清晰度切换事件
+				player.addListener('speed', speedHandler); //监听加载速度
+			}
+			function errorHandler() {
+				console.log('出错')
+				changeText('.playerstate', '状态:视频加载错误,停止执行其它动作,等待其它操作');
+			}
+
+			function loadedMetaDataHandler() {
+				var metaData = player.getMetaDate();
+				//console.log(metaData)
+				var html = ''
+				//console.log(metaData);
+				if(parseInt(metaData['videoWidth']) > 0) {
+					changeText('.playerstate', '状态:获取到元数据信息,如果数据错误,可以使用延迟获取');
+					html += '总时间:' + metaData['duration'] + '秒,';
+					html += '音量:' + metaData['volume'] + '(范围0-1),';
+					html += '播放器的宽度:' + metaData['width'] + 'px,';
+					html += '播放器的高度:' + metaData['height'] + 'px,';
+					html += '视频宽度:' + metaData['videoWidth'] + 'px,';
+					html += '视频高度:' + metaData['videoHeight'] + 'px,';
+					html += '视频原始宽度:' + metaData['streamWidth'] + 'px,';
+					html += '视频原始高度:' + metaData['streamHeight'] + 'px,';
+					html += '是否暂停状态:' + metaData['paused'];
+				} else {
+					changeText('.playerstate', '状态:未正确获取到元数据信息');
+					html = '没有获取到元数据';
+				}
+				changeText('.metadata', html);
+			}
+			function playHandler() {
+				//player.animateResume();//继续播放所有弹幕
+				changeText('.playstate', getHtml('.playstate') + ' 播放');
+				window.setTimeout(function() {
+					loadedMetaDataHandler();
+				}, 1000);
+				loadedMetaDataHandler();
+			}
+
+			function pauseHandler() {
+				//player.animatePause();//暂停所有弹幕
+				changeText('.playstate', getHtml('.playstate') + ' 暂停');
+				loadedMetaDataHandler();
+			}
+
+			function timeHandler(time) {
+				changeText('.currenttimestate', '当前播放时间(秒):' + time);
+			}
+
+			function durationHandler(duration) {
+				changeText('.duration', '总时间(秒):' + duration);
+			}
+
+			function seekHandler(state) {
+				changeText('.seekstate', getHtml('.seekstate') + ' ' + state);
+			}
+
+			function seekTimeHandler(time) {
+				changeText('.seekstate', getHtml('.seekstate') + ' seekTime:' + time);
+			}
+
+			function bufferHandler(buffer) {
+				//console.log(buffer);
+				changeText('.bufferstate', '缓冲:' + buffer);
+			}
+
+			function volumeChangeHandler(vol) {
+				changeText('.volumechangestate', '当前音量:' + vol);
+			}
+			function speedHandler(n) {
+				changeText('.speed', '当前加载速率:' + n);
+			}
+			function screenshotHandler(obj) {
+				changeText('.screenshot', '图片名称:' + obj['name'] + ',截图对象:' + obj['object'] + ',是否用户保存:' + obj['save'] + ',图片:<img src="' + obj['base64'] + '">');
+			}
+
+			function fullHandler(b) {
+				if(b) {
+					html = ' 全屏';
+				} else {
+					html = ' 否';
+				}
+				changeText('.fullstate', getHtml('.fullstate') + html);
+				
+			}
+
+			function endedHandler() {
+				changeText('.endedstate', '播放结束');
+			}
+
+			function mouseHandler(obj) {
+				changeText('.mouse', '鼠标位置,x:' + obj['x'] + ',y:' + obj['y']);
+			}
+
+			function frontAdHandler(status) {
+				changeText('.frontad', getHtml('.frontad') + ' ' + status);
+			}
+			var zoomNow = 1;
+
+			function wheelHandler(n) {
+				if(n > 0) {
+					if(zoomNow < 5) {
+						zoomNow += 0.1;
+					}
+				} else {
+					if(zoomNow > 0) {
+						zoomNow -= 0.1;
+					}
+				}
+				player.videoZoom(zoomNow);//支持鼠标滚轮控制放大缩小
+			}
+			function controlBarHandler(show){
+				if(show) {
+					html = ' 显示';
+				} else {
+					html = ' 隐藏';
+				}
+				changeText('.controlBar', getHtml('.controlBar') + html);
+			}
+			function clickEventHandler(eve){
+				changeText('.clickEvent', getHtml('.clickEvent') + ' '+eve);
+			}
+			function definitionChangeHandler(num){
+				changeText('.definitionChange', getHtml('.definitionChange') + ',切换清晰度编号'+num);
+			}
+			var videoChangeNum = 0;
+
+			function seekTime() {
+				var time = parseInt(player.getByElement('.seektime').value);
+				var metaData = player.getMetaDate();
+				var duration = metaData['duration'];
+				if(time < 0) {
+					alert('请填写大于0的数字');
+					return;
+				}
+				if(time > duration) {
+					alert('请填写小于' + duration + '的数字');
+					return;
+				}
+				player.videoSeek(time);
+			}
+
+			function changeVolume() {
+				var volume = player.getByElement('.changevolume').value;
+				volume = Math.floor(volume * 100) / 100
+				if(volume < 0) {
+					alert('请填写大于0的数字');
+					return;
+				}
+				if(volume > 1) {
+					alert('请填写小于1的数字');
+					return;
+				}
+				player.changeVolume(volume);
+			}
+
+			function changeSize() {
+				player.changeSize(w, h)
+			}
+
+			function frontFun() {
+				alert('点击了前一集');
+			}
+
+			function nextFun() {
+				alert('点击了下一集');
+			}
+
+			function adjump() {
+				alert('点击了跳过广告按钮');
+			}
+
+			function newVideo() {
+				var videoUrl = player.getByElement('.videourl').value;
+				changeVideo(videoUrl);
+			}
+
+			function newVideo2() {
+				var videoUrl = player.getByElement('.videourl2').value;
+				changeVideo(videoUrl);
+			}
+
+			function changeVideo(videoUrl) {
+				if(player == null) {
+					return;
+				}
+
+				var newVideoObject = {
+					container: '#video', //容器的ID
+					variable: 'player',
+					autoplay: true, //是否自动播放
+					loaded: 'loadedHandler', //当播放器加载后执行的函数
+					video: videoUrl
+				}
+				//判断是需要重新加载播放器还是直接换新地址
+
+				if(player.playerType == 'html5video') {
+					if(player.getFileExt(videoUrl) == '.flv' || player.getFileExt(videoUrl) == '.m3u8' || player.getFileExt(videoUrl) == '.f4v' || videoUrl.substr(0, 4) == 'rtmp') {
+						player.removeChild();
+
+						player = null;
+						player = new ckplayer();
+						player.embed(newVideoObject);
+					} else {
+						player.newVideo(newVideoObject);
+					}
+				} else {
+					if(player.getFileExt(videoUrl) == '.mp4' || player.getFileExt(videoUrl) == '.webm' || player.getFileExt(videoUrl) == '.ogg') {
+						player = null;
+						player = new ckplayer();
+						player.embed(newVideoObject);
+					} else {
+						player.newVideo(newVideoObject);
+					}
+				}
+			}
+			var elementTemp = null; //保存元件
+			function newElement() {
+				if(elementTemp != null) {
+					alert('为了演示的简单性,本实例只能建立一个元件');
+					return;
+				}
+				var attribute = {
+					list: [ //list=定义元素列表
+						{
+							type: 'png', //定义元素类型:只有二种类型,image=使用图片,text=文本
+							file: 'material/logo.png', //图片地址
+							radius: 30, //图片圆角弧度
+							width: 30, //定义图片宽,必需要定义
+							height: 30, //定义图片高,必需要定义
+							alpha: 0.9, //图片透明度(0-1)
+							marginLeft: 10, //图片离左边的距离
+							marginRight: 10, //图片离右边的距离
+							marginTop: 10, //图片离上边的距离
+							marginBottom: 10, //图片离下边的距离
+							clickEvent: "link->http://www.ckplayer.com"
+						}, {
+							type: 'text', //说明是文本
+							text: '演示弹幕内容,弹幕只支持普通文本,不支持HTML', //文本内容
+							color: '0xFFDD00', //文本颜色
+							size: 14, //文本字体大小,单位:px
+							font: '"Microsoft YaHei", YaHei, "微软雅黑", SimHei,"\5FAE\8F6F\96C5\9ED1", "黑体",Arial', //文本字体
+							leading: 30, //文字行距
+							alpha: 1, //文本透明度(0-1)
+							paddingLeft: 10, //文本内左边距离
+							paddingRight: 10, //文本内右边距离
+							paddingTop: 0, //文本内上边的距离
+							paddingBottom: 0, //文本内下边的距离
+							marginLeft: 0, //文本离左边的距离
+							marginRight: 10, //文本离右边的距离
+							marginTop: 10, //文本离上边的距离
+							marginBottom: 0, //文本离下边的距离
+							backgroundColor: '0xFF0000', //文本的背景颜色
+							backAlpha: 0.5, //文本的背景透明度(0-1)
+							backRadius: 30, //文本的背景圆角弧度
+							clickEvent: "actionScript->videoPlay"
+						}
+					],
+					x: 10, //元件x轴坐标,注意,如果定义了position就没有必要定义x,y的值了,x,y支持数字和百分比,使用百分比时请使用单引号,比如'50%'
+					y: 50, //元件y轴坐标
+					//position:[1,1],//位置[x轴对齐方式(0=左,1=中,2=右),y轴对齐方式(0=上,1=中,2=下),x轴偏移量(不填写或null则自动判断,第一个值为0=紧贴左边,1=中间对齐,2=贴合右边),y轴偏移量(不填写或null则自动判断,0=紧贴上方,1=中间对齐,2=紧贴下方)]
+					alpha: 1, //元件的透明度
+					backgroundColor: '0xFFDD00', //元件的背景色
+					backAlpha: 0.5, //元件的背景透明度(0-1)
+					backRadius: 60, //元件的背景圆角弧度
+					clickEvent: "actionScript->videoPlay"
+				}
+				elementTemp = player.addElement(attribute);
+			}
+
+			function deleteElement() {
+				if(elementTemp != null) {
+					player.deleteElement(elementTemp);
+					elementTemp = null;
+				} else {
+					alert('演示删除元件需要先添加');
+				}
+			}
+
+			function newDanmu() {
+				//弹幕说明
+
+				var danmuObj = {
+					list: [{
+						type: 'image', //定义元素类型:只有二种类型,image=使用图片,text=文本
+						file: 'material/logo.png', //图片地址
+						radius: 30, //图片圆角弧度
+						width: 30, //定义图片宽,必需要定义
+						height: 30, //定义图片高,必需要定义
+						alpha: 0.9, //图片透明度(0-1)
+						marginLeft: 10, //图片离左边的距离
+						marginRight: 10, //图片离右边的距离
+						marginTop: 10, //图片离上边的距离
+						marginBottom: 10, //图片离下边的距离
+						clickEvent: "link->http://"
+					}, {
+						type: 'text', //说明是文本
+						text: '演示弹幕内容,弹幕只支持普通文本,不支持HTML', //文本内容
+						color: '0xFFDD00', //文本颜色
+						size: 14, //文本字体大小,单位:px
+						font: '"Microsoft YaHei", YaHei, "微软雅黑", SimHei,"\5FAE\8F6F\96C5\9ED1", "黑体",Arial', //文本字体
+						leading: 30, //文字行距
+						alpha: 1, //文本透明度(0-1)
+						paddingLeft: 10, //文本内左边距离
+						paddingRight: 10, //文本内右边距离
+						paddingTop: 0, //文本内上边的距离
+						paddingBottom: 0, //文本内下边的距离
+						marginLeft: 0, //文本离左边的距离
+						marginRight: 10, //文本离右边的距离
+						marginTop: 10, //文本离上边的距离
+						marginBottom: 0, //文本离下边的距离
+						backgroundColor: '0xFF0000', //文本的背景颜色
+						backAlpha: 0.5, //文本的背景透明度(0-1)
+						backRadius: 30, //文本的背景圆角弧度
+						clickEvent: "actionScript->videoPlay"
+					}],
+					x: '100%', //x轴坐标
+					y: "50%", //y轴坐标
+					//position:[2,1,0],//位置[x轴对齐方式(0=左,1=中,2=右),y轴对齐方式(0=上,1=中,2=下),x轴偏移量(不填写或null则自动判断,第一个值为0=紧贴左边,1=中间对齐,2=贴合右边),y轴偏移量(不填写或null则自动判断,0=紧贴上方,1=中间对齐,2=紧贴下方)]
+					alpha: 1,
+					//backgroundColor:'#FFFFFF',
+					backAlpha: 0.8,
+					backRadius: 30 //背景圆角弧度
+				}
+				var danmu = player.addElement(danmuObj);
+				var danmuS = player.getElement(danmu);
+				var obj = {
+					element: danmu,
+					parameter: 'x',
+					static: true, //是否禁止其它属性,true=是,即当x(y)(alpha)变化时,y(x)(x,y)在播放器尺寸变化时不允许变化
+					effect: 'None.easeOut',
+					start: null,
+					end: -danmuS['width'],
+					speed: 10,
+					overStop: true,
+					pauseStop: true,
+					callBack: 'deleteChild'
+				};
+				var danmuAnimate = player.animate(obj);
+			}
+
+			function deleteChild(ele) {
+				if(player) {
+					player.deleteElement(ele);
+				}
+			}
+
+			function changeText(div, text) {
+				player.getByElement(div).innerHTML = text;
+			}
+
+			function getHtml(div) {
+				return player.getByElement(div).innerHTML;
+			}
+			var zoom = 1;
+		</script>
+		<p>
+			<a href="http://www.ckplayer.com/" target="_blank">官网:http://www.ckplayer.com</a>,版本号:X</p>
+		<p>以下仅列出部分功能,全部功能请至官网
+			<a href="http://www.ckplayer.com/manualX/" target="_blank">《手册》</a>查看</p>
+		<p>
+			<button type="button" onclick="player.videoPlay()">播放</button>
+			<button type="button" onclick="player.videoPause()">暂停</button>
+			<button type="button" onclick="player.playOrPause()">播放/暂停</button>
+			<button type="button" onclick="player.videoMute()">静音</button>
+			<button type="button" onclick="player.videoEscMute()">取消静音</button>
+			<button type="button" onclick="player.videoClear()">清除视频(仅flashplayer)</button>
+			<button type="button" onclick="loadedMetaDataHandler()">获取元数据</button>
+			<button type="button" onclick="newElement()">添加元件</button>
+			<button type="button" onclick="deleteElement()">删除元件</button>
+			<button type="button" onclick="newDanmu()">添加弹幕</button>
+			<button type="button" onclick="player.screenshot('video',false,'视频截图')">视频截图(需要视频权限)</button>
+			<button type="button" onclick="player.screenshot('player',false,'播放器截图')">播放器截图(需要视频权限)</button>
+		</p>
+		<p>
+			<button type="button" onclick="player.adPause()">暂停广告(仅flashplayer)</button>
+			<button type="button" onclick="player.adPlay()">继续播放广告(仅flashplayer)</button>
+			<button type="button" onclick="player.videoPlay()">关闭(结束)广告(仅flashplayer)</button>
+		</p>
+		<p>
+			<button type="button" onclick="player.changeControlBarShow(true)">显示控制栏</button>
+			<button type="button" onclick="player.changeControlBarShow(false)">隐藏控制栏</button>
+		</p>
+		<p>
+			<button type="button" onclick="player.videoRotation()">默认角度</button>
+			<button type="button" onclick="player.videoRotation(1)">顺时针旋转</button>
+			<button type="button" onclick="player.videoRotation(-1)">逆时针旋转</button>
+			<button type="button" onclick="player.videoRotation(90)">旋转90</button>
+			<button type="button" onclick="player.videoRotation(180)">旋转180</button>
+			<button type="button" onclick="player.videoRotation(270)">旋转270</button>
+			<button type="button" onclick="player.videoRotation(-90)">旋转-90</button>
+			<button type="button" onclick="player.videoRotation(-180)">旋转-180</button>
+			<button type="button" onclick="player.videoRotation(-270)">旋转-270</button>
+		</p>
+		<p>
+			<button type="button" onclick="player.videoZoom(1)">默认大小</button>
+			<button type="button" onclick="player.videoZoom(zoom+=0.1)">放大</button>
+			<button type="button" onclick="player.videoZoom(zoom-=0.1)">缩小</button>
+		</p>
+		<p>
+			<button type="button" onclick="player.changePlaybackRate(1)">默认速度(仅H5)</button>
+			<button type="button" onclick="player.changePlaybackRate(0)">0.5倍(仅H5)</button>
+			<button type="button" onclick="player.changePlaybackRate(3)">1.5倍(仅H5)</button>
+			<button type="button" onclick="player.changePlaybackRate(4)">2倍(仅H5)</button>
+			
+		</p>
+		<p>
+			<button type="button" onclick="player.changeConfig('config','timeScheduleAdjust',1)">正常拖动</button>
+			<button type="button" onclick="player.changeConfig('config','timeScheduleAdjust',0)">不能拖动</button>
+			<button type="button" onclick="player.changeConfig('config','timeScheduleAdjust',2)">只能前进(向右拖动)</button>
+			<button type="button" onclick="player.changeConfig('config','timeScheduleAdjust',3)">只能后退</button>
+			<button type="button" onclick="player.changeConfig('config','timeScheduleAdjust',4)">能回到第一次拖动时的位置</button>
+			<button type="button" onclick="player.changeConfig('config','timeScheduleAdjust',5)">看过的地方可以随意拖动</button>
+		</p>
+		<p>
+			<button type="button" onclick="player.videoProportion()">原始比例(仅flashplayer)</button>
+			<button type="button" onclick="player.videoProportion(4,3)">4:3(仅flashplayer)</button>
+			<button type="button" onclick="player.videoProportion(16,9)">16:9(仅flashplayer)</button>
+		</p>
+		<p>
+			<button type="button" onclick="player.videoBrightness(100)">调整亮度(仅flashplayer)</button>
+			<button type="button" onclick="player.videoBrightness(0)">恢复亮度(仅flashplayer)</button>
+			<button type="button" onclick="player.videoContrast(200)">调整对比度(仅flashplayer)</button>
+			<button type="button" onclick="player.videoContrast(127.5)">恢复对比度(仅flashplayer)</button>
+			<button type="button" onclick="player.videoSaturation(0)">调整饱和度(仅flashplayer)</button>
+			<button type="button" onclick="player.videoSaturation(1)">恢复饱和度(仅flashplayer)</button>
+			<button type="button" onclick="player.videoHue(-90)">调整色相(仅flashplayer)</button>
+			<button type="button" onclick="player.videoHue(0)">恢复色相(仅flashplayer)</button>
+		</p>
+		<p>
+			<input type="text" class="videourl" style="width: 500px;" placeholder="视频地址" value="http://www.flashls.org/playlists/test_001/stream_1000k_48k_640x360.m3u8">
+
+			<button type="button" onclick="newVideo()">播放</button>
+		</p>
+		<p>
+			<input type="text" class="videourl2" style="width: 500px;" placeholder="视频地址" value="http://img.ksbbs.com/asset/Mon_1703/d30e02a5626c066.mp4">
+
+			<button type="button" onclick="newVideo2()">播放</button>
+
+		</p>
+		<p class="metadata"></p>
+		<p>单独监听功能:</p>
+		<p class="handler">
+			<span class="duration"></span><br />
+			<span class="playstate">播放状态:</span><br />
+			<span class="seekstate">跳转状态:无</span><br />
+			<span class="bufferstate">缓冲:100</span><br />
+			<span class="speed">加载速率:0</span><br />
+			<span class="volumechangestate">当前音量:0.8</span><br />
+			<span class="fullstate">是否全屏:否</span><br />
+			<span class="controlBar">控制栏:显示</span><br />
+			<span class="endedstate">还未结束</span><br />
+			<span class="currenttimestate">当前播放时间(秒):0</span><br />
+			<span class="frontad">前置广告状态:</span><br />
+			<span class="mouse">鼠标位置</span><br />
+			<span class="definitionChange">切换清晰度:</span><br />
+			<span class="clickEvent">点击监听:</span><br />
+			<span class="screenshot">监听截图功能(截图功能需要视频权限)</span>
+
+		</p>
+	</body>
+
+</html>

BIN
VisualInspection/js/lib/ckplayer/material/logo.png


BIN
VisualInspection/js/lib/ckplayer/material/mydream_en1800_1010_01.png


BIN
VisualInspection/js/lib/ckplayer/material/mydream_en1800_1010_02.png


BIN
VisualInspection/js/lib/ckplayer/material/poster.jpg


+ 16 - 0
VisualInspection/js/lib/ckplayer/material/srt.srt

@@ -0,0 +1,16 @@
+1
+00:00:01,210 --> 00:00:10,400
+-=字幕效果=-
+支持多行
+
+2
+00:00:11,210 --> 00:00:30,400
+编码需要使用UTF-8
+
+3
+00:00:31,210 --> 00:01:00,400
+格式是.srt
+
+4
+00:01:01,210 --> 00:01:55,400
+感谢您对ckplayer的支持

+ 93 - 94
VisualInspection/js/mytask/check.js

@@ -1,80 +1,19 @@
 function initCheck() {
     addBreadMenu("/view/mytask/check.html", "视频稽查");
-    $('#ex1').slider({ tooltip: 'hide' });
-    $("#ex1").on("slideStop", function(slideEvt) {
-        setVideoProcess(slideEvt.value);
-    });
-
-    $("#ex1").on("change", function(sender) {
-        var width = $("#ex1").siblings(".slider").children(".slider-track").children(".slider-selection").width();
-        var total_width = $("#ex1").siblings(".slider").children(".slider-track").width();
-        var sp_width = $("#ex1_span").width();
-
-
-        var left = ((total_width - width) < (sp_width / 2.0)) ? (total_width - sp_width / 2.0 - 25) : (width - sp_width / 2.0) + 25
-        $("#ex1_span").css("left", ((left > 25 ? left : 25)) + "px")
-
-        if ($.checkTask) {
-            var time = moment($.checkTask.start_time);
-            var pos = $("#video_pos").val();
-            if ($("#full_video_pos").length > 0) {
-                pos = $("#full_video_pos").val();
-            }
-            var c_time = time.add(sender.value.newValue, "s");
-            if (/^(\+|-)?\d+($|\.\d+$)/.test(pos)) {
-                if (pos > 0) {
-                    c_time = time.add(Math.abs(pos), "s");
-                } else {
-                    c_time = time.subtract(Math.abs(pos), "s");
-                }
-            }
-
-
-            $("#ex1_span").html(c_time.format("YYYY-MM-DD HH:mm:ss"))
-        }
-    });
-
-
-
     $("#tabcontent").css("height", ($("#video_content").height() - 80) + "px");
     $("#score_datatable").css("height", ($("#video_content").height() - 120) + "px");
-    if (ISCLIENT) {
-        event = document.createEvent('MessageEvent');
-        var origin = window.location.protocol + '//' + window.location.host;
-        event.initMessageEvent('setvideoposition', true, true, getVideoPosition(null), origin, 1234, window, null);
-        document.dispatchEvent(event);
-    }
-
-
-
-    // 仅选择日期
-    $("#start-time").datetimepicker({
-        language: "zh-CN",
-        weekStart: 1,
-        todayBtn: 1,
-        autoclose: 1,
-        todayHighlight: 1,
-        startView: 2,
-        minView: 2,
-        forceParse: 0,
-        format: "yyyy-mm-dd"
-    });
-    // 仅选择日期
-    $("#end-time").datetimepicker({
-        language: "zh-CN",
-        weekStart: 1,
-        todayBtn: 1,
-        autoclose: 1,
-        todayHighlight: 1,
-        startView: 2,
-        minView: 2,
-        forceParse: 0,
-        format: "yyyy-mm-dd"
-    });
+    //设置视屏位置
+    // if (ISCLIENT) {
+    //     event = document.createEvent('MessageEvent');
+    //     var origin = window.location.protocol + '//' + window.location.host;
+    //     event.initMessageEvent('setvideoposition', true, true, getVideoPosition(null), origin, 1234, window, null);
+    //     document.dispatchEvent(event);
+    // }
     if ($.checkTask) {
+        // console.log($.checkTask);
         getUserCheckCount();
         initCheckAppealBtns();
-        // setFeSelect("#fsList", $.checkTask.checked_dept);
+
         $("#taskName").html($.checkTask.name);
         $("#ex1_span").html($.checkTask.start_time)
         $("#full_ex1_span").html($.checkTask.start_time)
@@ -82,31 +21,23 @@ function initCheck() {
         $("#lane").val($.checkTask.checked_location);
         $("#check_time").html($.checkTask.check_period);
         $("#monitor").html($.checkTask.monitor_user_name);
-        // setLaneSelect("#lane", $.checkTask.checked_location);
-        get_common_service('user/getUserById/' + $.checkTask.checked_person, null, function(data) {
-                changePersonContent(data);
-            })
-            //查询评分情况
+        //TODO 获取分数
         queryCheckScores();
-        //查询录像播放列表
-        var videos = $.checkTask.video_id.split(',');
-        if (videos[0]) {
-            curVideo = videos[0];
-            queryVideoList();
-        } else {
-            callFunc("showvideoview", "false");
-            layer.msg('该处暂无视屏!', {
-                offset: 'r',
-                time: 2000, //20s后自动关闭
-            });
-            callFunc("stop", "");
-        }
+        var videoObject = {
+            container: '.video', //“#”代表容器的ID,“.”或“”代表容器的class
+            variable: 'player', //该属性必需设置,值等于下面的new chplayer()的对象
+            //poster: 'pic/wdm.jpg', //封面图片
+            autoplay: true,
+           // loaded:'loadedHandler',//监听播放器加载成功
+            //video: base_image_server_url + videoid //视频地址
+            video: base_image_server_url + "file/0e488100-c35a-43f2-a311-91b23e9ff36e.MP4"   //视频地址
+        };
+        videoPlayer = new ckplayer(videoObject);
+        videoPlayer.addListener('time', timeHandler);
+    }else {
+           $(".nav-secondary").hide();
     }
-    $("select#video_list").change(function() {
-        playVideo($(this).val());
-    });
-
-
+    console.log($.checkTask);
 }
 
 function setfastorslow(type, speed) {
@@ -1106,4 +1037,72 @@ function addTag(text, tagDiv) {
 //             $("#top_reason_div").html(str);
 //         }
 //     });
-// }
+// }
+
+function timeHandler(time) {
+    //'当前播放时间(秒):' + time;
+    // console.log(time)
+    currentTime = time;
+}
+
+function dbclick() {
+
+    if (isfullscreen) {
+        if (layer_full) {
+            layer.close(layer_full);
+            videoPlayer.videoPlay();
+        }
+        isfullscreen = false;
+        $("#tabcontent").css("height", '400px');
+    } else {
+        fullscreen();
+        videoPlayer.videoPlay();
+    }
+
+}
+
+var startTimec = 0;
+var endTimec = 0;
+
+function videorecordstart(type) {
+
+    if (type == "video_start") {
+        $("#video_btn_start").addClass("hidden");
+        $("#video_btn_stop").removeClass("hidden");
+        startTimec = currentTime*600/580;
+
+    }
+    if (type == "video_stop") {
+        $("#video_btn_stop").addClass("hidden");
+        $("#video_btn_start").removeClass("hidden");
+        endTimec = currentTime*600/580;
+
+        var idss ="0e488100-c35a-43f2-a311-91b23e9ff36e.MP4";
+        var filename = "0e488100-c35a-43f2-a311-91b23e9ff36e.MP4";
+        //开始截取视屏
+        post_common_service_nohead(base_image_server_url + 'fileServer/file/videocut', {
+            "targetfilename": filename,
+            "filename": filename.split(".")[0],
+            "startTime": startTimec,
+            "endtime": endTimec
+        }, function(data) {
+            addPic(data.path)
+        });
+    }
+    if (type == "screenshot") {
+        var idss ="/0e488100-c35a-43f2-a311-91b23e9ff36e.MP4";
+        var filename = "0e488100-c35a-43f2-a311-91b23e9ff36e.MP4";
+        //开始截取视屏
+        console.log(currentTime);
+        var cutTime = currentTime*600/580;
+        console.log(base_image_server_url + 'fileServer/file/videopiccut');
+        post_common_service_nohead(base_image_server_url + 'fileServer/file/videopiccut', {
+            "targetfilename": filename,
+            "filename": filename.split(".")[0],
+            "startTime": cutTime,
+        }, function(data) {
+            console.log(data);
+            addPic(data.path)
+        });
+    }
+}

+ 41 - 0
VisualInspection/js/util/service.js

@@ -503,4 +503,45 @@ function RoleGetALL(page, size, success, fail) {
     }, function(error) {
         fail("网络错误");
     });
+}
+
+function post_common_service_nohead(url, param, successfunc, errorfunc) {
+    console.log(param);
+
+    $.ajax({
+        url: url,
+        type: "POST",
+        cache: false,
+        contentType: "application/json",
+        processData: false,
+        dataType: "json",
+        data: JSON.stringify(param),
+        success: function(response) {
+            var data = response;
+            if (data.result_code == 0) {
+                successfunc(data.result_data)
+            } else {
+                errorfunc(data.result_desc);
+            }
+        },
+        error: function(error) {
+            errorfunc("网络错误");
+        }
+    });
+    // ajaxPost(url, param, function(response) {
+    //     var data = response;
+    //     if (data.result_code == 0) {
+    //         success(data.result_data)
+    //     } else {
+    //         if (fail)
+    //             fail(data.result_desc);
+    //         else
+    //             console.log(data.result_desc);
+    //     }
+    // }, function(error) {
+    //     if (fail)
+    //         fail("网络错误");
+    //     else
+    //         console.log("网络错误");
+    // });
 }

+ 1 - 0
VisualInspection/view/main.html

@@ -75,6 +75,7 @@
         </div>
     </div>
 
+    <script type="text/javascript" src="/js/lib/ckplayer/ckplayer/ckplayer.js"></script>
     <script src="/js/main.js"></script>
 </body>
 

+ 15 - 37
VisualInspection/view/mytask/check.html

@@ -33,45 +33,23 @@
                         <div class="panel" data-id="1">
 
                             <div class="panel-body" style="padding:0 0 5px 0">
-                                <ul class="nav nav-secondary">
-                                    <li class="tab_lane" class="active"><a data-tab href="#tabContent1" bbb="0">收费亭</a></li>
-                                    <li class="tab_lane"><a data-tab href="#tabContent2" bbb="1">车道</a></li>
-                                    <li class="tab_lane"><a data-tab href="#tabContent3" bbb="2">广场</a></li>
-                                    <li class="tab_not_lane"><a data-tab href="#tabContent4" bbb="3">值机室</a></li>
-                                    <li class="tab_not_lane"><a data-tab href="#tabContent5" bbb="4">值机室1</a></li>
-                                </ul>
-
-
+                                <ul class="nav nav-secondary" id="tabController">
+                                    <li class="active"><a id="videoController" data-tab href="#videoDiv" onclick="changeButton(1)">视频</a></li>
+                                  </ul>                                  
                                 <div id="video_content">
-                                    <div class="tab-content" id="tabcontent" style="height:400px;text-align: center;background:black;">
-                                        <p style="padding-top:180px;font-size:20px">加载中...</p>
-                                        <!--<i class="icon icon-spin icon-spinner  icon-5x" style="margin-top:100px"></i>-->
-                                    </div>
-                                    <div class="row" class="col-md-12" style="padding:5px 10px 25px 10px;text-align:center;margin:0px">
-                                        <input id="ex1" class="col-md-12" type="text" data-slider-min="0" data-slider-max="100" data-slider-step="1" data-slider-value="0" />
-                                        <br/>
-                                        <span id="ex1_span" style="position: absolute;left: 25px;">2017-06-12 23:00:00</span>
-                                    </div>
-                                    <div class="row" style="padding:0px 5px 0px 5px;text-align:center;margin:0px">
-                                        <select class="form-control" id="video_list" style="width:200px;float:left;display:none"></select>
-                                        <div class="col-md-4 " style="padding-left:0">
-                                            <div class="input-group" style="padding-left:0">
-                                                <input type="text" id="video_pos" style="height:42px" class="form-control" placeholder="时间偏移值">
-                                                <span class="input-group-btn">
-                                                <button class="btn btn-default" style="height:42px" onclick="setVideoPos()" type="button">校正</button>
-                                             </span>
-                                            </div>
+                                    <div class="tab-content" id="tabcontent" style="height:400px;text-align: center;background:black;" ondblclick="dbclick()">
+                                        <div id="videoDiv" class="video tab-pane active" style="width:100%;height:100%;"></div>
+                                    <div class="row" style="padding:10px 5px 0px 5px;text-align:center;margin:0px">
+                                        <div id="videoButton" class="col-md-6 " style="padding-left:0;text-align: left">
+                                            <label>视屏列表:</label> <select id="videoslist" onchange="onvideoselect(this)"></select>
                                         </div>
-                                        <div class="btn-group1" style="float:right;">
-                                            <button type="button" class="btn btn-info1" style="width:41px;height:41px" onclick="doAction('start')"><i class="icon icon-play-circle icon-2x"></i></button>
-                                            <button type="button" class="btn btn-info1" style="width:41px;height:41px" onclick="doAction('stop')"><i class="icon icon-pause icon-2x"></i></button>
-                                            <button type="button" class="btn btn-info1" style="width:41px;height:41px" onclick="doAction('fast')"><i class="icon icon-forward icon-2x"></i><span id="fast_info"></span></button>
-                                            <button type="button" class="btn btn-info1" style="width:41px;height:41px" onclick="doAction('slow')"><span id="slow_info"></span><i class="icon icon-backward icon-2x"></i></button>
-                                            <button type="button" class="btn btn-info1 " style="width:41px;height:41px" id="video_btn_start" onclick="doAction('video_start')"><img id="video_btn_start_img" style="width:30px" src="/images/video.png"></img></button>
-                                            <button type="button" class="btn btn-info1 hidden" style="width:41px;height:41px" id="video_btn_stop" onclick="doAction('video_stop')"><i class="icon icon-stop icon-2x"></i></button>
-                                            <button type="button" class="btn btn-info1" style="width:41px;height:41px" onclick="doAction('screenshot')"><i class="icon icon-camera icon-2x"></i></button>
-
-
+                                        <div class="btn-group1" style="float:right;" id="buttonVideo">
+                                            <button type="button" class="btn btn-info1 " style="width:41px;height:41px" id="video_btn_start" onclick="videorecordstart('video_start')"><img id="video_btn_start_img" style="width:30px" src="/images/video.png"></img></button>
+                                            <button type="button" class="btn btn-info1 hidden" style="width:41px;height:41px" id="video_btn_stop" onclick="videorecordstart('video_stop')"><i class="icon icon-stop icon-2x"></i></button>
+                                            <button type="button" class="btn btn-info1" style="width:41px;height:41px" id="pic_button" onclick="videorecordstart('screenshot')"><i class="icon icon-camera icon-2x"></i></button>
+                                        </div>
+                                        <div class="btn-group1" style="float:right;display: none" id="buttonPics">          
+                                            <button type="button" class="btn btn-info1" style="width:41px;height:41px" id="pic_button" onclick="addPics()"><i class="icon icon-camera icon-2x"></i></button>
                                         </div>
 
                                     </div>

+ 8 - 6
VisualInspection_server/src/main/resources/application.properties

@@ -3,9 +3,10 @@ spring.thymeleaf.cache=false
 context.listener.classes=com.xintong.SystemInit
 
 #master.datasource.url = jdbc:mysql://10.112.0.199:3306/visualinspection?useUnicode=true&characterEncoding=utf-8
-master.datasource.url = jdbc:mysql://git.topm.win:9003/visualinspection?useUnicode=true&characterEncoding=utf-8
+#master.datasource.url = jdbc:mysql://git.topm.win:9003/visualinspection?useUnicode=true&characterEncoding=utf-8
 #master.datasource.url = jdbc:mysql://git.topm.win:6381/visualinspection?useUnicode=true&characterEncoding=utf-8
 #master.datasource.url = jdbc:mysql://10.112.0.199:7002/visualinspection?useUnicode=true&characterEncoding=utf-8
+master.datasource.url = jdbc:mysql://xt.wenhq.top:8082/visualinspection_njy?useUnicode=true&characterEncoding=utf-8
 master.datasource.username = root
 master.datasource.password = root
 master.datasource.driver-class-name = com.mysql.jdbc.Driver
@@ -13,9 +14,10 @@ master.mapper-locations=classpath:com/xintong/visualinspection/mapper/master/*.x
 
 ## \u7528\u6237\u6570\u636E\u6E90\u914D\u7F6E
 #cluster.datasource.url=jdbc:mysql://10.112.0.199:3306/visualinspection?useUnicode=true&characterEncoding=utf8
-cluster.datasource.url=jdbc:mysql://git.topm.win:9003/visualinspection?useUnicode=true&characterEncoding=utf8
+#cluster.datasource.url=jdbc:mysql://git.topm.win:9003/visualinspection?useUnicode=true&characterEncoding=utf8
 #cluster.datasource.url = jdbc:mysql://git.topm.win:6381/visualinspection?useUnicode=true&characterEncoding=utf-8
 #cluster.datasource.url=jdbc:mysql://10.112.0.199:7002/visualinspection?useUnicode=true&characterEncoding=utf8
+cluster.datasource.url=jdbc:mysql://xt.wenhq.top:8082/visualinspection_njy?useUnicode=true&characterEncoding=utf8
 cluster.datasource.username=root
 cluster.datasource.password=root
 cluster.datasource.driver-class-name = com.mysql.jdbc.Driver
@@ -35,7 +37,7 @@ spring.datasource.minEvictableIdleTimeMillis=300000
 spring.datasource.validationQuery=SELECT 1 FROM DUAL
 spring.datasource.testWhileIdle=true
 spring.datasource.testOnBorrow=false
-spring.datasource.testOnReturn=false
+spring.datasource.testOnReturn=falseF
 # \u6253\u5F00PSCache\uFF0C\u5E76\u4E14\u6307\u5B9A\u6BCF\u4E2A\u8FDE\u63A5\u4E0APSCache\u7684\u5927\u5C0F
 spring.datasource.poolPreparedStatements=true
 spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
@@ -57,12 +59,12 @@ spring.datasource.useGlobalDataSourceStat=true
 spring.redis.database=0  
 # Redis\u670D\u52A1\u5668\u5730\u5740
 #spring.redis.host=10.112.0.199
-spring.redis.host=git.topm.win
+spring.redis.host=192.168.45.158
 # Redis\u670D\u52A1\u5668\u8FDE\u63A5\u7AEF\u53E3
-#spring.redis.port=6379
+spring.redis.port=6379
 
 #spring.redis.port=7003
-spring.redis.port=9004
+#spring.redis.port=9004
 #spring.redis.port=6380
 # Redis\u670D\u52A1\u5668\u8FDE\u63A5\u5BC6\u7801\uFF08\u9ED8\u8BA4\u4E3A\u7A7A\uFF09
 spring.redis.password=xintong

Файловите разлики са ограничени, защото са твърде много
+ 560 - 2235
VisualInspection_server/visual/visual.log


Някои файлове не бяха показани, защото твърде много файлове са промени