From: root Date: Mon, 28 Sep 2026 08:23:20 +0000 (+0800) Subject: 设备模板:load() 强制将非数组响应收敛为数组,避免网关拦截返回 HTML 时 .filter 崩溃 X-Git-Url: http://acesimba.cloud/gitweb/?a=commitdiff_plain;h=304c925f903446c8518aed58370388b990ee5f39;p=StationBuilder-vue.git 设备模板:load() 强制将非数组响应收敛为数组,避免网关拦截返回 HTML 时 .filter 崩溃 --- 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 {