From 8c1772c784118c8783911225be6a3a6701c28df9 Mon Sep 17 00:00:00 2001 From: zxr <271055687@qq.com> Date: Tue, 21 Jul 2026 16:18:26 +0800 Subject: [PATCH] fix: guard alert policy user response types --- .../setting/components/PolicyCreateDialog.vue | 17 +++++++++-------- .../setting/components/PolicyFormDialog.vue | 17 +++++++++-------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/views/ops/pages/alert/setting/components/PolicyCreateDialog.vue b/src/views/ops/pages/alert/setting/components/PolicyCreateDialog.vue index cce4c4a..5cf3436 100644 --- a/src/views/ops/pages/alert/setting/components/PolicyCreateDialog.vue +++ b/src/views/ops/pages/alert/setting/components/PolicyCreateDialog.vue @@ -247,14 +247,15 @@ const loadUserOptions = async (keyword = '') => { keyword: keyword || undefined, status: 1, }) - const rawList = Array.isArray(res?.data?.data) - ? res.data.data - : Array.isArray(res?.details?.data) - ? res.details.data - : Array.isArray(res?.details) - ? res.details - : Array.isArray(res?.data) - ? res.data + const { data, details } = res + const rawList = !Array.isArray(data) && Array.isArray(data?.data) + ? data.data + : !Array.isArray(details) && Array.isArray(details?.data) + ? details.data + : Array.isArray(details) + ? details + : Array.isArray(data) + ? data : [] userOptions.value = rawList.map((item: any) => ({ id: Number(item.id), diff --git a/src/views/ops/pages/alert/setting/components/PolicyFormDialog.vue b/src/views/ops/pages/alert/setting/components/PolicyFormDialog.vue index 6189407..9a3e21c 100644 --- a/src/views/ops/pages/alert/setting/components/PolicyFormDialog.vue +++ b/src/views/ops/pages/alert/setting/components/PolicyFormDialog.vue @@ -273,14 +273,15 @@ const loadUserOptions = async (keyword = '') => { keyword: keyword || undefined, status: 1, }) - const rawList = Array.isArray(res?.data?.data) - ? res.data.data - : Array.isArray(res?.details?.data) - ? res.details.data - : Array.isArray(res?.details) - ? res.details - : Array.isArray(res?.data) - ? res.data + const { data, details } = res + const rawList = !Array.isArray(data) && Array.isArray(data?.data) + ? data.data + : !Array.isArray(details) && Array.isArray(details?.data) + ? details.data + : Array.isArray(details) + ? details + : Array.isArray(data) + ? data : [] userOptions.value = rawList.map((item: any) => ({ id: Number(item.id),