add options to disable metadata initialization

This commit is contained in:
DismissedLight
2023-09-02 15:22:14 +08:00
parent 97bd2b5af9
commit 300e99a9ae
6 changed files with 42 additions and 3 deletions

View File

@@ -53,4 +53,9 @@ internal static class SettingKeys
/// 排除的系统公告
/// </summary>
public const string ExcludedAnnouncementIds = "ExcludedAnnouncementIds";
/// <summary>
/// 禁用元数据更新检查
/// </summary>
public const string SuppressMetadataInitialization = "SuppressMetadataInitialization";
}

View File

@@ -7,6 +7,7 @@ using Snap.Hutao.Core.DependencyInjection.Annotation.HttpClient;
using Snap.Hutao.Core.Diagnostics;
using Snap.Hutao.Core.ExceptionService;
using Snap.Hutao.Core.IO.Hashing;
using Snap.Hutao.Core.Setting;
using Snap.Hutao.Service.Notification;
using System.IO;
using System.Net;
@@ -61,6 +62,11 @@ internal sealed partial class MetadataService : IMetadataService, IMetadataServi
private async ValueTask<bool> TryUpdateMetadataAsync(CancellationToken token)
{
if (LocalSetting.Get(SettingKeys.SuppressMetadataInitialization, false))
{
return true;
}
Dictionary<string, string>? metaXXH64Map;
try
{

View File

@@ -159,13 +159,13 @@
<StackPanel>
<TextBlock
Margin="16,16,16,0"
Margin="16,16,12,0"
Style="{StaticResource TitleTextBlockStyle}"
Text="{Binding GreetingText}"/>
<TextBlock Margin="16,0,16,0" Text="{Binding UserOptions.UserName}"/>
<ItemsControl
Margin="16,16,16,0"
Margin="16,16,12,0"
ItemsSource="{Binding HutaoAnnouncements}"
Visibility="{Binding HutaoAnnouncements.Count, Converter={StaticResource Int32ToVisibilityConverter}}">
<ItemsControl.ItemTemplate>

View File

@@ -65,6 +65,15 @@
</StackPanel>
</cwc:SettingsCard>
<cwc:SettingsCard Header="Suppress Metadata Initialization">
<ToggleSwitch IsOn="{Binding SuppressMetadataInitialization, Mode=TwoWay}"/>
</cwc:SettingsCard>
<cwc:SettingsCard
Command="{Binding CompensationGachaLogServiceTimeCommand}"
Header="Compensation GachaLog Service Time For 15 Days"
IsClickEnabled="True"/>
<Expander
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch"

View File

@@ -24,6 +24,13 @@ internal sealed partial class TestViewModel : Abstraction.ViewModel
public UploadAnnouncement Announcement { get => announcement; set => SetProperty(ref announcement, value); }
[SuppressMessage("", "CA1822")]
public bool SuppressMetadataInitialization
{
get => LocalSetting.Get(SettingKeys.SuppressMetadataInitialization, false);
set => LocalSetting.Set(SettingKeys.SuppressMetadataInitialization, value);
}
protected override ValueTask<bool> InitializeUIAsync()
{
return ValueTask.FromResult(true);
@@ -46,4 +53,16 @@ internal sealed partial class TestViewModel : Abstraction.ViewModel
Announcement = new();
}
}
[Command("CompensationGachaLogServiceTimeCommand")]
private async void CompensationGachaLogServiceTimeAsync()
{
Web.Response.Response response = await homaAsAServiceClient.GachaLogCompensationAsync(15).ConfigureAwait(false);
if (response.IsOk())
{
infoBarService.Success(response.Message);
await taskContext.SwitchToMainThreadAsync();
Announcement = new();
}
}
}

View File

@@ -23,7 +23,7 @@ internal sealed class Announcement : UploadAnnouncement
/// </summary>
public long LastUpdateTime { get; set; }
public string UpdateTimeFormatted { get => $"{DateTimeOffset.FromUnixTimeSeconds(LastUpdateTime):yyyy-MM-dd HH:mm:ss}"; }
public string UpdateTimeFormatted { get => $"{DateTimeOffset.FromUnixTimeSeconds(LastUpdateTime).ToLocalTime():yyyy-MM-dd HH:mm:ss}"; }
public ICommand? DismissCommand { get; set; }
}