From 407b840b9e4a6b1375b2c0063fedc26b00c72bb9 Mon Sep 17 00:00:00 2001 From: betterbeast2023 Date: Thu, 18 Jun 2026 20:17:57 +0800 Subject: [PATCH] c --- website/index.html | 56 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 39 insertions(+), 17 deletions(-) diff --git a/website/index.html b/website/index.html index 74cf67f..fc0248f 100644 --- a/website/index.html +++ b/website/index.html @@ -9,18 +9,21 @@ body{font-size:18px!important;line-height:2;font-family:sans-serif;margin:.5em 1 h1{font-size:24px!important;margin-top:0;margin-bottom:.5em;border-bottom:2px solid #ccc;padding-bottom:.3em} .breadcrumb{font-size:18px;margin-bottom:.75em} .breadcrumb a{color:#0066cc;cursor:pointer} +.tools-nav{margin-bottom:.75em} +.tools-link{text-decoration:underline;font-style:italic} .loading{font-size:20px;color:#666} .error{color:#c00;font-size:18px} .user-bar{margin-bottom:.4em;padding:.25em 0;display:flex;align-items:center;justify-content:flex-end;gap:1em} .user-bar .logged-in{color:green} .user-bar .logout-btn{padding:.3em .8em;font-size:16px;cursor:pointer;background:#0066cc;color:#fff;border:none;border-radius:4px} .user-bar .logout-btn:hover{background:#0052a3} -.file-list{width:100%} -.file-table{width:100%;border-collapse:collapse;margin-top:.25em;table-layout:fixed} -.file-table th,.file-table td{padding:.45em .65em;border-bottom:1px solid #ddd;text-align:left;vertical-align:middle;word-break:break-word} -.file-table th{font-size:17px;font-weight:600;color:#333;background:#f5f5f5;border-bottom:2px solid #ccc} -.file-table td:nth-child(1){width:52%} -.file-table td:nth-child(2),.file-table td:nth-child(3){font-size:16px;color:#555;white-space:nowrap} +.file-list{margin-top:.25em;overflow-x:auto} +.file-table{border-collapse:collapse;width:75%;table-layout:fixed} +.file-table th,.file-table td{padding:.45em .65em;border-bottom:1px solid #ddd;text-align:left;vertical-align:middle} +.file-table thead th{font-size:17px;font-weight:600;color:#333;background:#f5f5f5;border-bottom:2px solid #ccc} +.file-table .col-name{width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} +.file-table .col-size{width:10%;white-space:nowrap;font-size:16px;color:#555} +.file-table .col-mtime{width:20%;white-space:nowrap;font-size:16px;color:#555} .file-table a{font-size:19px!important;color:#0066cc;text-decoration:none} .file-table a:hover{text-decoration:underline} .file-table .dir{font-weight:bold;cursor:pointer} @@ -85,22 +88,38 @@ return mtime; } } +function normalizeName(name){ +return (name||"").replace(/\/$/,""); +} + +function isDirectory(item){ +return item.type==="directory"||/\/$/.test(item.name||""); +} + function renderBreadcrumb(path){ var parts=path?path.split("/").filter(Boolean):[]; if(parts.length===0){ document.getElementById("breadcrumb").innerHTML=""; return; } -var html=""; +var inTools=parts[0]==="tools"; +var html='根目录'; var acc=""; for(var i=0;i0)html+=" / "; -html+=''+ parts[i]+""; +var linkClass=parts[i]==="tools"?' class="tools-link"':''; +html+=' / '+escapeHtml(parts[i])+""; } document.getElementById("breadcrumb").innerHTML=html; } +function buildToolsNavHtml(path,items){ +if(path)return ""; +var hasTools=items.some(function(item){return isDirectory(item)&&normalizeName(item.name)==="tools"}); +if(!hasTools)return ""; +return ''; +} + window.navigateTo=function(path){ window.location.href=path; }; @@ -133,28 +152,31 @@ renderBreadcrumb(path); var rows=""; var items=Array.isArray(data)?data:[]; +var toolsHtml=buildToolsNavHtml(path,items); items.forEach(function(item){ if(shouldHideFile(item.name))return; -var fullPath=(path?path+"/":"")+item.name; -var isDir=item.type==="directory"; +var name=normalizeName(item.name); +if(!path&&isDirectory(item)&&name==="tools")return; +var fullPath=(path?path+"/":"")+name; +var isDir=isDirectory(item); var size=formatSize(item.size); var mtime=formatMtime(item.mtime); -var nameEsc=escapeHtml(item.name); +var nameEsc=escapeHtml(name)+(isDir?"/":""); if(isDir){ var navPath="/"+fullPath+"/"; -rows+=""+nameEsc+"/"+escapeHtml(size)+""+escapeHtml(mtime)+""; +rows+=""+nameEsc+""+escapeHtml(size)+""+escapeHtml(mtime)+""; }else{ -rows+=""+nameEsc+""+escapeHtml(size)+""+escapeHtml(mtime)+""; +rows+=""+nameEsc+""+escapeHtml(size)+""+escapeHtml(mtime)+""; } }); -var tableStart=''; +var tableStart='
文件名称文件大小上传时间
'; var tableEnd="
文件名称文件大小上传时间
"; if(!rows){ -listEl.innerHTML=tableStart+'目录为空'+tableEnd; +listEl.innerHTML=toolsHtml+tableStart+'目录为空'+tableEnd; }else{ -listEl.innerHTML=tableStart+rows+tableEnd; +listEl.innerHTML=toolsHtml+tableStart+rows+tableEnd; } listEl.style.display="block"; })