diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs
index abf9d9c9..284fdf01 100644
--- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs
@@ -6252,6 +6252,24 @@ namespace Snap.Hutao.Resource.Localization {
}
}
+ ///
+ /// 查找类似 角色出场率 = 本层上阵该角色次数(层内重复出现只记一次)/ 深渊记录总数 的本地化字符串。
+ ///
+ internal static string ViewSpiralAbyssAvatarAppearanceRankDescription {
+ get {
+ return ResourceManager.GetString("ViewSpiralAbyssAvatarAppearanceRankDescription", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 角色使用率 = 本层上阵该角色次数(层内重复出现只记一次)/ 持有该角色的深渊记录总数 的本地化字符串。
+ ///
+ internal static string ViewSpiralAbyssAvatarUsageRankDescription {
+ get {
+ return ResourceManager.GetString("ViewSpiralAbyssAvatarUsageRankDescription", resourceCulture);
+ }
+ }
+
///
/// 查找类似 战斗数据 的本地化字符串。
///
@@ -6298,7 +6316,7 @@ namespace Snap.Hutao.Resource.Localization {
}
///
- /// 查找类似 详细数据 的本地化字符串。
+ /// 查找类似 深境螺旋 的本地化字符串。
///
internal static string ViewSpiralAbyssDetail {
get {
@@ -6324,6 +6342,15 @@ namespace Snap.Hutao.Resource.Localization {
}
}
+ ///
+ /// 查找类似 本期统计 的本地化字符串。
+ ///
+ internal static string ViewSpiralAbyssHutaoStatistics {
+ get {
+ return ResourceManager.GetString("ViewSpiralAbyssHutaoStatistics", resourceCulture);
+ }
+ }
+
///
/// 查找类似 最深抵达 的本地化字符串。
///
@@ -6351,6 +6378,15 @@ namespace Snap.Hutao.Resource.Localization {
}
}
+ ///
+ /// 查找类似 攻击地脉镇石 的本地化字符串。
+ ///
+ internal static string ViewSpiralAbyssRecordMonsterAttacksMonolith {
+ get {
+ return ResourceManager.GetString("ViewSpiralAbyssRecordMonsterAttacksMonolith", resourceCulture);
+ }
+ }
+
///
/// 查找类似 刷新数据 的本地化字符串。
///
diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
index 552dcaac..f8e75925 100644
--- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
+++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
@@ -2237,6 +2237,12 @@
立即登录或注册
+
+ 角色出场率 = 本层上阵该角色次数(层内重复出现只记一次)/ 深渊记录总数
+
+
+ 角色使用率 = 本层上阵该角色次数(层内重复出现只记一次)/ 持有该角色的深渊记录总数
+
战斗数据
@@ -2253,7 +2259,7 @@
最多击破
- 详细数据
+ 深境螺旋
元素爆发
@@ -2261,6 +2267,9 @@
深渊记录
+
+ 本期统计
+
最深抵达
@@ -2270,6 +2279,9 @@
上场角色
+
+ 攻击地脉镇石
+
刷新数据
diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Navigation/DocumentationProvider.cs b/src/Snap.Hutao/Snap.Hutao/Service/Navigation/DocumentationProvider.cs
index 4d029580..b21f1f62 100644
--- a/src/Snap.Hutao/Snap.Hutao/Service/Navigation/DocumentationProvider.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Service/Navigation/DocumentationProvider.cs
@@ -19,7 +19,6 @@ internal sealed partial class DocumentationProvider : IDocumentationProvider
[typeof(CultivationPage)] = "https://hut.ao/features/develop-plan.html",
[typeof(DailyNotePage)] = "https://hut.ao/features/real-time-notes.html",
[typeof(GachaLogPage)] = "https://hut.ao/features/wish-export.html",
- [typeof(HutaoDatabasePage)] = "https://hut.ao/features/hutao-API.html",
[typeof(HutaoPassportPage)] = "https://hut.ao/zh/features/hutao-settings.html#%E8%83%A1%E6%A1%83%E5%B8%90%E5%8F%B7",
[typeof(LaunchGamePage)] = "https://hut.ao/features/game-launcher.html",
[typeof(LoginHoyoverseUserPage)] = "https://hut.ao/features/mhy-account-switch.html",
diff --git a/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj b/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj
index e27fd286..4cc7287f 100644
--- a/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj
+++ b/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj
@@ -148,7 +148,6 @@
-
@@ -476,11 +475,6 @@
MSBuild:Compile
-
-
- MSBuild:Compile
-
-
MSBuild:Compile
diff --git a/src/Snap.Hutao/Snap.Hutao/View/MainView.xaml b/src/Snap.Hutao/Snap.Hutao/View/MainView.xaml
index d897540f..a652374d 100644
--- a/src/Snap.Hutao/Snap.Hutao/View/MainView.xaml
+++ b/src/Snap.Hutao/Snap.Hutao/View/MainView.xaml
@@ -67,11 +67,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 16
- 0
- 0
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Snap.Hutao/Snap.Hutao/View/Page/HutaoDatabasePage.xaml.cs b/src/Snap.Hutao/Snap.Hutao/View/Page/HutaoDatabasePage.xaml.cs
deleted file mode 100644
index 92650314..00000000
--- a/src/Snap.Hutao/Snap.Hutao/View/Page/HutaoDatabasePage.xaml.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright (c) DGP Studio. All rights reserved.
-// Licensed under the MIT license.
-
-using Snap.Hutao.Control;
-using Snap.Hutao.ViewModel.Complex;
-
-namespace Snap.Hutao.View.Page;
-
-///
-/// 胡桃数据库页面
-///
-[HighQuality]
-internal sealed partial class HutaoDatabasePage : ScopedPage
-{
- ///
- /// 构造一个新的胡桃数据库页面
- ///
- public HutaoDatabasePage()
- {
- InitializeWith();
- InitializeComponent();
- }
-}
diff --git a/src/Snap.Hutao/Snap.Hutao/View/Page/SpiralAbyssRecordPage.xaml b/src/Snap.Hutao/Snap.Hutao/View/Page/SpiralAbyssRecordPage.xaml
index c1e23d77..c380be42 100644
--- a/src/Snap.Hutao/Snap.Hutao/View/Page/SpiralAbyssRecordPage.xaml
+++ b/src/Snap.Hutao/Snap.Hutao/View/Page/SpiralAbyssRecordPage.xaml
@@ -12,7 +12,8 @@
xmlns:shci="using:Snap.Hutao.Control.Image"
xmlns:shcm="using:Snap.Hutao.Control.Markup"
xmlns:shct="using:Snap.Hutao.Control.Text"
- xmlns:shvc="using:Snap.Hutao.View.Control"
+ xmlns:shvcom="using:Snap.Hutao.ViewModel.Complex"
+ xmlns:shvcon="using:Snap.Hutao.View.Control"
xmlns:shvs="using:Snap.Hutao.ViewModel.SpiralAbyss"
d:DataContext="{d:DesignInstance shvs:SpiralAbyssRecordViewModel}"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
@@ -56,6 +57,62 @@
Text="{Binding}"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 16
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/Complex/HutaoDatabaseViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/Complex/HutaoDatabaseViewModel.cs
index 7a291a07..207df391 100644
--- a/src/Snap.Hutao/Snap.Hutao/ViewModel/Complex/HutaoDatabaseViewModel.cs
+++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/Complex/HutaoDatabaseViewModel.cs
@@ -23,17 +23,24 @@ internal sealed partial class HutaoDatabaseViewModel : Abstraction.ViewModel
private List? avatarConstellationInfos;
private List? teamAppearances;
private Overview? overview;
+ private AvatarRankView? selectedAvatarUsageRank;
+ private AvatarRankView? selectedAvatarAppearanceRank;
+ private TeamAppearanceView? selectedTeamAppearance;
///
/// 角色使用率
///
public List? AvatarUsageRanks { get => avatarUsageRanks; set => SetProperty(ref avatarUsageRanks, value); }
+ public AvatarRankView? SelectedAvatarUsageRank { get => selectedAvatarUsageRank; set => SetProperty(ref selectedAvatarUsageRank, value); }
+
///
/// 角色上场率
///
public List? AvatarAppearanceRanks { get => avatarAppearanceRanks; set => SetProperty(ref avatarAppearanceRanks, value); }
+ public AvatarRankView? SelectedAvatarAppearanceRank { get => selectedAvatarAppearanceRank; set => SetProperty(ref selectedAvatarAppearanceRank, value); }
+
///
/// 角色命座信息
///
@@ -44,6 +51,8 @@ internal sealed partial class HutaoDatabaseViewModel : Abstraction.ViewModel
///
public List? TeamAppearances { get => teamAppearances; set => SetProperty(ref teamAppearances, value); }
+ public TeamAppearanceView? SelectedTeamAppearance { get => selectedTeamAppearance; set => SetProperty(ref selectedTeamAppearance, value); }
+
///
/// 总览数据
///
@@ -56,9 +65,15 @@ internal sealed partial class HutaoDatabaseViewModel : Abstraction.ViewModel
{
await taskContext.SwitchToMainThreadAsync();
AvatarAppearanceRanks = hutaoCache.AvatarAppearanceRanks;
+ SelectedAvatarAppearanceRank = AvatarAppearanceRanks?.FirstOrDefault();
+
AvatarUsageRanks = hutaoCache.AvatarUsageRanks;
- AvatarConstellationInfos = hutaoCache.AvatarConstellationInfos;
+ SelectedAvatarUsageRank = AvatarUsageRanks?.FirstOrDefault();
+
TeamAppearances = hutaoCache.TeamAppearances;
+ SelectedTeamAppearance = TeamAppearances?.FirstOrDefault();
+
+ AvatarConstellationInfos = hutaoCache.AvatarConstellationInfos;
Overview = hutaoCache.Overview;
}
}
diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/SpiralAbyss/SpiralAbyssRecordViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/SpiralAbyss/SpiralAbyssRecordViewModel.cs
index 69196902..d45fa594 100644
--- a/src/Snap.Hutao/Snap.Hutao/ViewModel/SpiralAbyss/SpiralAbyssRecordViewModel.cs
+++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/SpiralAbyss/SpiralAbyssRecordViewModel.cs
@@ -6,6 +6,7 @@ using Snap.Hutao.Message;
using Snap.Hutao.Service.Notification;
using Snap.Hutao.Service.SpiralAbyss;
using Snap.Hutao.Service.User;
+using Snap.Hutao.ViewModel.Complex;
using Snap.Hutao.ViewModel.User;
using Snap.Hutao.Web.Hutao.SpiralAbyss;
using Snap.Hutao.Web.Hutao.SpiralAbyss.Post;
@@ -26,6 +27,7 @@ internal sealed partial class SpiralAbyssRecordViewModel : Abstraction.ViewModel
private readonly IInfoBarService infoBarService;
private readonly ITaskContext taskContext;
private readonly IUserService userService;
+ private readonly HutaoDatabaseViewModel hutaoDatabaseViewModel;
private ObservableCollection? spiralAbyssEntries;
private SpiralAbyssView? selectedView;
@@ -40,6 +42,8 @@ internal sealed partial class SpiralAbyssRecordViewModel : Abstraction.ViewModel
///
public SpiralAbyssView? SelectedView { get => selectedView; set => SetProperty(ref selectedView, value); }
+ public HutaoDatabaseViewModel HutaoDatabaseViewModel { get => hutaoDatabaseViewModel; }
+
///
public void Receive(UserChangedMessage message)
{