diff --git a/web/src/views/RiskRules.vue b/web/src/views/RiskRules.vue index a30525c..74cdf89 100644 --- a/web/src/views/RiskRules.vue +++ b/web/src/views/RiskRules.vue @@ -93,11 +93,16 @@ const merged = computed(() => { const fetchAll = async () => { loading.value = true try { - // 获取站点类型(从实际站点数据中提取) - const sr = await api.raw.get('/admin/sites').catch(() => ({})) - const siteList = (sr?.data || sr || []) - siteTypes.value = [...new Set(siteList.map(s => s.siteType).filter(Boolean))] - if (siteTypes.value.length === 0) siteTypes.value = ['nexusphp','mtorrent','gazelle','unit3d'] + // 站点类型 = 默认四种 + 实际站点数据中提取的去重 + const defaults = ['nexusphp','mtorrent','gazelle','unit3d'] + try { + const sr = await api.raw.get('/admin/sites') + const siteList = Array.isArray(sr?.data) ? sr.data : Array.isArray(sr) ? sr : [] + const dbTypes = siteList.map(s => s.siteType).filter(Boolean) + siteTypes.value = [...new Set([...defaults, ...dbTypes])] + } catch { + siteTypes.value = defaults + } const rr = await api.raw.get('/admin/risk-rules').catch(() => ({})) rulesData.value = Array.isArray(rr?.data) ? rr.data : Array.isArray(rr) ? rr : []