parent
6da8856df0
commit
321c5dd25e
|
@ -0,0 +1,137 @@
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* 统计中心
|
||||||
|
*/
|
||||||
|
require_once '../application/header.php';
|
||||||
|
require_once APP_ROOT . '/config/api_key.php';
|
||||||
|
require_once APP_ROOT . '/api/application/apiFunction.php';
|
||||||
|
require_once APP_ROOT . '/application/chart.php';
|
||||||
|
|
||||||
|
// 检测登录
|
||||||
|
if (!is_online()) {
|
||||||
|
checkLogin();
|
||||||
|
}
|
||||||
|
// 统计图表
|
||||||
|
// array_reverse($arr,true) 倒叙数组并保持键值关系
|
||||||
|
$char_data = read_chart_total();
|
||||||
|
if (is_array($char_data)) {
|
||||||
|
$chart_date = '';
|
||||||
|
foreach (array_reverse($char_data['date'], true) as $value) {
|
||||||
|
$chart_date .= $value;
|
||||||
|
}
|
||||||
|
$chart_date = str_replace(date('Y/'), '', $chart_date); // 删除年份
|
||||||
|
|
||||||
|
$chart_number = '';
|
||||||
|
foreach (array_reverse($char_data['number'], true) as $value) {
|
||||||
|
$chart_number .= $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
$chart_disk = '';
|
||||||
|
foreach (array_reverse($char_data['disk'], true) as $value) {
|
||||||
|
$chart_disk .= $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<style>
|
||||||
|
.autoshadow {
|
||||||
|
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1);
|
||||||
|
margin: 0px 0px 10px 10px;
|
||||||
|
width: 130px;
|
||||||
|
height: 80px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div class="clo-md-12">
|
||||||
|
<div class="alert alert-warning">统计时间:<?php echo $char_data['total_time']; ?></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="col-md-2 alert alert-success autoshadow">今日上传
|
||||||
|
<hr />
|
||||||
|
<?php printf("%u 张", preg_replace('/\D/s', '', $char_data['number'][0])); ?>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-2 alert alert-success autoshadow">昨日上传
|
||||||
|
<hr />
|
||||||
|
<?php printf("%u 张", preg_replace('/\D/s', '', $char_data['number'][1])); ?>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-2 alert alert-primary autoshadow">
|
||||||
|
累计上传
|
||||||
|
<hr />
|
||||||
|
<?php printf("%u 张", read_total_json('filenum')); ?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-2 alert alert-primary autoshadow">
|
||||||
|
缓存文件
|
||||||
|
<hr />
|
||||||
|
<?php printf("%u 张", getFileNumber(APP_ROOT . $config['path'] . 'cache/')); ?>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-2 alert alert-primary autoshadow">
|
||||||
|
可疑图片
|
||||||
|
<hr />
|
||||||
|
<?php printf("%u 张", getFileNumber(APP_ROOT . $config['path'] . 'suspic/')); ?>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-2 alert alert-primary autoshadow">
|
||||||
|
文件夹
|
||||||
|
<hr />
|
||||||
|
<?php printf("%d 个", read_total_json('dirnum')); ?>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-2 alert alert-primary autoshadow">
|
||||||
|
占用存储
|
||||||
|
<hr />
|
||||||
|
<?php echo getDistUsed(disk_total_space('.') - disk_free_space('.')); ?>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-2 alert alert-primary autoshadow">
|
||||||
|
剩余空间
|
||||||
|
<hr />
|
||||||
|
<?php echo getDistUsed(disk_free_space('.')); ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12">
|
||||||
|
<h4 style="text-align: center;">最近30上传趋势与空间占用(上传/张 占用/MB)</h4>
|
||||||
|
<canvas id="linChart-30"></canvas>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="https://cdn.bootcdn.net/ajax/libs/Chart.js/3.5.0/chart.min.js"></script>
|
||||||
|
<script>
|
||||||
|
// 最近30上传趋势与空间占用-折线图
|
||||||
|
var ctx = document.getElementById("linChart-30").getContext('2d');
|
||||||
|
var myChart = new Chart(ctx, {
|
||||||
|
"type": "line",
|
||||||
|
"data": {
|
||||||
|
|
||||||
|
"labels": [<?php echo rtrim($chart_date, ','); ?>],
|
||||||
|
"datasets": [{
|
||||||
|
"label": "上传数量",
|
||||||
|
"data": [<?php echo rtrim($chart_number, ','); ?>],
|
||||||
|
"borderColor": "#4BC0C0",
|
||||||
|
"lineTension": 0.5,
|
||||||
|
"fill": true,
|
||||||
|
"backgroundColor": "rgba(120,116,126,0.2)", //背景色
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "占用硬盘", // 名称
|
||||||
|
"data": [<?php echo rtrim($chart_disk, ','); ?>], // 数据集
|
||||||
|
"borderColor": "rgb(255, 99, 132)", // 线条颜色
|
||||||
|
"lineTension": 0.5, // 曲度
|
||||||
|
"borderDash": [5, 5],
|
||||||
|
"fill": true,
|
||||||
|
"backgroundColor": "rgba(255, 99, 132, 0.2)", // 背景色
|
||||||
|
},
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
},
|
||||||
|
options: {}
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<?php require_once APP_ROOT . '/application/footer.php';
|
|
@ -33,10 +33,65 @@ if (is_array($char_data)) {
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.autoshadow {
|
||||||
|
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1);
|
||||||
|
margin: 0px 0px 10px 10px;
|
||||||
|
width: 130px;
|
||||||
|
height: 80px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
<div class="clo-md-12">
|
<div class="clo-md-12">
|
||||||
<div class="alert alert-warning">统计时间:<?php echo $char_data['total_time']; ?></div>
|
<div class="alert alert-warning">统计时间:<?php echo $char_data['total_time']; ?></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
|
<div class="col-md-2 alert alert-success autoshadow">今日上传
|
||||||
|
<hr />
|
||||||
|
<?php printf("%u 张", preg_replace('/\D/s', '', $char_data['number'][0])); ?>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-2 alert alert-success autoshadow">昨日上传
|
||||||
|
<hr />
|
||||||
|
<?php printf("%u 张", preg_replace('/\D/s', '', $char_data['number'][1])); ?>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-2 alert alert-primary autoshadow">
|
||||||
|
累计上传
|
||||||
|
<hr />
|
||||||
|
<?php printf("%u 张", read_total_json('filenum')); ?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-2 alert alert-primary autoshadow">
|
||||||
|
缓存文件
|
||||||
|
<hr />
|
||||||
|
<?php printf("%u 张", getFileNumber(APP_ROOT . $config['path'] . 'cache/')); ?>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-2 alert alert-primary autoshadow">
|
||||||
|
可疑图片
|
||||||
|
<hr />
|
||||||
|
<?php printf("%u 张", getFileNumber(APP_ROOT . $config['path'] . 'suspic/')); ?>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-2 alert alert-primary autoshadow">
|
||||||
|
文件夹
|
||||||
|
<hr />
|
||||||
|
<?php printf("%d 个", read_total_json('dirnum')); ?>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-2 alert alert-primary autoshadow">
|
||||||
|
占用存储
|
||||||
|
<hr />
|
||||||
|
<?php echo getDistUsed(disk_total_space('.') - disk_free_space('.')); ?>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-2 alert alert-primary autoshadow">
|
||||||
|
剩余空间
|
||||||
|
<hr />
|
||||||
|
<?php echo getDistUsed(disk_free_space('.')); ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="col-md-22">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<h4>文件统计(张)</h4>
|
<h4>文件统计(张)</h4>
|
||||||
<canvas id="myBarChart" width="960" height="400"></canvas>
|
<canvas id="myBarChart" width="960" height="400"></canvas>
|
||||||
|
@ -52,7 +107,7 @@ if (is_array($char_data)) {
|
||||||
<h4 class="text-danger hidden-lg">手机请启用横屏浏览</h4>
|
<h4 class="text-danger hidden-lg">手机请启用横屏浏览</h4>
|
||||||
<canvas id="myChart" width="1080" height="200"></canvas>
|
<canvas id="myChart" width="1080" height="200"></canvas>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<script src="<?php static_cdn(); ?>/public/static/zui/lib/chart/zui.chart.min.js"></script>
|
<script src="<?php static_cdn(); ?>/public/static/zui/lib/chart/zui.chart.min.js"></script>
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="<?php static_cdn(); ?>/public/static/zui/lib/chart/excanvas.js"></script>
|
<script src="<?php static_cdn(); ?>/public/static/zui/lib/chart/excanvas.js"></script>
|
||||||
|
|
|
@ -1,41 +0,0 @@
|
||||||
{
|
|
||||||
"url": "https://api.github.com/repos/icret/EasyImages2.0/releases/52150405",
|
|
||||||
"assets_url": "https://api.github.com/repos/icret/EasyImages2.0/releases/52150405/assets",
|
|
||||||
"upload_url": "https://uploads.github.com/repos/icret/EasyImages2.0/releases/52150405/assets{?name,label}",
|
|
||||||
"html_url": "https://github.com/icret/EasyImages2.0/releases/tag/2.3.0",
|
|
||||||
"id": 52150405,
|
|
||||||
"author": {
|
|
||||||
"login": "icret",
|
|
||||||
"id": 16373024,
|
|
||||||
"node_id": "MDQ6VXNlcjE2MzczMDI0",
|
|
||||||
"avatar_url": "https://avatars.githubusercontent.com/u/16373024?v=4",
|
|
||||||
"gravatar_id": "",
|
|
||||||
"url": "https://api.github.com/users/icret",
|
|
||||||
"html_url": "https://github.com/icret",
|
|
||||||
"followers_url": "https://api.github.com/users/icret/followers",
|
|
||||||
"following_url": "https://api.github.com/users/icret/following{/other_user}",
|
|
||||||
"gists_url": "https://api.github.com/users/icret/gists{/gist_id}",
|
|
||||||
"starred_url": "https://api.github.com/users/icret/starred{/owner}{/repo}",
|
|
||||||
"subscriptions_url": "https://api.github.com/users/icret/subscriptions",
|
|
||||||
"organizations_url": "https://api.github.com/users/icret/orgs",
|
|
||||||
"repos_url": "https://api.github.com/users/icret/repos",
|
|
||||||
"events_url": "https://api.github.com/users/icret/events{/privacy}",
|
|
||||||
"received_events_url": "https://api.github.com/users/icret/received_events",
|
|
||||||
"type": "User",
|
|
||||||
"site_admin": false
|
|
||||||
},
|
|
||||||
"node_id": "RE_kwDOCzgjBc4DG8CF",
|
|
||||||
"tag_name": "2.3.0",
|
|
||||||
"target_commitish": "master",
|
|
||||||
"name": "EasyImage2.0 简单图床 ver:2.3.0",
|
|
||||||
"draft": false,
|
|
||||||
"prerelease": false,
|
|
||||||
"created_at": "2021-10-27T12:48:26Z",
|
|
||||||
"published_at": "2021-10-27T14:54:09Z",
|
|
||||||
"assets": [
|
|
||||||
|
|
||||||
],
|
|
||||||
"tarball_url": "https://api.github.com/repos/icret/EasyImages2.0/tarball/2.3.0",
|
|
||||||
"zipball_url": "https://api.github.com/repos/icret/EasyImages2.0/zipball/2.3.0",
|
|
||||||
"body": "* 2021-10-24 v2.3.0\r\n- 将服务器环境监测改为第一次打开时自动检测(如需再次展示需删除config目录下的EasyImage.lock)\r\n- 增加快捷操作中心显示服务信息\r\n- 增加自定义上传文件的命名方式(详见config.php文件里的注释)\r\n- 增加隐私政策、服务条款、DMCA\r\n- 增加自定义静态文件CDN源\r\n- 增加dns-prefetch\r\n- 删除了tinyfilemanager文件管理(感觉没什么用)\r\n- 一些bug得以修复"
|
|
||||||
}
|
|
|
@ -1,7 +0,0 @@
|
||||||
var _hmt = _hmt || [];
|
|
||||||
(function() {
|
|
||||||
var hm = document.createElement("script");
|
|
||||||
hm.src = "https://hm.baidu.com/hm.js?5320b69f4f1caa9328dfada73c8e6a75";
|
|
||||||
var s = document.getElementsByTagName("script")[0];
|
|
||||||
s.parentNode.insertBefore(hm, s);
|
|
||||||
})();
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,20 +0,0 @@
|
||||||
|
|
||||||
(function(){var root=(typeof self=='object'&&self.self==self&&self)||(typeof global=='object'&&global.global==global&&global)||this||{};Function.prototype.bind=Function.prototype.bind||function(context){if(typeof this!=="function"){throw new Error("Function.prototype.bind - what is trying to be bound is not callable");}
|
|
||||||
var self=this;var args=Array.prototype.slice.call(arguments,1);var fNOP=function(){};var fBound=function(){var bindArgs=Array.prototype.slice.call(arguments);self.apply(this instanceof fNOP?this:context,args.concat(bindArgs));}
|
|
||||||
fNOP.prototype=this.prototype;fBound.prototype=new fNOP();return fBound;}
|
|
||||||
var util={extend:function(target){for(var i=1,len=arguments.length;i<len;i++){for(var prop in arguments[i]){if(arguments[i].hasOwnProperty(prop)){target[prop]=arguments[i][prop]}}}
|
|
||||||
return target},addEvent:function(elem,type,fn){if(document.addEventListener){elem.addEventListener(type,fn,false);return fn;}else if(document.attachEvent){var bound=function(){return fn.apply(elem,arguments)}
|
|
||||||
elem.attachEvent('on'+type,bound);return bound;}},removeEvent:function(elem,type,fn){if(document.removeEventListener){elem.removeEventListener(type,fn,false)}
|
|
||||||
else{elem.detachEvent("on"+type,fn)}}}
|
|
||||||
function Lazy(opts){this.opts=util.extend({},this.constructor.defaultOpts,opts)
|
|
||||||
this.init();}
|
|
||||||
Lazy.VERSION='1.0.0';Lazy.defaultOpts={delay:250,useDebounce:false}
|
|
||||||
var proto=Lazy.prototype;proto.init=function(){this.calulateView();this.bindScrollEvent();};proto.calulateView=function(){this.view={top:0-(parseInt(this.opts.top,10)||0),bottom:(root.innerHeight||document.documentElement.clientHeight)+(parseInt(this.opts.bottom,10)||0),left:0-(parseInt(this.opts.left,10)||0),right:(root.innerWidth||document.documentElement.clientWidth)+(parseInt(this.opts.right,10)||0)}};proto.bindScrollEvent=function(){var scrollEvent=util.addEvent(root,'scroll',this.handleLazyLoad.bind(this))
|
|
||||||
var loadEvent=util.addEvent(root,'load',this.handleLazyLoad.bind(this))
|
|
||||||
this.event={scrollEvent:scrollEvent,loadEvent:loadEvent}};var timer=null;proto.handleLazyLoad=function(){var self=this;if(!this.opts.useDebounce&&!!timer){return;}
|
|
||||||
clearTimeout(timer);timer=setTimeout(function(){timer=null;self.render()},this.opts.delay);};proto.isHidden=function(element){return(element.offsetParent===null);};proto.checkInView=function(element){if(this.isHidden(element)){return false;}
|
|
||||||
var rect=element.getBoundingClientRect();return(rect.right>=this.view.left&&rect.bottom>=this.view.top&&rect.left<=this.view.right&&rect.top<=this.view.bottom);};proto.render=function(){var nodes=document.querySelectorAll('[data-image], [data-lazy-background]');var length=nodes.length;for(var i=0;i<length;i++){elem=nodes[i];if(this.checkInView(elem)){if(elem.getAttribute('data-lazy-background')!==null){elem.style.backgroundImage='url('+elem.getAttribute('data-lazy-background')+')';}else if(elem.src!==(src=elem.getAttribute('data-image'))){elem.src=src;}
|
|
||||||
elem.removeAttribute('data-image');elem.removeAttribute('data-lazy-background');if(this.opts.onload&&typeof this.opts.onload==='function'){this.opts.onload(elem);}}}
|
|
||||||
if(!length){this.unbindScrollEvent();}};proto.unbindScrollEvent=function(){util.removeEvent(root,'scroll',this.event.scrollEvent)
|
|
||||||
util.removeEvent(root,'load',this.event.loadEvent)};if(typeof exports!='undefined'&&!exports.nodeType){if(typeof module!='undefined'&&!module.nodeType&&module.exports){exports=module.exports=Lazy;}
|
|
||||||
exports.Lazy=Lazy;}else{root.Lazy=Lazy;}}());
|
|
|
@ -1,2 +0,0 @@
|
||||||
!function(n){"use strict";function d(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function f(n,t,r,e,o,u){return d((c=d(d(t,n),d(e,u)))<<(f=o)|c>>>32-f,r);var c,f}function l(n,t,r,e,o,u,c){return f(t&r|~t&e,n,t,o,u,c)}function v(n,t,r,e,o,u,c){return f(t&e|r&~e,n,t,o,u,c)}function g(n,t,r,e,o,u,c){return f(t^r^e,n,t,o,u,c)}function m(n,t,r,e,o,u,c){return f(r^(t|~e),n,t,o,u,c)}function i(n,t){var r,e,o,u;n[t>>5]|=128<<t%32,n[14+(t+64>>>9<<4)]=t;for(var c=1732584193,f=-271733879,i=-1732584194,a=271733878,h=0;h<n.length;h+=16)c=l(r=c,e=f,o=i,u=a,n[h],7,-680876936),a=l(a,c,f,i,n[h+1],12,-389564586),i=l(i,a,c,f,n[h+2],17,606105819),f=l(f,i,a,c,n[h+3],22,-1044525330),c=l(c,f,i,a,n[h+4],7,-176418897),a=l(a,c,f,i,n[h+5],12,1200080426),i=l(i,a,c,f,n[h+6],17,-1473231341),f=l(f,i,a,c,n[h+7],22,-45705983),c=l(c,f,i,a,n[h+8],7,1770035416),a=l(a,c,f,i,n[h+9],12,-1958414417),i=l(i,a,c,f,n[h+10],17,-42063),f=l(f,i,a,c,n[h+11],22,-1990404162),c=l(c,f,i,a,n[h+12],7,1804603682),a=l(a,c,f,i,n[h+13],12,-40341101),i=l(i,a,c,f,n[h+14],17,-1502002290),c=v(c,f=l(f,i,a,c,n[h+15],22,1236535329),i,a,n[h+1],5,-165796510),a=v(a,c,f,i,n[h+6],9,-1069501632),i=v(i,a,c,f,n[h+11],14,643717713),f=v(f,i,a,c,n[h],20,-373897302),c=v(c,f,i,a,n[h+5],5,-701558691),a=v(a,c,f,i,n[h+10],9,38016083),i=v(i,a,c,f,n[h+15],14,-660478335),f=v(f,i,a,c,n[h+4],20,-405537848),c=v(c,f,i,a,n[h+9],5,568446438),a=v(a,c,f,i,n[h+14],9,-1019803690),i=v(i,a,c,f,n[h+3],14,-187363961),f=v(f,i,a,c,n[h+8],20,1163531501),c=v(c,f,i,a,n[h+13],5,-1444681467),a=v(a,c,f,i,n[h+2],9,-51403784),i=v(i,a,c,f,n[h+7],14,1735328473),c=g(c,f=v(f,i,a,c,n[h+12],20,-1926607734),i,a,n[h+5],4,-378558),a=g(a,c,f,i,n[h+8],11,-2022574463),i=g(i,a,c,f,n[h+11],16,1839030562),f=g(f,i,a,c,n[h+14],23,-35309556),c=g(c,f,i,a,n[h+1],4,-1530992060),a=g(a,c,f,i,n[h+4],11,1272893353),i=g(i,a,c,f,n[h+7],16,-155497632),f=g(f,i,a,c,n[h+10],23,-1094730640),c=g(c,f,i,a,n[h+13],4,681279174),a=g(a,c,f,i,n[h],11,-358537222),i=g(i,a,c,f,n[h+3],16,-722521979),f=g(f,i,a,c,n[h+6],23,76029189),c=g(c,f,i,a,n[h+9],4,-640364487),a=g(a,c,f,i,n[h+12],11,-421815835),i=g(i,a,c,f,n[h+15],16,530742520),c=m(c,f=g(f,i,a,c,n[h+2],23,-995338651),i,a,n[h],6,-198630844),a=m(a,c,f,i,n[h+7],10,1126891415),i=m(i,a,c,f,n[h+14],15,-1416354905),f=m(f,i,a,c,n[h+5],21,-57434055),c=m(c,f,i,a,n[h+12],6,1700485571),a=m(a,c,f,i,n[h+3],10,-1894986606),i=m(i,a,c,f,n[h+10],15,-1051523),f=m(f,i,a,c,n[h+1],21,-2054922799),c=m(c,f,i,a,n[h+8],6,1873313359),a=m(a,c,f,i,n[h+15],10,-30611744),i=m(i,a,c,f,n[h+6],15,-1560198380),f=m(f,i,a,c,n[h+13],21,1309151649),c=m(c,f,i,a,n[h+4],6,-145523070),a=m(a,c,f,i,n[h+11],10,-1120210379),i=m(i,a,c,f,n[h+2],15,718787259),f=m(f,i,a,c,n[h+9],21,-343485551),c=d(c,r),f=d(f,e),i=d(i,o),a=d(a,u);return[c,f,i,a]}function a(n){for(var t="",r=32*n.length,e=0;e<r;e+=8)t+=String.fromCharCode(n[e>>5]>>>e%32&255);return t}function h(n){var t=[];for(t[(n.length>>2)-1]=void 0,e=0;e<t.length;e+=1)t[e]=0;for(var r=8*n.length,e=0;e<r;e+=8)t[e>>5]|=(255&n.charCodeAt(e/8))<<e%32;return t}function e(n){for(var t,r="0123456789abcdef",e="",o=0;o<n.length;o+=1)t=n.charCodeAt(o),e+=r.charAt(t>>>4&15)+r.charAt(15&t);return e}function r(n){return unescape(encodeURIComponent(n))}function o(n){return a(i(h(t=r(n)),8*t.length));var t}function u(n,t){return function(n,t){var r,e,o=h(n),u=[],c=[];for(u[15]=c[15]=void 0,16<o.length&&(o=i(o,8*n.length)),r=0;r<16;r+=1)u[r]=909522486^o[r],c[r]=1549556828^o[r];return e=i(u.concat(h(t)),512+8*t.length),a(i(c.concat(e),640))}(r(n),r(t))}function t(n,t,r){return t?r?u(t,n):e(u(t,n)):r?o(n):e(o(n))}"function"==typeof define&&define.amd?define(function(){return t}):"object"==typeof module&&module.exports?module.exports=t:n.md5=t}(this);
|
|
||||||
//# sourceMappingURL=md5.min.js.map
|
|
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
||||||
#nprogress{pointer-events:none}#nprogress .bar{background:#de1c31;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0,-4px);-ms-transform:rotate(3deg) translate(0,-4px);transform:rotate(3deg) translate(0,-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner 400ms linear infinite;animation:nprogress-spinner 400ms linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
|
|
|
@ -1 +0,0 @@
|
||||||
!function(n,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():n.NProgress=e()}(this,function(){function n(n,e,t){return e>n?e:n>t?t:n}function e(n){return 100*(-1+n)}function t(n,t,r){var i;return i="translate3d"===c.positionUsing?{transform:"translate3d("+e(n)+"%,0,0)"}:"translate"===c.positionUsing?{transform:"translate("+e(n)+"%,0)"}:{"margin-left":e(n)+"%"},i.transition="all "+t+"ms "+r,i}function r(n,e){var t="string"==typeof n?n:o(n);return t.indexOf(" "+e+" ")>=0}function i(n,e){var t=o(n),i=t+e;r(t,e)||(n.className=i.substring(1))}function s(n,e){var t,i=o(n);r(n,e)&&(t=i.replace(" "+e+" "," "),n.className=t.substring(1,t.length-1))}function o(n){return(" "+(n.className||"")+" ").replace(/\s+/gi," ")}function a(n){n&&n.parentNode&&n.parentNode.removeChild(n)}var u={};u.version="0.2.0";var c=u.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};u.configure=function(n){var e,t;for(e in n)t=n[e],void 0!==t&&n.hasOwnProperty(e)&&(c[e]=t);return this},u.status=null,u.set=function(e){var r=u.isStarted();e=n(e,c.minimum,1),u.status=1===e?null:e;var i=u.render(!r),s=i.querySelector(c.barSelector),o=c.speed,a=c.easing;return i.offsetWidth,l(function(n){""===c.positionUsing&&(c.positionUsing=u.getPositioningCSS()),f(s,t(e,o,a)),1===e?(f(i,{transition:"none",opacity:1}),i.offsetWidth,setTimeout(function(){f(i,{transition:"all "+o+"ms linear",opacity:0}),setTimeout(function(){u.remove(),n()},o)},o)):setTimeout(n,o)}),this},u.isStarted=function(){return"number"==typeof u.status},u.start=function(){u.status||u.set(0);var n=function(){setTimeout(function(){u.status&&(u.trickle(),n())},c.trickleSpeed)};return c.trickle&&n(),this},u.done=function(n){return n||u.status?u.inc(.3+.5*Math.random()).set(1):this},u.inc=function(e){var t=u.status;return t?("number"!=typeof e&&(e=(1-t)*n(Math.random()*t,.1,.95)),t=n(t+e,0,.994),u.set(t)):u.start()},u.trickle=function(){return u.inc(Math.random()*c.trickleRate)},function(){var n=0,e=0;u.promise=function(t){return t&&"resolved"!==t.state()?(0===e&&u.start(),n++,e++,t.always(function(){e--,0===e?(n=0,u.done()):u.set((n-e)/n)}),this):this}}(),u.render=function(n){if(u.isRendered())return document.getElementById("nprogress");i(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=c.template;var r,s=t.querySelector(c.barSelector),o=n?"-100":e(u.status||0),l=document.querySelector(c.parent);return f(s,{transition:"all 0 linear",transform:"translate3d("+o+"%,0,0)"}),c.showSpinner||(r=t.querySelector(c.spinnerSelector),r&&a(r)),l!=document.body&&i(l,"nprogress-custom-parent"),l.appendChild(t),t},u.remove=function(){s(document.documentElement,"nprogress-busy"),s(document.querySelector(c.parent),"nprogress-custom-parent");var n=document.getElementById("nprogress");n&&a(n)},u.isRendered=function(){return!!document.getElementById("nprogress")},u.getPositioningCSS=function(){var n=document.body.style,e="WebkitTransform"in n?"Webkit":"MozTransform"in n?"Moz":"msTransform"in n?"ms":"OTransform"in n?"O":"";return e+"Perspective"in n?"translate3d":e+"Transform"in n?"translate":"margin"};var l=function(){function n(){var t=e.shift();t&&t(n)}var e=[];return function(t){e.push(t),1==e.length&&n()}}(),f=function(){function n(n){return n.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(n,e){return e.toUpperCase()})}function e(n){var e=document.body.style;if(n in e)return n;for(var t,r=i.length,s=n.charAt(0).toUpperCase()+n.slice(1);r--;)if(t=i[r]+s,t in e)return t;return n}function t(t){return t=n(t),s[t]||(s[t]=e(t))}function r(n,e,r){e=t(e),n.style[e]=r}var i=["Webkit","O","Moz","ms"],s={};return function(n,e){var t,i,s=arguments;if(2==s.length)for(t in e)i=e[t],void 0!==i&&e.hasOwnProperty(t)&&r(n,t,i);else r(n,s[1],s[2])}}();return u});
|
|
|
@ -1,54 +0,0 @@
|
||||||
/**
|
|
||||||
* 复制、截图 简单图床修改版
|
|
||||||
*/
|
|
||||||
(function () {
|
|
||||||
document.addEventListener('paste', function (e) {
|
|
||||||
var items = ((e.clipboardData || window.clipboardData).items) || [];
|
|
||||||
var file = null;
|
|
||||||
|
|
||||||
if (items && items.length) {
|
|
||||||
for (var i = 0; i < items.length; i++) {
|
|
||||||
if (items[i].type.indexOf('image') !== -1) {
|
|
||||||
file = items[i].getAsFile();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!file) {
|
|
||||||
alert('粘贴内容非图片!');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var formData = new FormData();
|
|
||||||
formData.append('file', file);
|
|
||||||
|
|
||||||
var xhr = new XMLHttpRequest();
|
|
||||||
xhr.onload = function () {
|
|
||||||
try {
|
|
||||||
var result = JSON.parse(this.responseText);
|
|
||||||
if (result.result === 'success') {
|
|
||||||
var links = document.getElementById("links");
|
|
||||||
links.innerHTML += result.url + "\n";
|
|
||||||
|
|
||||||
var bbscode = document.getElementById("bbscode");
|
|
||||||
bbscode.innerHTML += "[img]" + result.url + "[/img]\n";
|
|
||||||
|
|
||||||
var markdown = document.getElementById("markdown");
|
|
||||||
markdown.innerHTML += "\n";
|
|
||||||
|
|
||||||
var html = document.getElementById("html");
|
|
||||||
html.innerHTML += "<img src=\"" + result.url + "\" />\n";
|
|
||||||
} else {
|
|
||||||
alert('上传失败1');
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
alert('上传失败2');
|
|
||||||
}
|
|
||||||
};
|
|
||||||
xhr.onerror = function () {
|
|
||||||
alert('上传失败3');
|
|
||||||
};
|
|
||||||
xhr.open('POST', './file.php', true);
|
|
||||||
xhr.send(formData);
|
|
||||||
});
|
|
||||||
})();
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 289 KiB |
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,5 +0,0 @@
|
||||||
/*!
|
|
||||||
* Datetimepicker for Bootstrap
|
|
||||||
* Copyright 2012 Stefan Petre
|
|
||||||
* Licensed under the Apache License v2.0
|
|
||||||
*/.datetimepicker{padding:4px;margin-top:1px;white-space:normal;border-radius:4px;direction:ltr}.datetimepicker.datetimepicker-rtl{direction:rtl}.datetimepicker.datetimepicker-rtl table tr td span{float:right}.datetimepicker>div{display:none}.datetimepicker.minutes div.datetimepicker-minutes{display:block}.datetimepicker.hours div.datetimepicker-hours{display:block}.datetimepicker.days div.datetimepicker-days{display:block}.datetimepicker.months div.datetimepicker-months{display:block}.datetimepicker.years div.datetimepicker-years{display:block}.datetimepicker table{margin:0}.datetimepicker table tr td.minute:hover{cursor:pointer;background:#eee}.datetimepicker table tr td.hour:hover{cursor:pointer;background:#eee}.datetimepicker table tr td.day:hover{cursor:pointer;background:#eee}.datetimepicker table tr td span{display:block;float:left;width:23%;height:54px;margin:1%;line-height:54px;cursor:pointer;border-radius:4px}.datetimepicker table tr td span:hover{background:#eee}.datetimepicker table tr td span.old{color:#999}.datetimepicker .datetimepicker-hours span{height:26px;line-height:26px}.datetimepicker .datetimepicker-minutes span{height:26px;line-height:26px}.datetimepicker th.switch{width:145px}.datetimepicker-inline{width:220px}.datetimepicker-dropdown,.datetimepicker-dropdown-left{top:0;left:0}[class*=datetimepicker-dropdown]:before{position:absolute;display:inline-block;content:'';border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,.2);border-left:7px solid transparent}[class*=datetimepicker-dropdown]:after{position:absolute;display:inline-block;content:'';border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent}[class*=datetimepicker-dropdown-top]:before{display:inline-block;content:'';border-top:7px solid #ccc;border-top-color:rgba(0,0,0,.2);border-right:7px solid transparent;border-bottom:0;border-left:7px solid transparent}[class*=datetimepicker-dropdown-top]:after{display:inline-block;content:'';border-top:6px solid #fff;border-right:6px solid transparent;border-bottom:0;border-left:6px solid transparent}.datetimepicker-dropdown-bottom-left:before{top:-7px;right:6px}.datetimepicker-dropdown-bottom-left:after{top:-6px;right:7px}.datetimepicker-dropdown-bottom-right:before{top:-7px;left:6px}.datetimepicker-dropdown-bottom-right:after{top:-6px;left:7px}.datetimepicker-dropdown-top-left:before{right:6px;bottom:-7px}.datetimepicker-dropdown-top-left:after{right:7px;bottom:-6px}.datetimepicker-dropdown-top-right:before{bottom:-7px;left:6px}.datetimepicker-dropdown-top-right:after{bottom:-6px;left:7px}.datetimepicker td,.datetimepicker th{width:22px;height:20px;padding:3px 0;text-align:center;border:none;border-radius:4px}.table-striped .datetimepicker td,.table-striped .datetimepicker th{background-color:transparent}.datetimepicker td.new,.datetimepicker td.old{color:#999}.datetimepicker td.disabled,.datetimepicker td.disabled:hover{color:#999;cursor:default;background:0 0}.datetimepicker td.day.today{color:#fff;background-color:#f1a325;border-color:#f1a325;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25)}.datetimepicker td.day.active{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#3280fc;border-color:#0462f7;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25)}.datetimepicker td.day.active:hover{background-color:#0462f7}.datetimepicker td.day.today.active:hover,.datetimepicker td.day.today:hover{background-color:#d5890e}.datetimepicker .datetimepicker-hours td span.hour_am,.datetimepicker .datetimepicker-hours td span.hour_pm{width:14.6%}.datetimepicker .datetimepicker-hours fieldset legend,.datetimepicker .datetimepicker-minutes fieldset legend{margin-bottom:inherit;line-height:30px}.datetimepicker td span.disabled,.datetimepicker td span.disabled:hover{color:#999;cursor:default;background:0 0}.datetimepicker td span.active,.datetimepicker td span.active.disabled,.datetimepicker td span.active.disabled:hover,.datetimepicker td span.active:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25);background-color:#3280fc;border-color:#0462f7;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25)}.datetimepicker tfoot tr:first-child th,.datetimepicker thead tr:first-child th{cursor:pointer}.datetimepicker tfoot tr:first-child th:hover,.datetimepicker thead tr:first-child th:hover{background:#eee}.input-group.date>.input-group-addon{border-left:none}.input-append.date .add-on i,.input-group.date .input-group-addon span,.input-prepend.date .add-on i{width:14px;height:14px;cursor:pointer}.datetimepicker-only-time table{width:190px}.datetimepicker-only-time tfoot,.datetimepicker-only-time thead{display:none}
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue