Skip to content

Commit eb065d7

Browse files
committed
🐛 部分选中的加速效果存在选择问题
1 parent 1b63929 commit eb065d7

File tree

2 files changed

+32
-4
lines changed

2 files changed

+32
-4
lines changed

src/BD.WTTS.Client.Plugins.Accelerator/Services/Mvvm/ProxyService.cs

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,35 @@ public IEnumerable<AccelerateProjectDTO> GetEnableProxyDomains()
163163
return [];
164164
var data = ProxyDomains.Items
165165
.Where(x => x.Items != null)
166-
.SelectMany(s => s.Items!.Where(w => w.ThreeStateEnable != false));
167-
//return data.Concat(data.SelectMany(s => GetProxyDomainsItems(s)));
166+
.SelectMany(s => s.Items!.Where(w => w.ThreeStateEnable != false))
167+
.Select(item =>
168+
{
169+
//过滤部分选中的子项
170+
if (item.Items.Any_Nullable())
171+
{
172+
return new AccelerateProjectDTO
173+
{
174+
Name = item.Name,
175+
Port = item.Port,
176+
MatchDomainNames = item.MatchDomainNames,
177+
ForwardDomainNames = item.ForwardDomainNames,
178+
IgnoreSSLCertVerification = item.IgnoreSSLCertVerification,
179+
FakeServerName = item.FakeServerName,
180+
ProxyType = item.ProxyType,
181+
ListenDomainNames = item.ListenDomainNames,
182+
Checked = item.Checked,
183+
Id = item.Id,
184+
Order = item.Order,
185+
FakeUserAgent = item.FakeUserAgent,
186+
Version = item.Version,
187+
ThreeStateEnable = item.ThreeStateEnable,
188+
// 递归过滤子项
189+
Items = item.Items.Where(x => x.ThreeStateEnable != false).ToList()
190+
};
191+
}
192+
return item;
193+
});
194+
168195
return data;
169196
}
170197

src/BD.WTTS.Client.Plugins.Accelerator/UI/ViewModels/AcceleratorPageViewModel.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,17 @@ public AcceleratorPageViewModel()
2121
{
2222
// Create new ProxyEnableDomain for 加速服务 page
2323
var enableGroupDomain = ProxyService.Current.ProxyDomainsList
24-
.Where(list => list.ThreeStateEnable == true || list.ThreeStateEnable == null)
24+
.Where(list => list.ThreeStateEnable != false)
2525
.Select(list => new ProxyDomainGroupViewModel
2626
{
2727
Name = list.Name,
2828
IconUrl = list.IconUrl ?? string.Empty,
2929
EnableProxyDomainVMs = new(
3030
list.Items!
31-
.Where(i => i.ThreeStateEnable == true)
31+
.Where(i => i.ThreeStateEnable != false)
3232
.Select(i => new ProxyDomainViewModel(i.Name, i.ProxyType, "https://" + i.ListenDomainNames.Split(";")[0],
3333
i.Items?
34+
.Where(x => x.ThreeStateEnable != false)
3435
.Select(c => new ProxyDomainViewModel(c.Name, c.ProxyType, "https://" + c.ListenDomainNames.Split(';')[0]))
3536
.ToList()))
3637
.ToList()),

0 commit comments

Comments
 (0)