diff --git a/src/store/index.js b/src/store/index.js index a28208b..7336315 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -163,6 +163,14 @@ const store = createStore({ if (firstSetServers) { firstSetServers = false; commit('SET_SERVERS', servers); + + // 在v0没抓页面配置的情况下,从服务器列表中分离出标签列表 + if (config.nazhua.nezhaVersion !== 'v1') { + const group = loadNezhaV0ServerGroup(servers); + if (group) { + commit('SET_SERVER_GROUP', group); + } + } } else { commit('UPDATE_SERVERS', servers); } diff --git a/src/utils/load-nezha-v0-config.js b/src/utils/load-nezha-v0-config.js index 003b997..eae98db 100644 --- a/src/utils/load-nezha-v0-config.js +++ b/src/utils/load-nezha-v0-config.js @@ -53,11 +53,11 @@ export const loadServerGroup = (services) => { } }); const tagList = []; - Object.entries(tagMap).forEach(([tag, serviceIds]) => { + Object.entries(tagMap).forEach(([tag, serviceList]) => { tagList.push({ name: tag, - count: serviceIds.length, - servers: serviceIds, + count: serviceList.length, + servers: serviceList.map((i) => i.ID), group: { name: tag, }, diff --git a/src/views/home.vue b/src/views/home.vue index 1e16a39..b25eaf0 100644 --- a/src/views/home.vue +++ b/src/views/home.vue @@ -120,7 +120,8 @@ const onlineOptions = computed(() => { const filterServerList = computed(() => serverList.value.filter((i) => { const isFilterArr = []; if (filterFormData.value.tag) { - isFilterArr.push(i.Tag === filterFormData.value.tag); + const group = store.state.serverGroup.find((o) => o.name === filterFormData.value.tag); + isFilterArr.push((group?.servers || []).includes(i.ID)); } if (filterFormData.value.online) { isFilterArr.push(i.online === (filterFormData.value.online * 1));