feat: improve mode and peripheral orchestration

This commit is contained in:
Miayui
2026-09-21 00:13:47 +08:00
parent 89707a42e2
commit 448c8b31a0
39 changed files with 3068 additions and 277 deletions
+14 -8
View File
@@ -571,9 +571,20 @@
const explicitlyBlocked = executionStatus === "blocked"
|| verificationStatus === "blocked"
|| Boolean(telemetry.authorization_reason);
const executionFailed = executionStatus === "failed"
// Closed-loop evidence is authoritative. Some MQTT window executors
// retain a legacy `failed` operation status even after fresh 0x388
// feedback confirms the requested target; do not render that as a
// failed dispatch once the physical result is verified.
const verified = !aborted && (
verificationStatus === "verified_success"
|| telemetry.physical_effect_confirmed === true
|| telemetry.feedback_match === true
);
const executionFailed = !verified && (
executionStatus === "failed"
|| explicitlyBlocked
|| verificationStatus === "failed_or_blocked";
|| verificationStatus === "failed_or_blocked"
);
const missingWindowFeedback = /0x388/i.test(failureMessage) && (
/no fresh valid/i.test(failureMessage)
|| /未收到.*(?:有效|新鲜).*车窗位置/.test(failureMessage)
@@ -591,11 +602,6 @@
|| /thermal protection|热保护/i.test(failureMessage)
);
const dispatchFailed = executionFailed && !submitted && !safetyBlocked;
const verified = !executionFailed && !aborted && (
verificationStatus === "verified_success"
|| telemetry.physical_effect_confirmed === true
|| telemetry.feedback_match === true
);
const deliveryState = aborted
? "aborted"
: safetyBlocked
@@ -1325,7 +1331,7 @@
}
const levelOptions = [
["off", "关闭"], ["high", "1 档(高)"], ["low", "2 档(低)"],
["off", "关闭"], ["low", "1 档(低)"], ["high", "3 档(高)"],
];
const toggleOptions = [["off", "关闭"], ["on", "开启"]];
const massageModeOptions = [