同步移动端工程、设备控制改进与发布资料

This commit is contained in:
2026-09-26 19:21:12 +08:00
parent 912ba432cf
commit 98eadc5c8b
137 changed files with 9274 additions and 85 deletions
@@ -263,6 +263,20 @@ function applyOtaStatus(status) {
otaProgressGroup.hidden = true;
setOtaFeedback("");
}
if (job?.phase !== "failed") {
const recovery = status?.kernel_recovery;
if (recovery?.state === "pending") {
setOtaFeedback("应用更新完成;正在进行一次候选内核恢复重启…", "pending");
} else if (recovery?.state === "succeeded") {
setOtaFeedback("候选内核与 CPU 调频策略已恢复。", "ready");
} else if (recovery?.state === "failed") {
setOtaFeedback(`内核恢复失败:${recovery.reason || "请查看设备诊断"}`, "error");
} else if (recovery?.state === "requires_package") {
setOtaFeedback("应用已更新;内核材料缺失或损坏,需要专用修复包。", "error");
} else if (recovery?.state === "ready") {
setOtaFeedback("当前设备运行原内核,性能模式不可用;下次 OTA 将尝试轻量恢复。", "error");
}
}
}
}
@@ -281,7 +295,7 @@ async function pollOtaUntilFinished() {
const status = await fetchOtaStatus();
if (disconnected) setOtaFeedback("设备服务已恢复,正在确认更新结果…", "pending");
applyOtaStatus(status);
if (!status.active) return;
if (!status.active && status.kernel_recovery?.state !== "pending") return;
} catch {
disconnected = true;
setOtaFeedback("设备正在切换软件版本,等待服务恢复…", "pending");
@@ -297,7 +311,7 @@ async function loadOtaStatus() {
try {
const status = await fetchOtaStatus();
applyOtaStatus(status);
if (status.active) pollOtaUntilFinished();
if (status.active || status.kernel_recovery?.state === "pending") pollOtaUntilFinished();
} catch (error) {
otaCurrentVersion.textContent = "读取失败";
otaFeatureUpdatedAt.textContent = "读取失败";