mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-09-24 04:53:33 +08:00
完成用户管理,layui弹出有问题
This commit is contained in:
@@ -1,2 +1,123 @@
|
||||
/** layui-v2.1.0 MIT License By http://www.layui.com */
|
||||
;layui.define("jquery",function(e){"use strict";var o=layui.$,t={fixbar:function(e){var t,a,i="layui-fixbar",l="layui-fixbar-top",r=o(document),c=o("body");e=o.extend({showHeight:200},e),e.bar1=e.bar1===!0?"":e.bar1,e.bar2=e.bar2===!0?"":e.bar2,e.bgcolor=e.bgcolor?"background-color:"+e.bgcolor:"";var n=[e.bar1,e.bar2,""],u=o(['<ul class="'+i+'">',e.bar1?'<li class="layui-icon" lay-type="bar1" style="'+e.bgcolor+'">'+n[0]+"</li>":"",e.bar2?'<li class="layui-icon" lay-type="bar2" style="'+e.bgcolor+'">'+n[1]+"</li>":"",'<li class="layui-icon '+l+'" lay-type="top" style="'+e.bgcolor+'">'+n[2]+"</li>","</ul>"].join("")),s=u.find("."+l),b=function(){var o=r.scrollTop();o>=e.showHeight?t||(s.show(),t=1):t&&(s.hide(),t=0)};o("."+i)[0]||("object"==typeof e.css&&u.css(e.css),c.append(u),b(),u.find("li").on("click",function(){var t=o(this),a=t.attr("lay-type");"top"===a&&o("html,body").animate({scrollTop:0},200),e.click&&e.click.call(this,a)}),r.on("scroll",function(){clearTimeout(a),a=setTimeout(function(){b()},100)}))},countdown:function(e,o,t){var a=this,i="function"==typeof o,l=new Date(e).getTime(),r=new Date(!o||i?(new Date).getTime():o).getTime(),c=l-r,n=[Math.floor(c/864e5),Math.floor(c/36e5)%24,Math.floor(c/6e4)%60,Math.floor(c/1e3)%60];i&&(t=o);var u=setTimeout(function(){a.countdown(e,r+1e3,t)},1e3);return t&&t(c>0?n:[0,0,0,0],o,u),c<=0&&clearTimeout(u),u},timeAgo:function(e,o){var t=(new Date).getTime()-new Date(e).getTime();return t>2592e6?(t=new Date(e).toLocaleString(),o&&(t=t.replace(/\s[\S]+$/g,"")),t):t>=864e5?(t/1e3/60/60/24|0)+"天前":t>=36e5?(t/1e3/60/60|0)+"小时前":t>=18e4?(t/1e3/60|0)+"分钟前":t<0?"未来":"刚刚"}};e("util",t)});
|
||||
/**
|
||||
|
||||
@Name:layui.util 工具集
|
||||
@Author:贤心
|
||||
@License:MIT
|
||||
|
||||
*/
|
||||
|
||||
layui.define('jquery', function(exports){
|
||||
"use strict";
|
||||
|
||||
var $ = layui.$
|
||||
|
||||
//外部接口
|
||||
,util = {
|
||||
//固定块
|
||||
fixbar: function(options){
|
||||
var ELEM = 'layui-fixbar', TOP_BAR = 'layui-fixbar-top'
|
||||
,dom = $(document), body = $('body')
|
||||
,is, timer;
|
||||
|
||||
options = $.extend({
|
||||
showHeight: 200 //出现TOP的滚动条高度临界值
|
||||
}, options);
|
||||
|
||||
options.bar1 = options.bar1 === true ? '' : options.bar1;
|
||||
options.bar2 = options.bar2 === true ? '' : options.bar2;
|
||||
options.bgcolor = options.bgcolor ? ('background-color:' + options.bgcolor) : '';
|
||||
|
||||
var icon = [options.bar1, options.bar2, ''] //图标:信息、问号、TOP
|
||||
,elem = $(['<ul class="'+ ELEM +'">'
|
||||
,options.bar1 ? '<li class="layui-icon" lay-type="bar1" style="'+ options.bgcolor +'">'+ icon[0] +'</li>' : ''
|
||||
,options.bar2 ? '<li class="layui-icon" lay-type="bar2" style="'+ options.bgcolor +'">'+ icon[1] +'</li>' : ''
|
||||
,'<li class="layui-icon '+ TOP_BAR +'" lay-type="top" style="'+ options.bgcolor +'">'+ icon[2] +'</li>'
|
||||
,'</ul>'].join(''))
|
||||
,topBar = elem.find('.'+TOP_BAR)
|
||||
,scroll = function(){
|
||||
var stop = dom.scrollTop();
|
||||
if(stop >= (options.showHeight)){
|
||||
is || (topBar.show(), is = 1);
|
||||
} else {
|
||||
is && (topBar.hide(), is = 0);
|
||||
}
|
||||
};
|
||||
if($('.'+ ELEM)[0]) return;
|
||||
|
||||
typeof options.css === 'object' && elem.css(options.css);
|
||||
body.append(elem), scroll();
|
||||
|
||||
//bar点击事件
|
||||
elem.find('li').on('click', function(){
|
||||
var othis = $(this), type = othis.attr('lay-type');
|
||||
if(type === 'top'){
|
||||
$('html,body').animate({
|
||||
scrollTop : 0
|
||||
}, 200);
|
||||
}
|
||||
options.click && options.click.call(this, type);
|
||||
});
|
||||
|
||||
//Top显示控制
|
||||
dom.on('scroll', function(){
|
||||
clearTimeout(timer);
|
||||
timer = setTimeout(function(){
|
||||
scroll();
|
||||
}, 100);
|
||||
});
|
||||
}
|
||||
|
||||
//倒计时
|
||||
,countdown: function(endTime, serverTime, callback){
|
||||
var that = this
|
||||
,type = typeof serverTime === 'function'
|
||||
,end = new Date(endTime).getTime()
|
||||
,now = new Date((!serverTime || type) ? new Date().getTime() : serverTime).getTime()
|
||||
,count = end - now
|
||||
,time = [
|
||||
Math.floor(count/(1000*60*60*24)) //天
|
||||
,Math.floor(count/(1000*60*60)) % 24 //时
|
||||
,Math.floor(count/(1000*60)) % 60 //分
|
||||
,Math.floor(count/1000) % 60 //秒
|
||||
];
|
||||
|
||||
if(type) callback = serverTime;
|
||||
|
||||
var timer = setTimeout(function(){
|
||||
that.countdown(endTime, now + 1000, callback);
|
||||
}, 1000);
|
||||
|
||||
callback && callback(count > 0 ? time : [0,0,0,0], serverTime, timer);
|
||||
|
||||
if(count <= 0) clearTimeout(timer);
|
||||
return timer;
|
||||
}
|
||||
|
||||
//某个时间在当前时间的多久前
|
||||
,timeAgo: function(time, onlyDate){
|
||||
var stamp = new Date().getTime() - new Date(time).getTime();
|
||||
|
||||
//超过30天,返回具体日期
|
||||
if(stamp > 1000*60*60*24*30){
|
||||
stamp = new Date(time).toLocaleString();
|
||||
onlyDate && (stamp = stamp.replace(/\s[\S]+$/g, ''));
|
||||
return stamp;
|
||||
}
|
||||
|
||||
//30天以内,返回“多久前”
|
||||
if(stamp >= 1000*60*60*24){
|
||||
return ((stamp/1000/60/60/24)|0) + '天前';
|
||||
} else if(stamp >= 1000*60*60){
|
||||
return ((stamp/1000/60/60)|0) + '小时前';
|
||||
} else if(stamp >= 1000*60*3){ //3分钟以内为:刚刚
|
||||
return ((stamp/1000/60)|0) + '分钟前';
|
||||
} else if(stamp < 0){
|
||||
return '未来';
|
||||
} else {
|
||||
return '刚刚';
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
exports('util', util);
|
||||
});
|
Reference in New Issue
Block a user