//定义密钥 var token_key = CryptoJS.enc.Utf8.parse("8FB5006902F91320"); //定义IV偏移 var token_iv = CryptoJS.enc.Utf8.parse(le_token); //加密 function encrypt(data) { return CryptoJS.AES.encrypt(data, token_key, {iv: token_iv, mode: CryptoJS.mode.CBC}).toString(); } //解密 function decrypt(data) { return CryptoJS.AES.decrypt(data, token_key, {iv: token_iv}).toString(CryptoJS.enc.Utf8); } var lele = { 'Weixin': function() { var ua = navigator.userAgent.toLowerCase(); return (/micromessenger/.test(ua)) ? true : false; }, 'start': function() { $.ajax({ url: "./api.php", dataType: "json", success: function(e) { danmuon = e.data.danmuon; up.pbgjz = e.data.pbgjz; up.trysee = e.data.trytime; config.logo = e.data.logo; config.bjt = e.data.ads.pause.bjt; config.pic = e.data.ads.pause.pic; config.sendtime = e.data.sendtime; config.color = e.data.color; config.dmliyi = e.data.dmliyi; config.dmrule = e.data.dmrule; config.yjtest = e.data.yjtest; config.yjrule = e.data.yjrule; config.group = lele.getCookie('group_id'); lele.autoplay = e.data.autoplay; lele.bilibili = e.data.bilibili; lele.waittime = e.data.waittime; lele.pmdzd = e.data.pmdzd; lele.pmdzdy = e.data.pmdzdy; lele.jybf = config.id; lele.ads = e.data.ads; if (e.data.autoplay == 'true') { lele.autoplay = true; } else { lele.autoplay = false; } if (config.group < config.group_x && lele.ads.state == 'on' && config.group != '') { if (lele.ads.set.state == '1') { lele.MYad.vod(lele.ads.set.vod.url, lele.ads.set.vod.link); } else if (lele.ads.set.state == '2') { lele.MYad.pic(lele.ads.set.pic.link, lele.ads.set.pic.time, lele.ads.set.pic.img); } } else { lele.play(v_decrypt(config.url,_token_key,key_token)); } } }); }, 'play': function(url) { if (danmuon == 'off') { lele.player.play(url); $("#loading-box").remove(); } else { if (lele.bilibili != '') { lele.player.bdplay(url); } else { lele.player.dmplay(url); } } // 初始化画中画事件 if (document.pictureInPictureEnabled == true) { if (document.getElementById('enterhzh') != null) { document.getElementById('enterhzh').addEventListener('click', ()=>{ lelevideo.requestPictureInPicture().catch(error=>{ console.log(error); } ); } ); document.getElementById('enterhzh').id = "exithzh"; } if (document.getElementById('exithzh') != null) { document.getElementById('exithzh').addEventListener('click', ()=>{ document.exitPictureInPicture().catch(error=>{ console.log(error); } ); } ); document.getElementById('exithzh').id = "enterhzh"; } } //播放器跑马灯自定义代码 document.getElementById('lelezdy').innerHTML = lele.pmdzdy; //播放器全局颜色修改 var qjcolor = ''; $('head').append(qjcolor); $(function() { $(".leleplayer-setting-speeds,.leleplayer-setting-speed-item").on("click", function() { $(".speed-stting").toggleClass("speed-stting-open"); }); $(".speed-stting.leleplayer-setting-speed-item").click(function() { $(".leleplayer-setting-speeds.title").text($(this).text()); }); }); $(".leleplayer-fulloff-icon").on("click", function() { lele.dp.fullScreen.cancel(); }); $(".leleplayer-showing").on("click", function() { lele.dp.play(); $(".vod-pic").remove(); }); if (config.title != '') { $("#vodtitle").html(config.title + ' ' + config.sid); } ; }, 'dmid': function() { if (up.diyid[0] == 0 && config.id != '') { a = config.id, b = config.sid } else if (up.diyid[0] == 1 || !config.id) { a = up.diyid[1], b = up.diyid[2] } lele.id = config.id }, 'load': function() { setTimeout(function() { $("#link1").fadeIn(); }, 100); setTimeout(function() { $("#link1-success").fadeIn(); }, 500); setTimeout(function() { $("#link2").show(); }, 1 * 1000); setTimeout(function() { $("#link3,#span").fadeIn(); }, 2 * 1000); lele.danmu.send(); lele.danmu.list(); lele.def(); lele.dp.danmaku.opacity(1); }, 'def': function() { console.log('欢迎使用弹幕视频播放器'); if (lele.waittime == '0' || lele.waittime == '') { $("#loading-box").remove(); } lele.stime = 0; lele.headt = leleck.get("headt"); lele.lastt = leleck.get("lastt"); lele.last_tip = parseInt(lele.lastt) + 10; lele.frists = leleck.get('frists'); lele.lasts = leleck.get('lasts'); lele.playtime = Number(localStorage.getItem(lele.jybf)); lele.ctime = lele.formatTime(lele.playtime); lele.dp.on("loadedmetadata", function() { lele.loadedmetadataHandler(); }); lele.dp.on("ended", function() { lele.endedHandler(); }); lele.dp.on('pause', function() { lele.MYad.pause.play(lele.ads.pause.link, lele.ads.pause.pic); }); lele.dp.on('play', function() { lele.MYad.pause.out(); }); lele.dp.on('timeupdate', function(e) { lele.timeupdateHandler(); }); if (lele.Weixin()) { $("#loading-box").remove(); } lele.jump.def() }, 'video': { 'play': function() { if (lele.autoplay == 'true') { lele.dp.play(); } $("#loading-box").remove(); lele.jump.head(); }, 'next': function() { top.location.href = up.mylink + config.next; }, 'seek': function() { lele.dp.seek(lele.playtime); }, 'end': function() { layer.msg("播放结束啦=。="); }, 'con_play': function() { if (danmuon == 'off') { lele.jump.head(); } else { var conplayer = ` 已播放至${lele.ctime},继续上次播放?${lele.waittime}s`; if (lele.waittime == '0' || lele.waittime == '') { var num = 10; } else { $("#link3").html(conplayer); var span = document.getElementById("num"); var num = span.innerHTML; } var timer = null; setTimeout(function() { timer = setInterval(function() { if (lele.waittime != '0' && lele.waittime != '') { num--; span.innerHTML = num; } if (num == 0) { clearInterval(timer); lele.video.seek(); if (lele.autoplay == 'true') { lele.dp.play(); } $(".memory-play-wrap,#loading-box").remove(); } }, 1000); }, 1); } ;var cplayer = `
×上次看到 ${lele.ctime}跳转播放
`; $(".leleplayer-cplayer").append(cplayer); $(".close").on("click", function() { $(".memory-play-wrap").remove(); }); setTimeout(function() { $(".memory-play-wrap").remove(); }, 20 * 1000); $(".conplaying").on("click", function() { clearTimeout(timer); $("#loading-box").remove(); if (lele.autoplay == 'true') { lele.dp.play(); } lele.jump.head(); }); $(".conplay-jump,.play-jump").on("click", function() { clearTimeout(timer); lele.video.seek(); $(".memory-play-wrap,#loading-box").remove(); if (lele.autoplay == 'true') { lele.dp.play(); } }); } }, 'jump': { 'def': function() { h = ".leleplayer-setting-jfrist label"; l = ".leleplayer-setting-jlast label"; f = "#fristtime"; j = "#jumptime"; a(h, 'frists', lele.frists, 'headt', lele.headt, f); a(l, 'lasts', lele.lasts, 'lastt', lele.lastt, j); function er() { layer.msg("请输入有效时间哟!"); } function su() { layer.msg("设置完成,将在刷新或下一集生效"); } function a(b, c, d, e, g, t) { $(b).on("click", function() { o = $(t).val(); if (o > 0) { $(b).toggleClass('checked'); su(); g = $(t).val(); leleck.set(e, g); } else { er(); } ; }); if (d == 1) { $(b).addClass('checked'); $(b).click(function() { o = $(t).val(); if (o > 0) { leleck.set(c, 0); } else { er(); } ; }); } else { $(b).click(function() { o = $(t).val(); if (o > 0) { leleck.set(c, 1); } else { er(); } ; }); } } ;$(f).attr({ "value": lele.headt }); $(j).attr({ "value": lele.lastt }); lele.jump.last(); }, 'head': function() { if (lele.stime > lele.playtime) lele.playtime = lele.stime; if (lele.frists == 1) { if (lele.headt > lele.playtime || lele.playtime == 0) { lele.jump_f = 1 } else { lele.jump_f = 0 } } if (lele.jump_f == 1) { lele.dp.seek(lele.headt); lele.dp.notice("已为您跳过片头"); } }, 'last': function() { if (config.next != '') { if (lele.lasts == 1) { setInterval(function() { var e = lele.dp.video.duration - lele.dp.video.currentTime; if (e < lele.last_tip) lele.dp.notice('即将为您跳过片尾'); if (lele.lastt > 0 && e < lele.lastt) { localStorage.setItem(lele.jybf, ""); lele.video.next(); } ; }, 1000); } ; } else { $(".icon-xj").remove(); } ; }, 'ad': function(a, b) {} }, 'danmu': { 'send': function() { g = $(".lele-leleplayer-send-icon"); d = $("#dmtext"); h = ".leleplayer-comment-setting-"; $(h + "color input").on("click", function() { r = $(this).attr("value"); setTimeout(function() { d.css({ "color": r }); }, 100); }); $(h + "type input").on("click", function() { t = $(this).attr("value"); setTimeout(function() { d.attr("dmtype", t); }, 100); }); $(h + "font input").on("click", function() { if (up.trysee > 0 && config.group == config.group_x) { layer.msg("会员专属功能"); return; } ;t = $(this).attr("value"); setTimeout(function() { d.attr("size", t); }, 100); }); g.on("click", function() { a = document.getElementById("dmtext"); a = a.value; b = d.attr("dmtype"); c = d.css("color"); z = d.attr("size"); for (var i = 0; i < up.pbgjz.length; i++) { if (a.search(up.pbgjz[i]) != -1) { layer.msg("您发送的内容含有敏感字符,请规范您的弹幕内容"); return; } } if (a.length < 1) { layer.msg("要输入内容啊~"); return; } var e = Date.parse(new Date()); var f = leleck.get('dmsent', e); if (e - f < config.sendtime * 1000) { layer.msg('请勿频繁操作!发送弹幕需间隔' + config.sendtime + '秒~'); return; } d.val(""); lele.dp.danmaku.send({ text: a, color: c, type: b, size: z }); leleck.set('dmsent', e); }); function k() { g.trigger("click"); } ;d.keydown(function(e) { if (e.keyCode == 13) { k(); } ; }); }, 'list': function() { $(".leleplayer-list-icon,.lele-leleplayer-send-icon").on("click", function() { $(".list-show").empty(); $.ajax({ url: config.api + "?ac=get&id=" + lele.id, success: function(d) { if (d.code == 23) { a = d.danmuku; b = d.name; c = d.danum; $(".danmuku-num").text(c); $(a).each(function(index, item) { l = `
  • ${lele.formatTime(item[0])}
  • ${item[4]}
  • ${item[6]}
  • 举报
  • ` $(".list-show").append(l); }) } $(".danmuku-list").on("dblclick", function() { lele.dp.seek($(this).attr("time")) }) } }); }); var liyih = '
    ' + config.dmliyi + '
    '; $("div.leleplayer-comment-box:last").append(liyih); $(".leleplayer-watching-number").text(up.usernum); $(".leleplayer-info-panel-item-title-amount .leleplayer-info-panel-item-title").html("违规词"); for (var i = 0; i < up.pbgjz.length; i++) { var gjz_html = "" + up.pbgjz[i] + ""; $("#vod-title").append(gjz_html); } add('.leleplayer-list-icon', ".leleplayer-danmu", 'show'); function add(div1, div2, div3, div4) { $(div1).click(function() { $(div2).toggleClass(div3); $(div4).remove(); }); } }, 'report': function(a, b, c, d) { layer.confirm('' + c + '', { anim: 1, title: '举报弹幕', btn: ['违法违禁', '色情低俗', '恶意刷屏', '赌博诈骗', '人身攻击', '侵犯隐私', '垃圾广告', '剧透', '引战'], btn3: function(index, layero) { lele.danmu.post_r(a, b, c, d, '恶意刷屏'); }, btn4: function(index, layero) { lele.danmu.post_r(a, b, c, d, '赌博诈骗'); }, btn5: function(index, layero) { lele.danmu.post_r(a, b, c, d, '人身攻击'); }, btn6: function(index, layero) { lele.danmu.post_r(a, b, c, d, '侵犯隐私'); }, btn7: function(index, layero) { lele.danmu.post_r(a, b, c, d, '垃圾广告'); }, btn8: function(index, layero) { lele.danmu.post_r(a, b, c, d, '剧透'); }, btn9: function(index, layero) { lele.danmu.post_r(a, b, c, d, '引战'); } }, function(index, layero) { lele.danmu.post_r(a, b, c, d, '违法违禁'); }, function(index) { lele.danmu.post_r(a, b, c, d, '色情低俗'); }); }, 'post_r': function(a, b, c, d, type) { $.ajax({ type: "GET", url: config.api + '?ac=report&cid=' + d + '&user=' + a + '&type=' + type + '&title=' + b + '&text=' + c + '&referer=' + document.referrer, cache: false, dataType: 'json', beforeSend: function() {}, success: function(data) { layer.msg("举报成功!感谢您为守护弹幕作出了贡献"); }, error: function(data) { var msg = "服务故障 or 网络异常,稍后再试6!"; layer.msg(msg); } }); } }, 'setCookie': function(c_name, value, expireHours) { var exdate = new Date(); exdate.setHours(exdate.getHours() + expireHours); document.cookie = c_name + "=" + escape(value) + ((expireHours === null) ? "" : ";expires=" + exdate.toGMTString()); }, 'getCookie': function(c_name) { if (document.cookie.length > 0) { c_start = document.cookie.indexOf(c_name + "="); if (c_start !== -1) { c_start = c_start + c_name.length + 1; c_end = document.cookie.indexOf(";", c_start); if (c_end === -1) { c_end = document.cookie.length; } ;return unescape(document.cookie.substring(c_start, c_end)); } } return ""; }, 'formatTime': function(seconds) { return [parseInt(seconds / 60 / 60), parseInt(seconds / 60 % 60), parseInt(seconds % 60)].join(":").replace(/\b(\d)\b/g, "0$1"); }, 'loadedmetadataHandler': function() { if (lele.playtime > 0 && lele.dp.video.currentTime < lele.playtime) { setTimeout(function() { lele.video.con_play() }, 1 * 1000); } else { if (danmuon == 'off') { lele.jump.head(); } else { lele.dp.notice("准备就绪,即将为您播放"); lele.video.play(); } } lele.dp.on("timeupdate", function() { lele.timeupdateHandler(); }); }, 'timeupdateHandler': function() { localStorage.setItem(lele.jybf, lele.dp.video.currentTime); }, 'endedHandler': function() { localStorage.setItem(lele.jybf, ""); if (config.next != '') { lele.dp.notice("5s后,将自动为您播放下一集"); setTimeout(function() { lele.video.next(); }, 5 * 1000); } else { lele.dp.notice("视频播放已结束"); setTimeout(function() { lele.video.end(); }, 2 * 1000); } }, 'player': { 'play': function(url) { $('body').addClass("danmu-off"); lele.dp = new leleplayer({ autoplay: lele.autoplay, element: document.getElementById('player'), theme: config.color, logo: config.logo, video: { url: url, pic: config.bjt, type: 'auto', customType: { customHls: function(video, player) { const hls = new Hls({ 'debug': false, 'p2pConfig': { 'logLevel': true, 'live': false } }); hls.loadSource(video.src); hls.attachMedia(video); hls.p2pEngine.on('stats', function(data) { tota1P2PDownloaded = data["totalP2PDownloaded"]; totalP2PUploaded = data["totalP2PUploaded"]; updateStats(); }).on("peerId", function(peerIdData) { _peerId = peerIdData; }).on("peers", function(peersData) { _peers = peersData.length; updateStats(); }); } } }, }); if (lele.Weixin()) { var css = ''; $('body').append(css).addClass(""); } lele.def(); lele.jump.head(); }, 'adplay': function(url) { $('body').addClass("danmu-off"); lele.ad = new leleplayer({ autoplay: lele.autoplay, element: document.getElementById('ADplayer'), theme: config.color, logo: config.logo, video: { url: url, pic: config.bjt, type: 'auto', customType: { customHls: function(video, player) { const hls = new Hls({ 'debug': false, 'p2pConfig': { 'logLevel': true, 'live': false } }); hls.loadSource(video.src); hls.attachMedia(video); hls.p2pEngine.on('stats', function(data) { tota1P2PDownloaded = data["totalP2PDownloaded"]; totalP2PUploaded = data["totalP2PUploaded"]; updateStats(); }).on("peerId", function(peerIdData) { _peerId = peerIdData; }).on("peers", function(peersData) { _peers = peersData.length; updateStats(); }); } } }, }); $('.leleplayer-controller,.leleplayer-cplayer,.leleplayer-logo,#loading-box,.leleplayer-controller-mask').remove(); $('.leleplayer-mask').show(); lele.ad.on('timeupdate', function() { if (lele.ad.video.currentTime > lele.ad.video.duration - 0.1) { $('body').removeClass("danmu-off"); lele.ad.destroy(); $("#ADplayer").remove(); $("#ADtip").remove(); lele.play(v_decrypt(config.url,_token_key,key_token)); } }); }, 'dmplay': function(url) { lele.dmid(); lele.dp = new leleplayer({ autoplay: lele.autoplay, element: document.getElementById('player'), theme: config.color, logo: config.logo, video: { url: url, pic: config.bjt, type: 'auto', customType: { customHls: function(video, player) { const hls = new Hls({ 'debug': false, 'p2pConfig': { 'logLevel': true, 'live': false } }); hls.loadSource(video.src); hls.attachMedia(video); hls.p2pEngine.on('stats', function(data) { tota1P2PDownloaded = data["totalP2PDownloaded"]; totalP2PUploaded = data["totalP2PUploaded"]; updateStats(); }).on("peerId", function(peerIdData) { _peerId = peerIdData; }).on("peers", function(peersData) { _peers = peersData.length; updateStats(); }); } } }, danmaku: { id: lele.id, api: config.api + '?ac=dm', user: config.user } }); lele.load(); }, 'bdplay': function(url) { lele.dmid(); lele.dp = new leleplayer({ autoplay: lele.autoplay, element: document.getElementById('player'), theme: config.color, logo: config.logo, video: { url: url, pic: config.bjt, type: 'auto', customType: { customHls: function(video, player) { const hls = new Hls({ 'debug': false, 'p2pConfig': { 'logLevel': true, 'live': false } }); hls.loadSource(video.src); hls.attachMedia(video); hls.p2pEngine.on('stats', function(data) { tota1P2PDownloaded = data["totalP2PDownloaded"]; totalP2PUploaded = data["totalP2PUploaded"]; updateStats(); }).on("peerId", function(peerIdData) { _peerId = peerIdData; }).on("peers", function(peersData) { _peers = peersData.length; updateStats(); }); } } }, danmaku: { id: lele.id, api: config.api + '?ac=dm', user: config.user, addition: [config.api + 'bilibili/?av=' + lele.bilibili] } }); lele.load(); } }, 'MYad': { 'vod': function(u, l) { $("#ADtip").html('查看详情'); $("#ADplayer").click(function() { document.getElementById('link').click(); }); lele.player.adplay(u); }, 'pic': function(l, t, p) { $("#ADtip").html('广告 ' + t + ''); $("#ADtip").click(function() { document.getElementById('link').click(); }); var span = document.getElementById("time_ad"); var num = span.innerHTML; var timer = null; setTimeout(function() { timer = setInterval(function() { num--; span.innerHTML = num; if (num == 0) { clearInterval(timer); lele.play(v_decrypt(config.url,_token_key,key_token)); $('#ADtip').remove(); } }, 1000); }, 1); }, 'pause': { 'play': function(l, p) { if (lele.ads.pause.state == 'on') { var pause_ad_html = '
    广告
    '; $('#player').before(pause_ad_html); } }, 'out': function() { $('#player_pause').remove(); } } }, } function turnoff(obj) { document.getElementById(obj).style.display = "none"; } //document.write('');