;!(function () { function HistoryComponent(opt) { if (typeof opt.elem === 'string') { opt.elem = document.getElementById(opt.elem); } if (!opt.elem) { throw new Error('需要容器'); return; } this.elem = opt.elem; appendContent(this.elem); let stream_path; let cameraId = opt.cameraId; let container = document.getElementById("container"); let h5lc = new Jessibuca({container, decoder: "../js/jessibuca/ff.js", videoBuffer: 0}); //创建时间轴 let currentTimer; let hourTimestamp = 3600 * 1000; let dayTimestamp = hourTimestamp * 24; $("#progressTime").ProgressTime({ container: "progressTime", startTime: new Date(formatDate(new Date(new Date().getTime() - dayTimestamp * 1), "YYYY/MM/DD 00:00:00")), endTime: new Date(formatDate(new Date(), "YYYY/MM/DD 00:00:00")), currentTime: new Date(formatDate(new Date(new Date().getTime() - dayTimestamp * 1.5), "YYYY/MM/DD 12:00:00")), interval: 300, delay: 2000, hoursInterval: 1,//时间间隔 isNow: false, // 是否显示右侧回到当前时间 toPlay: false, // 渲染是否完成 animateFinish: false, // 动画是否完成 callback: function (config) { console.log(config); currentTimer = config.time; //刷新精确时间输入框 $("#currentTimer").val(undefined); }, animateCallback: function (config) { // 假如动画完成之后请求数据需要两秒 var timer = setTimeout(function () { progressTime.options.toPlay = false; // 两秒之后再继续走播放条 clearTimeout(timer); }, 0); } }); let progressTimelayer = window.progressTime; let beginDateStr = new Date(formatDate(new Date(new Date().getTime() - dayTimestamp * 1), "YYYY/MM/DD 00:00:00")); let endDateStr = new Date(formatDate(new Date(), "YYYY/MM/DD 00:00:00")); //创建精确时间选择器 jeDate("#currentTimer", { festival: false, //是否显示农历节日 minDate: "1900-01-01", //最小日期 maxDate: "2099-12-31", //最大日期 method: { choose: function (params) { } }, donefun: function (obj) { currentTimer = obj.val; let flag = compareTime(beginDateStr, endDateStr, currentTimer); if (flag) { //只有在指定时间才刷新指针位置 progressTimelayer.setTime({ time: currentTimer,//指针显示时间 timer: currentTimer,//指针位置计算时间 originalEvent: { layerX: undefined, }, type: "", }); progressTimelayer.resize(); } }, format: "YYYY-MM-DD hh:mm:ss" }); //判断时间是否属于区间内 function compareTime(begin, end, timer) { var date1 = Date.parse(new Date(begin)); var date2 = Date.parse(new Date(end)); var time = Date.parse(new Date(timer)); if (date1 < time && date2 > time) { return true; } ; return false; } //播放 $(".progressTime-left-b-start").on("click", function () { if (opt.rtspUrl) { let rtspUrl = opt.rtspUrl; historyComponent.playVideoRTSP(rtspUrl, currentTimer, function (result) { h5lc.play(result.jessicaURL) stream_path = result.streamPath; }); } else { historyComponent.playVideo(cameraId, currentTimer, function (result) { h5lc.play(result.jessicaURL) stream_path = result.streamPath; }); } }); let than = this; //暂停(关闭流) $(".progressTime-left-b-start stop").on("click", function () { $(this).removeClass("stop"); h5lc.destroy(); than.closeVideo(stream_path); than.elem.style.display = 'none'; }); } //文本添加 function appendContent(element) { let _content = "
\n" + " \n" + "