From 304c925f903446c8518aed58370388b990ee5f39 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 28 Sep 2026 16:23:20 +0800 Subject: [PATCH] =?utf8?q?=E8=AE=BE=E5=A4=87=E6=A8=A1=E6=9D=BF=EF=BC=9Aloa?= =?utf8?q?d()=20=E5=BC=BA=E5=88=B6=E5=B0=86=E9=9D=9E=E6=95=B0=E7=BB=84?= =?utf8?q?=E5=93=8D=E5=BA=94=E6=94=B6=E6=95=9B=E4=B8=BA=E6=95=B0=E7=BB=84?= =?utf8?q?=EF=BC=8C=E9=81=BF=E5=85=8D=E7=BD=91=E5=85=B3=E6=8B=A6=E6=88=AA?= =?utf8?q?=E8=BF=94=E5=9B=9E=20HTML=20=E6=97=B6=20.filter=20=E5=B4=A9?= =?utf8?q?=E6=BA=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src-vue/pages/DeviceTemplates.vue | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src-vue/pages/DeviceTemplates.vue b/src-vue/pages/DeviceTemplates.vue index 45e1ec9..67480c1 100644 --- a/src-vue/pages/DeviceTemplates.vue +++ b/src-vue/pages/DeviceTemplates.vue @@ -39,7 +39,10 @@ const { confirm, el: confirmEl } = useConfirm(); async function load() { try { - list.value = (await fetchDb("/device-templates")) || []; + const data = await fetchDb("/device-templates"); + // 后端偶发返回非数组(如网关鉴权拦截返回的 HTML 错误页),强制收敛为数组,避免 .filter 崩溃 + list.value = Array.isArray(data) ? data : []; + if (!Array.isArray(data)) props.notify("设备模板数据格式异常,加载失败"); } catch (e) { props.notify("加载失败:" + (e && e.ElMessage ? e.ElMessage : e)); } finally { -- 2.43.0