|
|
@@ -1,5 +1,339 @@
|
|
|
+let healthCheckRunning = false;
|
|
|
+let healthCheckAbortController = null;
|
|
|
+
|
|
|
+async function startHealthCheck() {
|
|
|
+ if (healthCheckRunning) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ healthCheckRunning = true;
|
|
|
+ healthCheckAbortController = new AbortController();
|
|
|
+ updateHealthCheckButtons();
|
|
|
+
|
|
|
+ resetHealthCheck();
|
|
|
+
|
|
|
+ try {
|
|
|
+ try {
|
|
|
+ setCheckText("avar1", "测试中...");
|
|
|
+ setCheckText("avar4", "测试中...");
|
|
|
+ await checkNetwork();
|
|
|
+ } catch (err) {
|
|
|
+ if (err.name === "AbortError") {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ setCheckText("avar1", "已完成");
|
|
|
+ setCheckText("avar2", "不通过");
|
|
|
+ setCheckText("avar3", "检测失败");
|
|
|
+ setCheckText("avar4", "已完成");
|
|
|
+ setCheckText("avar5", "不通过");
|
|
|
+ setCheckText("avar6", "检测失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!healthCheckRunning) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ setCheckText("bvar1", "测试中...");
|
|
|
+ setCheckText("bvar4", "测试中...");
|
|
|
+ await checkTime();
|
|
|
+ } catch (err) {
|
|
|
+ if (err.name === "AbortError") {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ setCheckText("bvar1", "已完成");
|
|
|
+ setCheckText("bvar2", "不通过");
|
|
|
+ setCheckText("bvar3", "检测失败");
|
|
|
+ setCheckText("bvar4", "已完成");
|
|
|
+ setCheckText("bvar5", "不通过");
|
|
|
+ setCheckText("bvar6", "检测失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!healthCheckRunning) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ setCheckText("cvar1", "测试中...");
|
|
|
+ setCheckText("cvar4", "测试中...");
|
|
|
+ await checkPosition();
|
|
|
+ } catch (err) {
|
|
|
+ if (err.name === "AbortError") {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ setCheckText("cvar1", "已完成");
|
|
|
+ setCheckText("cvar2", "不通过");
|
|
|
+ setCheckText("cvar3", "检测失败");
|
|
|
+ setCheckText("cvar4", "已完成");
|
|
|
+ setCheckText("cvar5", "不通过");
|
|
|
+ setCheckText("cvar6", "检测失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!healthCheckRunning) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ setCheckText("dvar1", "测试中...");
|
|
|
+ setCheckText("dvar4", "测试中...");
|
|
|
+ await checkCamera();
|
|
|
+ } catch (err) {
|
|
|
+ if (err.name === "AbortError") {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ setCheckText("dvar1", "已完成");
|
|
|
+ setCheckText("dvar2", "不通过");
|
|
|
+ setCheckText("dvar3", "检测失败");
|
|
|
+ setCheckText("dvar4", "已完成");
|
|
|
+ setCheckText("dvar5", "不通过");
|
|
|
+ setCheckText("dvar6", "检测失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!healthCheckRunning) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ setCheckText("dvar7", "测试中...");
|
|
|
+ await setCameraWaitAEDone(false);
|
|
|
+ await checkCameraPhoto();
|
|
|
+ } catch (err) {
|
|
|
+ if (err.name === "AbortError") {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ setCheckText("dvar7", "已完成");
|
|
|
+ setCheckText("dvar8", "不通过");
|
|
|
+ setCheckText("dvar9", "检测失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!healthCheckRunning) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ setCheckText("evar1", "测试中...");
|
|
|
+ await checkUserApp();
|
|
|
+ } catch (err) {
|
|
|
+ if (err.name === "AbortError") {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ setCheckText("evar1", "已完成");
|
|
|
+ setCheckText("evar2", "不通过");
|
|
|
+ setCheckText("evar3", "检测失败");
|
|
|
+ }
|
|
|
+ } finally {
|
|
|
+ try {
|
|
|
+ await setCameraWaitAEDone(true);
|
|
|
+ } finally {
|
|
|
+ healthCheckRunning = false;
|
|
|
+ healthCheckAbortController = null;
|
|
|
+ updateHealthCheckButtons();
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+function stopHealthCheck() {
|
|
|
+ if (!healthCheckRunning) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ healthCheckAbortController?.abort();
|
|
|
+}
|
|
|
+
|
|
|
+function checkHealthCheckStopped() {
|
|
|
+ if (healthCheckAbortController?.signal.aborted) {
|
|
|
+ throw new DOMException("Health check stopped", "AbortError");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+function updateHealthCheckButtons() {
|
|
|
+ if (currentPage !== "page7") {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ setBtnStatus("btn1", !healthCheckRunning, "page7");
|
|
|
+ setBtnStatus("btn2", healthCheckRunning, "page7");
|
|
|
+}
|
|
|
+
|
|
|
+function resetHealthCheck() {
|
|
|
+ const ids = [
|
|
|
+ "avar1", "avar2", "avar3",
|
|
|
+ "avar4", "avar5", "avar6",
|
|
|
+
|
|
|
+ "bvar1", "bvar2", "bvar3",
|
|
|
+ "bvar4", "bvar5", "bvar6",
|
|
|
+
|
|
|
+ "cvar1", "cvar2", "cvar3",
|
|
|
+ "cvar4", "cvar5", "cvar6",
|
|
|
+
|
|
|
+ "dvar1", "dvar2", "dvar3",
|
|
|
+ "dvar4", "dvar5", "dvar6",
|
|
|
+ "dvar7", "dvar8", "dvar9",
|
|
|
+
|
|
|
+ "evar1", "evar2", "evar3"
|
|
|
+ ];
|
|
|
+
|
|
|
+ for (const id of ids) {
|
|
|
+ setCheckText(id, "--");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+async function checkNetwork() {
|
|
|
+ checkHealthCheckStopped();
|
|
|
+
|
|
|
+ const response = await fetch("/api/health-check/network", {
|
|
|
+ signal: healthCheckAbortController.signal
|
|
|
+ });
|
|
|
+
|
|
|
+ if (!response.ok) {
|
|
|
+ throw new Error("检测失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ const data = await response.json();
|
|
|
+
|
|
|
+ checkHealthCheckStopped();
|
|
|
+
|
|
|
+ for (const id of [
|
|
|
+ "avar1", "avar2", "avar3",
|
|
|
+ "avar4", "avar5", "avar6"
|
|
|
+ ]) {
|
|
|
+ setCheckText(id, data[id] ?? "--");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+async function checkTime() {
|
|
|
+ checkHealthCheckStopped();
|
|
|
+
|
|
|
+ const response = await fetch("/api/health-check/time", {
|
|
|
+ signal: healthCheckAbortController.signal
|
|
|
+ });
|
|
|
+
|
|
|
+ if (!response.ok) {
|
|
|
+ throw new Error("检测失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ const data = await response.json();
|
|
|
+
|
|
|
+ checkHealthCheckStopped();
|
|
|
+
|
|
|
+ setCheckText("bvar1", data.bvar1 ?? "--");
|
|
|
+ setCheckText("bvar2", data.bvar2 ?? "--");
|
|
|
+ setCheckText("bvar3", data.bvar3 ?? "--");
|
|
|
+
|
|
|
+ setCheckText("bvar4", data.bvar4 ?? "--");
|
|
|
+ setCheckText("bvar5", data.bvar5 ?? "--");
|
|
|
+ setCheckText("bvar6", data.bvar6 ?? "--");
|
|
|
+}
|
|
|
+
|
|
|
+async function checkPosition() {
|
|
|
+ checkHealthCheckStopped();
|
|
|
+
|
|
|
+ const response = await fetch("/api/health-check/position", {
|
|
|
+ signal: healthCheckAbortController.signal
|
|
|
+ });
|
|
|
+
|
|
|
+ if (!response.ok) {
|
|
|
+ throw new Error("检测失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ const data = await response.json();
|
|
|
+
|
|
|
+ checkHealthCheckStopped();
|
|
|
+
|
|
|
+ setCheckText("cvar1", data.cvar1 ?? "--");
|
|
|
+ setCheckText("cvar2", data.cvar2 ?? "--");
|
|
|
+ setCheckText("cvar3", data.cvar3 ?? "--");
|
|
|
+
|
|
|
+ setCheckText("cvar4", data.cvar4 ?? "--");
|
|
|
+ setCheckText("cvar5", data.cvar5 ?? "--");
|
|
|
+ setCheckText("cvar6", data.cvar6 ?? "--");
|
|
|
+}
|
|
|
+
|
|
|
+async function checkCamera() {
|
|
|
+ checkHealthCheckStopped();
|
|
|
+
|
|
|
+ const response = await fetch("/api/health-check/camera", {
|
|
|
+ signal: healthCheckAbortController.signal
|
|
|
+ });
|
|
|
+
|
|
|
+ if (!response.ok) {
|
|
|
+ throw new Error("检测失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ const data = await response.json();
|
|
|
+
|
|
|
+ checkHealthCheckStopped();
|
|
|
+
|
|
|
+ setCheckText("dvar1", data.dvar1 ?? "--");
|
|
|
+ setCheckText("dvar2", data.dvar2 ?? "--");
|
|
|
+ setCheckText("dvar3", data.dvar3 ?? "--");
|
|
|
+ setCheckText("dvar4", data.dvar4 ?? "--");
|
|
|
+ setCheckText("dvar5", data.dvar5 ?? "--");
|
|
|
+ setCheckText("dvar6", data.dvar6 ?? "--");
|
|
|
+}
|
|
|
+
|
|
|
+async function checkCameraPhoto() {
|
|
|
+ checkHealthCheckStopped();
|
|
|
+
|
|
|
+ const response = await fetch("/api/health-check/camera/photo", {
|
|
|
+ signal: healthCheckAbortController.signal
|
|
|
+ });
|
|
|
+
|
|
|
+ if (!response.ok) {
|
|
|
+ throw new Error("检测失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ const data = await response.json();
|
|
|
+
|
|
|
+ checkHealthCheckStopped();
|
|
|
+
|
|
|
+ setCheckText("dvar7", data.dvar7 ?? "--");
|
|
|
+ setCheckText("dvar8", data.dvar8 ?? "--");
|
|
|
+ setCheckText("dvar9", data.dvar9 ?? "--");
|
|
|
+}
|
|
|
+
|
|
|
+async function checkUserApp() {
|
|
|
+ checkHealthCheckStopped();
|
|
|
+
|
|
|
+ const response = await fetch("/api/health-check/user-app", {
|
|
|
+ signal: healthCheckAbortController.signal
|
|
|
+ });
|
|
|
+
|
|
|
+ if (!response.ok) {
|
|
|
+ throw new Error("检测失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ const data = await response.json();
|
|
|
+
|
|
|
+ checkHealthCheckStopped();
|
|
|
+
|
|
|
+ setCheckText("evar1", data.evar1 ?? "--");
|
|
|
+ setCheckText("evar2", data.evar2 ?? "--");
|
|
|
+ setCheckText("evar3", data.evar3 ?? "--");
|
|
|
+}
|
|
|
+
|
|
|
+function setCheckText(id, value) {
|
|
|
+ if (currentPage !== "page7") {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ setText(id, value, "page7");
|
|
|
+
|
|
|
+ const el = document.getElementById(id);
|
|
|
+ if (!el) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ el.classList.remove("check-success", "check-fail");
|
|
|
+
|
|
|
+ if (value === "已完成" || value === "通过") {
|
|
|
+ el.classList.add("check-success");
|
|
|
+ } else if (value === "不通过") {
|
|
|
+ el.classList.add("check-fail");
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
function initPage7() {
|
|
|
}
|
|
|
|
|
|
function exitPage7() {
|
|
|
+ stopHealthCheck()
|
|
|
}
|