From e8837d3003e964a9218aebfa645e77c09aca0f29 Mon Sep 17 00:00:00 2001 From: mango Date: Sun, 22 Feb 2026 18:08:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=85=A8=E4=B8=AD=E6=96=87=E7=95=8C?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/index.html | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/public/index.html b/public/index.html index 0971505..a23462c 100644 --- a/public/index.html +++ b/public/index.html @@ -66,15 +66,15 @@ td{padding:6px 10px;border-bottom:1px solid rgba(26,39,64,.5)}
-
πŸ–₯ Nodes
-
πŸ“Š Provider Matrix
-
πŸ“‹ Request Logs
+
πŸ–₯ θŠ‚η‚Ή
+
πŸ“Š δΎ›εΊ”ε•†ηŸ©ι˜΅
+
πŸ“‹ 请求ζ—₯εΏ—
-
Provider Γ— Node Matrix
-
Request Logs
-
+
供应商 Γ— θŠ‚η‚Ή 矩阡
+
请求ζ—₯εΏ—
+
@@ -99,12 +99,12 @@ function renderStats(){ const totalSess=ns.reduce((a,n)=>a+(n.sessions||0),0); const totalProvs=ns.reduce((a,n)=>a+JSON.parse(n.providers||'[]').length,0); $('#stats').innerHTML=[ - ['s1',online+'/'+ns.length,'NODES ONLINE'], - ['s2',fmtTok(todayTok),'TODAY TOKENS'], - ['s3',fmtTok(weekTok),'WEEK TOKENS'], - ['s4',fmtTok(monthTok),'MONTH TOKENS'], - ['s5',totalSess,'SESSIONS'], - ['s6',totalProvs,'PROVIDERS'] + ['s1',online+'/'+ns.length,'εœ¨ηΊΏθŠ‚η‚Ή'], + ['s2',fmtTok(todayTok),'今ζ—₯用量'], + ['s3',fmtTok(weekTok),'ζœ¬ε‘¨η”¨ι‡'], + ['s4',fmtTok(monthTok),'ζœ¬ζœˆη”¨ι‡'], + ['s5',totalSess,'δΌšθ―ζ•°'], + ['s6',totalProvs,'供应商'] ].map(([c,n,l])=>`
${n}
${l}
`).join(''); } @@ -118,16 +118,16 @@ function renderNodes(){ return ``; }).join(''); return `
-
${n.name}
${n.host}
+
${n.name}
${n.host}
${n.role}OC ${n.oc_version}${n.os}
${hbBars}
-
Providers
+
供应商
${provs.sort((a,b)=>b.default-a.default||(a.name>b.name?1:-1)).map(p=>`
${p.default?'β˜…':''}${p.name} ${p.model}
βœ“
`).join('')}
${[['cpu',n.cpu],['mem',n.mem],['disk',n.disk],['swap',n.swap]].map(([l,v])=>`
${l}
${on?v+'%':'β€”'}
`).join('')}
Today
${fmtTok(n.tok_today)}
Week
${fmtTok(n.tok_week)}
Month
${fmtTok(n.tok_month)}
-
⏱ ${fmtAge(now-n.uptime)}πŸ“‘ ${n.sessions} sessions⚑ gw ${n.gw_ok?'βœ“':'βœ—'}🐾 daemon ${n.daemon_ok?'βœ“':'βœ—'}
+
⏱ ${fmtAge(now-n.uptime)}πŸ“‘ ${n.sessions} 会话⚑ gw ${n.gw_ok?'βœ“':'βœ—'}🐾 daemon ${n.daemon_ok?'βœ“':'βœ—'}
`; }).join(''); } @@ -151,7 +151,7 @@ function renderMatrix(){ function renderLogs(){ const reqs=DATA.requests||[]; - let h='ζ—Άι—΄NodeUpstreamModelResultStatusθΎ“ε…₯θΎ“ε‡ΊTTFTζ€»θ€—ζ—Ά'; + let h='ζ—Άι—΄θŠ‚η‚ΉδΎ›εΊ”ε•†ζ¨‘εž‹η»“ζžœηŠΆζ€θΎ“ε…₯θΎ“ε‡Ίι¦–ε­—ζ€»θ€—ζ—Ά'; reqs.forEach(r=>{ const t=new Date(r.ts*1000).toLocaleTimeString('zh-CN'); h+=''+t+''+(r.node_name||r.node_id)+''+r.upstream+''+r.model+''; @@ -163,7 +163,7 @@ function renderLogs(){ } function render(){renderStats();renderNodes();renderMatrix();renderLogs(); - $('#subtitle').textContent=DATA.nodes.length+' nodes Β· Updated '+new Date().toLocaleString('zh-CN'); + $('#subtitle').textContent=DATA.nodes.length+' δΈͺθŠ‚η‚Ή Β· ζ›΄ζ–°δΊŽ '+new Date().toLocaleString('zh-CN'); } async function load(){