From 74e11f3823199350e3d706d46b80c5d8c7d07cf0 Mon Sep 17 00:00:00 2001 From: qhy040404 Date: Thu, 25 Apr 2024 22:39:05 +0800 Subject: [PATCH] impl #1245 --- .../Snap.Hutao/Resource/Localization/SH.resx | 6 ++++++ .../SpiralAbyss/SpiralAbyssRecordViewModel.cs | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) 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/ViewModel/SpiralAbyss/SpiralAbyssRecordViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/SpiralAbyss/SpiralAbyssRecordViewModel.cs index aeb7db5b..c1ea5089 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/SpiralAbyss/SpiralAbyssRecordViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/SpiralAbyss/SpiralAbyssRecordViewModel.cs @@ -2,7 +2,10 @@ // Licensed under the MIT license. using CommunityToolkit.Mvvm.Messaging; +using Microsoft.UI.Xaml.Controls; +using Snap.Hutao.Factory.ContentDialog; using Snap.Hutao.Message; +using Snap.Hutao.Service.Hutao; using Snap.Hutao.Service.Notification; using Snap.Hutao.Service.SpiralAbyss; using Snap.Hutao.Service.User; @@ -24,11 +27,13 @@ namespace Snap.Hutao.ViewModel.SpiralAbyss; internal sealed partial class SpiralAbyssRecordViewModel : Abstraction.ViewModel, IRecipient { 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) {