]> acesimba.cloud Git - StationBuilder-vue.git/commitdiff
设备模板:load() 强制将非数组响应收敛为数组,避免网关拦截返回 HTML 时 .filter 崩溃
authorroot <root@localhost.localdomain>
Mon, 28 Sep 2026 08:23:20 +0000 (16:23 +0800)
committerroot <root@localhost.localdomain>
Mon, 28 Sep 2026 08:23:20 +0000 (16:23 +0800)
src-vue/pages/DeviceTemplates.vue

index 45e1ec9b3a390415f3e04aa53aaae7832a9d59a4..67480c1e2afdc7abc05fdb318ef3ab1e6c19f6f4 100644 (file)
@@ -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 {