后端架构更新

This commit is contained in:
super
2026-04-27 09:18:10 +08:00
parent 03e697f5d3
commit 225b525ba1
150 changed files with 7013 additions and 804 deletions

View File

@@ -784,7 +784,24 @@
else if (status === 'cancelled') showToast('已取消');
}
function pollRunTask(taskId) {
function verifyTerminalTaskStatus(taskId, expectedStatus) {
return fetch('/api/brand/tasks/' + taskId, {
credentials: 'include',
headers: withUidHeaders({ 'X-Requested-With': 'XMLHttpRequest' })
})
.then(function(r) { return r.json(); })
.then(function(res) {
if (!res.success || !res.task) return null;
var actualStatus = (res.task.status || '').toLowerCase();
if (actualStatus === 'success' || actualStatus === 'failed' || actualStatus === 'cancelled') {
return actualStatus;
}
return null;
})
.catch(function() { return null; });
}
function pollRunTask(taskId) {
pollTaskId = taskId;
var runProgressFill = document.getElementById('runProgressFill');
var runProgressText = document.getElementById('runProgressText');
@@ -847,15 +864,18 @@
break;
}
} catch (err) {}
}
if (terminalStatus) {
try { runTaskEventAbortController.abort(); } catch (e2) {}
runTaskEventAbortController = null;
onRunTaskFinished(terminalStatus);
return;
}
}
}
if (terminalStatus) {
var verifiedStatus = await verifyTerminalTaskStatus(taskId, terminalStatus);
if (verifiedStatus) {
try { runTaskEventAbortController.abort(); } catch (e2) {}
runTaskEventAbortController = null;
onRunTaskFinished(verifiedStatus);
return;
}
}
}
} catch (err) {}
})();
@@ -917,7 +937,7 @@
});
}
tick();
pollTimer = setInterval(tick, 10000);
pollTimer = setInterval(tick, 3000);
}
document.getElementById('btnRun').onclick = function() {
@@ -1127,7 +1147,11 @@
});
loadTasks();
// setInterval(loadTasks, 10000);
setInterval(function() {
if (cachedTasks.some(function(t) { return (t.status || '').toLowerCase() === 'running'; })) {
loadTasks();
}
}, 3000);
if (window.addEventListener) {
window.addEventListener('pywebviewready', function() {