diff --git a/static/admin/monitor.js b/static/admin/monitor.js index abb489d..217c513 100644 --- a/static/admin/monitor.js +++ b/static/admin/monitor.js @@ -2268,6 +2268,8 @@ function closeTestModal(){ } // ================== Tab: 维护 - Tailscale 管理 ================== +// 与其他表格共用 setListPager/applyListPager 统一逻辑(搜索 + 分页) +let _tsDevices=[]; async function loadTailscaleDevices(){ const tb=document.getElementById('tb-tailscale'); const st=document.getElementById('ts-status'); @@ -2284,27 +2286,35 @@ async function loadTailscaleDevices(){ return; } if(hint)hint.textContent=''; - const devs=r.devices||[]; - if(!devs.length){tb.innerHTML='tailnet 暂无设备';if(st)st.textContent='';return;} - tb.innerHTML=devs.map(d=>{ - const ip=(d.addresses||[])[0]||'-'; - return ''+ - ''+esc(d.hostname||'-')+''+ - ''+esc(d.name||'-')+''+ - ''+esc(ip)+''+ - ''+esc(d.os||'-')+''+ - ''+((d.online===true)?'在线':(d.online===false?'离线':'最近在线'))+''+ - ''+(d.authorized?'已授权':'未授权')+''+ - ''+(d.key_expiry_disabled?'永不过期':'会过期')+''+ - ''+ - ' '+ - ' '+ - ' '+ - ' '+ - ''+ - ''; - }).join(''); - if(st)st.textContent='共 '+devs.length+' 台设备'; + _tsDevices=r.devices||[]; + setListPager('tailscale',{ + data:()=>_tsDevices, + filter:(d,kw)=>((d.hostname||'').toLowerCase().includes(kw)||(d.name||'').toLowerCase().includes(kw)||(d.addresses||[]).join(',').includes(kw)), + render:renderTsRow, + tbody:'tb-tailscale',pager:'pager-tailscale',pageSize:10, + empty:'tailnet 暂无设备' + }); + applyListPager('tailscale'); + initListSearch('tailscale','search-tailscale'); + if(st)st.textContent='共 '+_tsDevices.length+' 台设备'; +} +function renderTsRow(d){ + const ip=(d.addresses||[])[0]||'-'; + return ''+ + ''+esc(d.hostname||'-')+''+ + ''+esc(d.name||'-')+''+ + ''+esc(ip)+''+ + ''+esc(d.os||'-')+''+ + ''+((d.online===true)?'在线':(d.online===false?'离线':'最近在线'))+''+ + ''+(d.authorized?'已授权':'未授权')+''+ + ''+(d.key_expiry_disabled?'永不过期':'会过期')+''+ + ''+ + ' '+ + ' '+ + ' '+ + ' '+ + ''+ + ''; } function renameTailscaleDevice(id, current){ const name=prompt('修改显示名(只改名称,不影响主机名):', current||''); diff --git a/templates/admin/monitor.html b/templates/admin/monitor.html index df2392b..253620d 100644 --- a/templates/admin/monitor.html +++ b/templates/admin/monitor.html @@ -523,6 +523,7 @@ select.form-control{cursor:pointer}
+
@@ -531,7 +532,8 @@ select.form-control{cursor:pointer}
点击"刷新设备"加载
-
设备 IP 由 tailnet 自动分配,不可修改(只读展示);"密钥不过期"= 关闭设备密钥验证,设备不会被定期踢下线;auth key 生成后只显示一次,请立即复制。
+
+
"设置IP"可修改设备 IPv4(会断开当前连接,平台 serial 随之变化,需同步 STF 设备池);"密钥不过期"= 关闭设备密钥验证,设备不会被定期踢下线;auth key 生成后只显示一次,请立即复制。