fix: 哪吒v1版本的服务器分组是1对多关系,导致排后面的分组过滤服务器异常

This commit is contained in:
hi2hi 2024-12-07 08:52:15 +00:00
parent 31a8c8a50c
commit 5e14207302
3 changed files with 13 additions and 4 deletions

View File

@ -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);
}

View File

@ -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,
},

View File

@ -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));