diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Binding/Gacha/GachaStatistics.cs b/src/Snap.Hutao/Snap.Hutao/Model/Binding/Gacha/GachaStatistics.cs
index aafe0979..8429a67c 100644
--- a/src/Snap.Hutao/Snap.Hutao/Model/Binding/Gacha/GachaStatistics.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Model/Binding/Gacha/GachaStatistics.cs
@@ -21,7 +21,7 @@ public class GachaStatistics
///
/// 奔行世间
///
- public TypedWishSummary PermanentWish { get; set; } = default!;
+ public TypedWishSummary StandardWish { get; set; } = default!;
///
/// 历史卡池
diff --git a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaConfigTypeComparar.cs b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaConfigTypeComparar.cs
index 32038b72..4f6eb920 100644
--- a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaConfigTypeComparar.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaConfigTypeComparar.cs
@@ -17,7 +17,7 @@ public class GachaConfigTypeComparar : IComparer
{ GachaConfigType.AvatarEventWish, 0 },
{ GachaConfigType.AvatarEventWish2, 1 },
{ GachaConfigType.WeaponEventWish, 2 },
- { GachaConfigType.PermanentWish, 3 },
+ { GachaConfigType.StandardWish, 3 },
{ GachaConfigType.NoviceWish, 4 },
}.ToImmutableDictionary();
diff --git a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaStatisticsFactory.cs b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaStatisticsFactory.cs
index e14728aa..34ff18f1 100644
--- a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaStatisticsFactory.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaStatisticsFactory.cs
@@ -66,7 +66,7 @@ internal class GachaStatisticsFactory : IGachaStatisticsFactory
Dictionary weaponMap,
bool isEmptyHistoryWishVisible)
{
- TypedWishSummaryBuilder permanentWishBuilder = new(SH.ServiceGachaLogFactoryPermanentWishName, TypedWishSummaryBuilder.IsPermanentWish, 90, 10);
+ TypedWishSummaryBuilder standardWishBuilder = new(SH.ServiceGachaLogFactoryPermanentWishName, TypedWishSummaryBuilder.IsPermanentWish, 90, 10);
TypedWishSummaryBuilder avatarWishBuilder = new(SH.ServiceGachaLogFactoryAvatarWishName, TypedWishSummaryBuilder.IsAvatarEventWish, 90, 10);
TypedWishSummaryBuilder weaponWishBuilder = new(SH.ServiceGachaLogFactoryWeaponWishName, TypedWishSummaryBuilder.IsWeaponEventWish, 80, 10);
@@ -103,7 +103,7 @@ internal class GachaStatisticsFactory : IGachaStatisticsFactory
break;
}
- permanentWishBuilder.Track(item, avatar, isUp);
+ standardWishBuilder.Track(item, avatar, isUp);
avatarWishBuilder.Track(item, avatar, isUp);
weaponWishBuilder.Track(item, avatar, isUp);
}
@@ -130,7 +130,7 @@ internal class GachaStatisticsFactory : IGachaStatisticsFactory
break;
}
- permanentWishBuilder.Track(item, weapon, isUp);
+ standardWishBuilder.Track(item, weapon, isUp);
avatarWishBuilder.Track(item, weapon, isUp);
weaponWishBuilder.Track(item, weapon, isUp);
}
@@ -162,7 +162,7 @@ internal class GachaStatisticsFactory : IGachaStatisticsFactory
BlueWeapons = blueWeaponCounter.ToStatisticsList(),
// typed wish summary
- PermanentWish = permanentWishBuilder.ToTypedWishSummary(),
+ StandardWish = standardWishBuilder.ToTypedWishSummary(),
AvatarWish = avatarWishBuilder.ToTypedWishSummary(),
WeaponWish = weaponWishBuilder.ToTypedWishSummary(),
};
diff --git a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/TypedWishSummaryBuilder.cs b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/TypedWishSummaryBuilder.cs
index ad2e67e8..e18f0fcb 100644
--- a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/TypedWishSummaryBuilder.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/TypedWishSummaryBuilder.cs
@@ -18,7 +18,7 @@ internal class TypedWishSummaryBuilder
///
/// 常驻祈愿
///
- public static readonly Func IsPermanentWish = type => type is GachaConfigType.PermanentWish;
+ public static readonly Func IsPermanentWish = type => type is GachaConfigType.StandardWish;
///
/// 角色活动
diff --git a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLogService.cs b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLogService.cs
index 7d3f62d4..1ca8a677 100644
--- a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLogService.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLogService.cs
@@ -39,7 +39,7 @@ internal class GachaLogService : IGachaLogService
private static readonly ImmutableList QueryTypes = new List
{
GachaConfigType.NoviceWish,
- GachaConfigType.PermanentWish,
+ GachaConfigType.StandardWish,
GachaConfigType.AvatarEventWish,
GachaConfigType.WeaponEventWish,
}.ToImmutableList();
@@ -193,7 +193,7 @@ internal class GachaLogService : IGachaLogService
GachaArchive? archive = null;
SkipOrInitArchive(ref archive, uid);
- Guid archiveId = Must.NotNull(archive!).InnerId;
+ Guid archiveId = archive.InnerId;
long trimId = appDbContext.GachaItems
.Where(i => i.ArchiveId == archiveId)
diff --git a/src/Snap.Hutao/Snap.Hutao/View/Control/StatisticsCard.xaml b/src/Snap.Hutao/Snap.Hutao/View/Control/StatisticsCard.xaml
index 6890c541..a730133a 100644
--- a/src/Snap.Hutao/Snap.Hutao/View/Control/StatisticsCard.xaml
+++ b/src/Snap.Hutao/Snap.Hutao/View/Control/StatisticsCard.xaml
@@ -288,11 +288,16 @@
Text="{Binding AverageOrangePullFormatted}"/>
-
+
+
+ Text="{Binding AverageUpOrangePullFormatted}"
+ Visibility="{x:Bind ShowUpPull, Converter={StaticResource BoolToVisibilityConverter}}"/>
public sealed partial class StatisticsCard : UserControl
{
+ private static readonly DependencyProperty ShowUpPullProperty = Property.Depend(nameof(ShowUpPull), true);
+
///
/// 构造一个新的统计卡片
///
@@ -17,4 +21,13 @@ public sealed partial class StatisticsCard : UserControl
{
InitializeComponent();
}
+
+ ///
+ /// 显示Up抽数
+ ///
+ public bool ShowUpPull
+ {
+ get { return (bool)GetValue(ShowUpPullProperty); }
+ set { SetValue(ShowUpPullProperty, value); }
+ }
}
diff --git a/src/Snap.Hutao/Snap.Hutao/View/Dialog/AdoptCalculatorDialog.xaml.cs b/src/Snap.Hutao/Snap.Hutao/View/Dialog/AdoptCalculatorDialog.xaml.cs
index 6df4bd74..af6299b4 100644
--- a/src/Snap.Hutao/Snap.Hutao/View/Dialog/AdoptCalculatorDialog.xaml.cs
+++ b/src/Snap.Hutao/Snap.Hutao/View/Dialog/AdoptCalculatorDialog.xaml.cs
@@ -51,13 +51,16 @@ public sealed partial class AdoptCalculatorDialog : ContentDialog
coreWebView2.SetCookie(user.CookieToken, user.Ltoken, null).SetMobileUserAgent();
jsInterface = new(coreWebView2, scope.ServiceProvider);
+ jsInterface.ClosePageRequested += OnClosePageRequested;
-#if DEBUG
- coreWebView2.OpenDevToolsWindow();
-#endif
coreWebView2.Navigate($"http://webstatic.mihoyo.com/ys/event/e20200923adopt_calculator/index.html?bbs_presentation_style=fullscreen&bbs_auth_required=true&&utm_source=bbs&utm_medium=mys&utm_campaign=GameRecord");
}
+ private void OnClosePageRequested()
+ {
+ ThreadHelper.InvokeOnMainThread(Hide);
+ }
+
private void OnContentDialogClosed(ContentDialog sender, ContentDialogClosedEventArgs args)
{
jsInterface = null;
diff --git a/src/Snap.Hutao/Snap.Hutao/View/Page/GachaLogPage.xaml b/src/Snap.Hutao/Snap.Hutao/View/Page/GachaLogPage.xaml
index 1cc2adac..1db9dcfd 100644
--- a/src/Snap.Hutao/Snap.Hutao/View/Page/GachaLogPage.xaml
+++ b/src/Snap.Hutao/Snap.Hutao/View/Page/GachaLogPage.xaml
@@ -102,7 +102,8 @@
+ DataContext="{Binding Statistics.StandardWish}"
+ ShowUpPull="False"/>
diff --git a/src/Snap.Hutao/Snap.Hutao/View/Page/SettingPage.xaml b/src/Snap.Hutao/Snap.Hutao/View/Page/SettingPage.xaml
index 144f2ca3..70861e4d 100644
--- a/src/Snap.Hutao/Snap.Hutao/View/Page/SettingPage.xaml
+++ b/src/Snap.Hutao/Snap.Hutao/View/Page/SettingPage.xaml
@@ -17,6 +17,7 @@