feat: STF设备管理彻底删除(脚本+断开+STF API清记录)+ 一键重连(后台跑connect脚本)+ 跳过原因日志区分离线/未就绪 + SSH超时错误分类
This commit is contained in:
+31
-1
@@ -126,7 +126,37 @@ function renderStfDevRow(x){
|
||||
return '<tr><td style="font-family:monospace">'+esc(x.ip)+'</td>'+
|
||||
'<td>'+(x.inCfg?'<span class="label label-info">脚本中</span>':'<span class="label label-default">未配置</span>')+'</td>'+
|
||||
'<td>'+stHtml+'</td>'+
|
||||
'<td><button class="btn btn-xs btn-danger" onclick="removeStfDev(\''+esc(x.ip)+'\')">移除(断开+删脚本)</button></td></tr>';
|
||||
'<td style="white-space:nowrap">'+
|
||||
'<button class="btn btn-xs btn-danger" onclick="removeStfDev(\''+esc(x.ip)+'\')" title="断开+删脚本">移除</button> '+
|
||||
'<button class="btn btn-xs btn-danger" onclick="deleteStfDev(\''+esc(x.ip)+'\')" title="断开+删脚本+清 STF 池记录(设备从池中彻底消失)">彻底删除</button>'+
|
||||
'</td></tr>';
|
||||
}
|
||||
|
||||
// 一键重连:手动运行 220 的 connect_devices.sh,补连所有配置设备
|
||||
async function reconnectStfDevices(){
|
||||
if(!confirm('立即运行 220 上的 connect_devices.sh?\n\n会补连脚本里所有未连接的设备(在线设备跳过)。'))return;
|
||||
const r=await apiPost('/api/stf/devmgmt/reconnect',{});
|
||||
if(!r)return;
|
||||
const box=document.getElementById('stfdev-reconnect-out');
|
||||
if(r.ok){
|
||||
box.style.display='block';
|
||||
box.textContent=r.output||'执行完成';
|
||||
showToast('重连完成','success');
|
||||
loadStfDevMgmt();
|
||||
}else{
|
||||
showToast('重连失败: '+(r.error||''),'error');
|
||||
}
|
||||
}
|
||||
|
||||
// 彻底删除:脚本移除 + 断开 + 清 STF 池记录(设备从池中彻底消失)
|
||||
async function deleteStfDev(ip){
|
||||
if(!confirm('彻底删除 '+ip+'?\n\n1. 从 connect_devices.sh 移除\n2. 断开 220 的 adb 连接\n3. 调用 STF API 清除设备记录(设备从设备池彻底消失,需重新添加才会回来)'))return;
|
||||
const r=await apiPost('/api/stf/devmgmt/delete',{ip:ip});
|
||||
if(!r)return;
|
||||
if(r.ok){
|
||||
showToast((r.msgs||[]).join(';'),'success');
|
||||
loadStfDevMgmt();
|
||||
}else showToast('删除失败: '+(r.error||''),'error');
|
||||
}
|
||||
|
||||
async function addStfDev(){
|
||||
|
||||
Reference in New Issue
Block a user