| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339 |
- 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()
- }
|