diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
index c45d3eb4..e2c6a2eb 100644
--- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
+++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
@@ -1733,6 +1733,12 @@
保存游戏路径失败
+
+ 当前未登录胡桃账号,上传深渊数据无法获赠胡桃云时长
+
+
+ 上传深渊数据
+
用户 [{0}] 添加成功
diff --git a/src/Snap.Hutao/Snap.Hutao/View/Dialog/HutaoPassportLoginDialog.xaml b/src/Snap.Hutao/Snap.Hutao/View/Dialog/HutaoPassportLoginDialog.xaml
index c1d84662..97d19810 100644
--- a/src/Snap.Hutao/Snap.Hutao/View/Dialog/HutaoPassportLoginDialog.xaml
+++ b/src/Snap.Hutao/Snap.Hutao/View/Dialog/HutaoPassportLoginDialog.xaml
@@ -19,6 +19,8 @@
PlaceholderText="{shcm:ResourceString Name=ViewPageHutaoPassportUserNameHint}"
Text="{x:Bind UserName, Mode=TwoWay}"/>
diff --git a/src/Snap.Hutao/Snap.Hutao/View/Dialog/HutaoPassportRegisterDialog.xaml b/src/Snap.Hutao/Snap.Hutao/View/Dialog/HutaoPassportRegisterDialog.xaml
index a72dd019..3f7386d0 100644
--- a/src/Snap.Hutao/Snap.Hutao/View/Dialog/HutaoPassportRegisterDialog.xaml
+++ b/src/Snap.Hutao/Snap.Hutao/View/Dialog/HutaoPassportRegisterDialog.xaml
@@ -31,6 +31,8 @@
Content="{shcm:ResourceString Name=ViewPageHutaoPassportVerifyCodeAction}"/>
{
private readonly ISpiralAbyssRecordService spiralAbyssRecordService;
+ private readonly IContentDialogFactory contentDialogFactory;
private readonly HutaoSpiralAbyssClient spiralAbyssClient;
private readonly IInfoBarService infoBarService;
private readonly ITaskContext taskContext;
private readonly IUserService userService;
private readonly HutaoDatabaseViewModel hutaoDatabaseViewModel;
+ private readonly HutaoUserOptions hutaoUserOptions;
private ObservableCollection? spiralAbyssEntries;
private SpiralAbyssView? selectedView;
@@ -128,6 +133,18 @@ internal sealed partial class SpiralAbyssRecordViewModel : Abstraction.ViewModel
{
if (UserAndUid.TryFromUser(userService.Current, out UserAndUid? userAndUid))
{
+ if (!hutaoUserOptions.IsLoggedIn)
+ {
+ ContentDialogResult result = await contentDialogFactory
+ .CreateForConfirmCancelAsync(SH.ViewModelSpiralAbyssUploadRecordHomaNotLoginTitle, SH.ViewModelSpiralAbyssUploadRecordHomaNotLoginContent)
+ .ConfigureAwait(false);
+
+ if (result is not ContentDialogResult.Primary)
+ {
+ return;
+ }
+ }
+
SimpleRecord? record = await spiralAbyssClient.GetPlayerRecordAsync(userAndUid).ConfigureAwait(false);
if (record is not null)
{