From 200e1c6fad25eefa92e9a89d2be763e7cdf4cb11 Mon Sep 17 00:00:00 2001 From: zhx Date: Sat, 9 May 2026 17:44:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=BA=E5=9F=9F=E8=AF=86=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/src/views/system/region-config.vue | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/apps/src/views/system/region-config.vue b/apps/src/views/system/region-config.vue index c13cd27..8ffaf40 100644 --- a/apps/src/views/system/region-config.vue +++ b/apps/src/views/system/region-config.vue @@ -547,13 +547,17 @@ async function loadImGroupList() { listVoiceRoomRegionImGroups({ sysOrigin: imGroupQuery.sysOrigin }), ]); const groupMap = new Map( - (groups || []).map((item) => [String(item.regionCode || ''), item]), + (groups || []).map((item) => [ + normalizeRegionCodeKey(item.regionCode), + item, + ]), ); const seen = new Set(); const rows: Array> = (regions || []).map((region) => { const regionCode = String(region.regionCode || ''); - const group = groupMap.get(regionCode) || {}; - seen.add(regionCode); + const regionKey = normalizeRegionCodeKey(regionCode); + const group = groupMap.get(regionKey) || {}; + seen.add(regionKey); return { ...region, configured: Boolean(group.configured), @@ -566,7 +570,8 @@ async function loadImGroupList() { }); for (const group of groups || []) { const regionCode = String(group.regionCode || ''); - if (seen.has(regionCode)) { + const regionKey = normalizeRegionCodeKey(regionCode); + if (seen.has(regionKey)) { continue; } rows.push({ @@ -587,6 +592,10 @@ async function loadImGroupList() { } } +function normalizeRegionCodeKey(value: unknown) { + return String(value ?? '').trim().toUpperCase(); +} + async function loadCountryOptions() { countries.value = (await getCountryAlls()) || []; }