refactor: use only siteId for risk rule storage, drop type-level fallback

This commit is contained in:
mediabot-pt
2026-07-06 23:52:30 +08:00
parent a643d976cf
commit 0b0dcb4f04
2 changed files with 4 additions and 27 deletions

View File

@@ -11,9 +11,6 @@
<template #default="s">{{ (s.row.names||[]).join('/') || '-' }}</template>
</el-table-column>
<el-table-column prop="siteType" label="类型" width="100" />
<el-table-column label="来源" width="80" align="center">
<template #default="s">{{ s.row.source || '—' }}</template>
</el-table-column>
<el-table-column label="规则数" width="80" align="center">
<template #default="s"><el-tag size="small">{{ s.row.ruleCount || 0 }}</el-tag></template>
</el-table-column>
@@ -336,13 +333,11 @@ const ruleText = (r) => {
return `${typeLabel(r.type)}:${val} → <span style="color:#f56c6c;font-weight:500">封号/删除账号</span>${appText}`
}
const merged = computed(() => (Array.isArray(sites.value)?sites.value:[]).map(s => {
// 优先站点级,兜底类型级
const entry = rulesMap.value[s.siteId] || rulesMap.value[s.siteType] || {}
const entry = rulesMap.value[s.siteId] || {}
return {
siteId: s.siteId, names: s.names, siteType: s.siteType,
ruleCount: entry.ruleCount || 0, version: entry.version || null,
updatedAt: entry.updatedAt || null, rulesJson: entry.rulesJson || null,
source: rulesMap.value[s.siteId] ? '站点级' : entry.ruleCount ? '类型级' : null,
}
}))
@@ -356,7 +351,8 @@ const fetchAll = async () => {
const map = {}
for (const r of rulesData) {
const cnt = (() => { try { return JSON.parse(r.rulesJson||'[]').length } catch { return 0 } })()
const key = r.siteId || r.siteType // siteId is the new key, fallback to siteType
const key = r.siteId
if (!key) continue
if (!map[key] || r.version > map[key].version)
map[key] = { ruleCount: cnt, version: r.version, updatedAt: r.updatedAt, rulesJson: r.rulesJson }
}