first commit

This commit is contained in:
hero920103 committed 2025-11-28 10:08:12 +08:00
commit 09a14bf0a3
1088 files changed
+145132

No files matched your search

+277
View File
@@ -0,0 +1,277 @@
var curMenu = null, menuTree = null;
var ajaxSetting = {
edit: {
drag: {
autoExpandTrigger: true,
prev: true,
inner: true,
next: true
},
enable: true,
showRemoveBtn: false,
showRenameBtn: false
},
view: {
showLine: false,
showIcon: false,
selectedMulti: false,
dblClickExpand: false,
addDiyDom: addDiyDom
},
data: {
key: {
name: 'title',
children: null,
},
simpleData: {
enable: true,
idKey: "id",
pIdKey: 'parent_id',
rootPId: 0,
}
},
callback: {
onClick: onClick,
},
};
var loadingHandler;
function switchNode(event, treeId, treeNode) {
if ('pushState' in history) {
history.pushState('', '', treeNode.url);
getChapter(treeNode.url);
}
else {
location = treeNode.url;
}
menuTree.expandNode(treeNode, true)
event.preventDefault()
}
function getChapter(url) {
if (void 0 === url) {
return;
}
loadingHandler = layer.open({
type: 3,
icon: 2,
shade: 0.1,
});
$.ajax({
method: 'GET',
url: url,
success: function (result) {
try {
var resultElement = $(result);
$('#article-content').html(resultElement.find('#article-content').html());
onContentChange();
var hash = location.hash;
if (hash.length > 0) {
location.hash = '';
location.hash = hash;
}
else {
// 有时切换文档不在最上面
$('#content_body').scrollTop(0)
}
}
catch (err) {
layer.alert('文档加载失败', { icon: 2 });
}
},
error: function () {
location = url;
},
complete: function () {
layer.close(loadingHandler);
},
});
}
function addDiyDom(treeId, treeNode) {
var spaceWidth = 5;
var switchObj = $("#" + treeNode.tId + "_switch"),
icoObj = $("#" + treeNode.tId + "_ico");
switchObj.remove();
icoObj.before(switchObj);
if (treeNode.level > 1) {
var spaceStr = "<span style='display: inline-block;width:" + (spaceWidth * treeNode.level) + "px'></span>";
switchObj.before(spaceStr);
}
}
function initTree(data) {
for (var i in data) {
data[i].target = '_self';
}
if (null === menuTree) {
var treeObj = $("#treeDirectory");
$.fn.zTree.init(treeObj, ajaxSetting, data);
menuTree = $.fn.zTree.getZTreeObj("treeDirectory");
var nodes = menuTree.getNodesByParam('url', location.pathname + location.hash, null);
if (nodes.length > 0) {
if (nodes.length > 1) {
if (menuTree.getSelectedNodes().length > 0) {
return;
}
}
menuTree.selectNode(nodes[0]);
}
else {
menuTree.selectNode(menuTree.getNodeByParam('id', currentCatalog.id, null));
}
}
}
function onClick(event, treeId, treeNode) {
// 未修改内容,直接切换
switchNode(event, treeId, treeNode);
setTimeout(function () {
closeMenuLeft();
}, 600);
}
function parseLeftHeight() {
$('#leftbar .layui-tab-content').css('max-height', ($('#leftbar').height() - $('#leftbar .layui-tab-title').height() - $('#leftbar .copyright').height()) + 'px');
}
function onContentChange() {
$('#content-toc').css('max-height', ($(document).height() / 2) + 'px');
hCatalog('#article-content', '#content-toc');
var content = $('#article-content');
content.find('blockquote').addClass('layui-elem-quote');
content.find('table').addClass('layui-table');
content.find('pre code').each(function (index, item) {
var pre = $(item).parent();
var content = $(item).text();
var brush = parseCodeBrush($(item).attr('class'));
var newPre = $('<pre></pre>').addClass('brush: ' + brush).addClass('toolbar: false').text(content);
pre.replaceWith(newPre);
});
SyntaxHighlighter.highlight();
//initSearchDatas();
$('#content_body a').each(function () {
var url = $(this).attr('href');
if (void 0 !== url && '#' !== url.substr(0, 1) && 'http' === url.substr(0, 4)) {
$(this).attr('target', '_blank');
}
})
setTimeout(function () {
resizeCode();
}, 1)
}
function parseCodeBrush(brush) {
for (var i in SyntaxHighlighter.brushes) {
if (SyntaxHighlighter.brushes[i].aliases.indexOf(brush) > -1) {
return brush;
}
}
return 'text';
}
function resizeCode() {
var guttelines = $('.gutter .line');
var codelines = $('.code .line');
for (var i = 0; i < guttelines.length; i++) {
var codeline = codelines.eq(i);
var height = codeline.css('height');
guttelines.eq(i).css('height', height)
codeline.css('height', height);
}
}
// 基于这里的代码做了修改: https://blog.csdn.net/weixin_57215431/article/details/115676752
function hCatalog(current, target) {
var box = document.querySelector(target)
if (!box) {
return;
}
box.innerHTML = ''
var titleTree = hTree(document.querySelector(current))
hCreatEle(titleTree, box)
}
function hCreatEle(arr, parent) {
if (!arr.length) return
var ol = document.createElement('ol')
arr.forEach(function (item) {
if ('' !== item.node.innerHTML) {
var li = document.createElement('li')
li.innerHTML = item.node.innerHTML
hCreatEle(item.children, li)
ol.appendChild(li)
}
})
parent.appendChild(ol)
}
function hTree(wrapNode) {
var root = { children: [] }
var current = root
for (var i = 0; i < wrapNode.children.length; ++i) {
var item = wrapNode.children[i]
if (item.localName.indexOf('h') === 0) {
var obj = { node: item, children: [], parent: undefined }
while (current !== root && current.node.localName[1] - obj.node.localName[1] !== -1) {
current = current.parent
}
obj.parent = current
obj.parent.children.push(obj)
current = obj
}
}
return root.children
}
function initContentToc() {
var isDown = false;
var beginLeft = 0
var beginTop = 0;
var mouseBeginLeft = 0
var mouseBeginTop = 0;
$(document).on('mousedown', '.content-toc-title', function (e) {
var wrap = $('#content-toc-wrap');
isDown = true;
beginLeft = wrap[0].offsetLeft;
beginTop = wrap[0].offsetTop;
mouseBeginLeft = e.pageX;
mouseBeginTop = e.pageY;
e.preventDefault();
});
$(document).on('mouseup', function () {
isDown = false;
});
$(document).on('mousemove', function (e) {
if (isDown) {
var wrap = $('#content-toc-wrap');
wrap.css('left', (beginLeft + (e.pageX - mouseBeginLeft)) + 'px');
wrap.css('top', (beginTop + (e.pageY - mouseBeginTop)) + 'px');
}
});
}
$(function () {
parseLeftHeight();
$(window).resize(function () {
parseLeftHeight();
});
$('body').on('click', '.ztree.showIcon li a span.button.switch', function (e) {
return false;
});
initContentToc();
SyntaxHighlighter.all();
onContentChange();
})
$(window).load(function () {
$(window).resize(resizeCode);
});
+10
View File
@@ -0,0 +1,10 @@
$.ajaxSetup({
xhrFields: {
withCredentials: true
},
});
$(function(){
layui.element.init();
layui.table.init();
layui.form.render();
});
+1
View File
@@ -0,0 +1 @@
var XRegExp,SyntaxHighlighter;if(XRegExp)throw Error("can't load XRegExp twice in the same frame");!function(l){(XRegExp=function(e,t){var r,i,n,s=[],a=XRegExp.OUTSIDE_CLASS,o=0;if(XRegExp.isRegExp(e)){if(t!==l)throw TypeError("can't supply flags when constructing one RegExp from another");return m(e)}if(g)throw Error("can't call the XRegExp constructor within token definition functions");for(t=t||"",r={hasNamedCapture:!1,captureNames:[],hasFlag:function(e){return-1<t.indexOf(e)},setFlag:function(e){t+=e}};o<e.length;)(i=function(e,t,r,i){var n,s,a,o=d.length;g=!0;try{for(;o--;)if(a=d[o],r&a.scope&&(!a.trigger||a.trigger.call(i))&&(a.pattern.lastIndex=t,s=a.pattern.exec(e))&&s.index===t){n={output:a.handler.call(i,s,r),match:s};break}}catch(e){throw e}finally{g=!1}return n}(e,o,a,r))?(s.push(i.output),o+=i.match[0].length||1):(i=h.exec.call(p[a],e.slice(o)))?(s.push(i[0]),o+=i[0].length):("["===(i=e.charAt(o))?a=XRegExp.INSIDE_CLASS:"]"===i&&(a=XRegExp.OUTSIDE_CLASS),s.push(i),o++);return(n=RegExp(s.join(""),h.replace.call(t,c,"")))._xregexp={source:e,captureNames:r.hasNamedCapture?r.captureNames:null},n}).version="1.5.1",XRegExp.INSIDE_CLASS=1,XRegExp.OUTSIDE_CLASS=2;var e,o=/\$(?:(\d\d?|[$&`'])|{([$\w]+)})/g,c=/[^gimy]+|([\s\S])(?=[\s\S]*\1)/g,t=/^(?:[?*+]|{\d+(?:,\d*)?})\??/,g=!1,d=[],h={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},a=h.exec.call(/()??/,"")[1]===l,u=(e=/^/g,h.test.call(e,""),!e.lastIndex),s=RegExp.prototype.sticky!==l,p={};function m(e,t){var r;if(XRegExp.isRegExp(e))return r=e._xregexp,e=XRegExp(e.source,f(e)+(t||"")),r&&(e._xregexp={source:r.source,captureNames:r.captureNames?r.captureNames.slice(0):null}),e;throw TypeError("type RegExp expected")}function f(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function x(e,t,r){if(Array.prototype.indexOf)return e.indexOf(t,r);for(var i=r||0;i<e.length;i++)if(e[i]===t)return i;return-1}p[XRegExp.INSIDE_CLASS]=/^(?:\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S]))/,p[XRegExp.OUTSIDE_CLASS]=/^(?:\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??)/,XRegExp.addToken=function(e,t,r,i){d.push({pattern:m(e,"g"+(s?"y":"")),handler:t,scope:r||XRegExp.OUTSIDE_CLASS,trigger:i||null})},XRegExp.cache=function(e,t){var r=e+"/"+(t||"");return XRegExp.cache[r]||(XRegExp.cache[r]=XRegExp(e,t))},XRegExp.copyAsGlobal=function(e){return m(e,"g")},XRegExp.escape=function(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},XRegExp.execAt=function(e,t,r,i){var n=m(t,"g"+(i&&s?"y":""));return n.lastIndex=r=r||0,e=n.exec(e),i&&e&&e.index!==r&&(e=null),t.global&&(t.lastIndex=e?n.lastIndex:0),e},XRegExp.freezeTokens=function(){XRegExp.addToken=function(){throw Error("can't run addToken after freezeTokens")}},XRegExp.isRegExp=function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},XRegExp.iterate=function(e,t,r,i){for(var n,s=m(t,"g"),a=-1;n=s.exec(e);)t.global&&(t.lastIndex=s.lastIndex),r.call(i,n,++a,e,t),s.lastIndex===n.index&&s.lastIndex++;t.global&&(t.lastIndex=0)},XRegExp.matchChain=function(e,o){return function e(t,r){for(var i=o[r].regex?o[r]:{regex:o[r]},n=m(i.regex,"g"),s=[],a=0;a<t.length;a++)XRegExp.iterate(t[a],n,function(e){s.push(i.backref?e[i.backref]||"":e[0])});return r!==o.length-1&&s.length?e(s,r+1):s}([e],0)},RegExp.prototype.apply=function(e,t){return this.exec(t[0])},RegExp.prototype.call=function(e,t){return this.exec(t)},RegExp.prototype.exec=function(e){var t,r,i,n;if(this.global||(n=this.lastIndex),t=h.exec.apply(this,arguments)){if(!a&&1<t.length&&-1<x(t,"")&&(i=RegExp(this.source,h.replace.call(f(this),"g","")),h.replace.call((e+"").slice(t.index),i,function(){for(var e=1;e<arguments.length-2;e++)arguments[e]===l&&(t[e]=l)})),this._xregexp&&this._xregexp.captureNames)for(var s=1;s<t.length;s++)(r=this._xregexp.captureNames[s-1])&&(t[r]=t[s]);!u&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--}return this.global||(this.lastIndex=n),t},RegExp.prototype.test=function(e){var t;return this.global||(t=this.lastIndex),(e=h.exec.call(this,e))&&!u&&this.global&&!e[0].length&&this.lastIndex>e.index&&this.lastIndex--,this.global||(this.lastIndex=t),!!e},String.prototype.match=function(e){var t;return(e=XRegExp.isRegExp(e)?e:RegExp(e)).global?(t=h.match.apply(this,arguments),e.lastIndex=0,t):e.exec(this)},String.prototype.replace=function(t,r){var a,e,i,n=XRegExp.isRegExp(t);return n?(t._xregexp&&(a=t._xregexp.captureNames),t.global||(i=t.lastIndex)):t+="",e="[object Function]"===Object.prototype.toString.call(r)?h.replace.call(this+"",t,function(){if(a){arguments[0]=new String(arguments[0]);for(var e=0;e<a.length;e++)a[e]&&(arguments[0][a[e]]=arguments[e+1])}return n&&t.global&&(t.lastIndex=arguments[arguments.length-2]+arguments[0].length),rLine truncated