From 97842559d776da0ecb0ef36786d9e17a5ba8d6a7 Mon Sep 17 00:00:00 2001 From: Lightczx <1686188646@qq.com> Date: Wed, 6 Dec 2023 15:45:30 +0800 Subject: [PATCH] apply api changes --- .../Snap.Hutao/ViewModel/Setting/SettingViewModel.cs | 10 +++++++--- .../Snap.Hutao/Web/Hutao/HutaoInfrastructureClient.cs | 7 ++++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/Setting/SettingViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/Setting/SettingViewModel.cs index 24d3ba74..5f2fb09c 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/Setting/SettingViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/Setting/SettingViewModel.cs @@ -24,6 +24,7 @@ using Snap.Hutao.Service.User; using Snap.Hutao.View.Dialog; using Snap.Hutao.ViewModel.Guide; using Snap.Hutao.Web.Hutao; +using Snap.Hutao.Web.Response; using System.Globalization; using System.IO; using System.Runtime.InteropServices; @@ -105,10 +106,13 @@ internal sealed partial class SettingViewModel : Abstraction.ViewModel protected override async ValueTask InitializeUIAsync() { - IPInformation? information = await hutaoInfrastructureClient.GetIPInformationAsync().ConfigureAwait(false); + Response resp = await hutaoInfrastructureClient.GetIPInformationAsync().ConfigureAwait(false); - await taskContext.SwitchToMainThreadAsync(); - IPInformation = information; + if (resp.IsOk()) + { + await taskContext.SwitchToMainThreadAsync(); + IPInformation = resp.Data; + } return true; } diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hutao/HutaoInfrastructureClient.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hutao/HutaoInfrastructureClient.cs index e3a5073a..c995e4cf 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Hutao/HutaoInfrastructureClient.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Hutao/HutaoInfrastructureClient.cs @@ -5,6 +5,7 @@ using Snap.Hutao.Core.DependencyInjection.Annotation.HttpClient; using Snap.Hutao.Service.Hutao; using Snap.Hutao.Web.Request.Builder; using Snap.Hutao.Web.Request.Builder.Abstraction; +using Snap.Hutao.Web.Response; using System.Net.Http; using System.Security.Cryptography; using System.Text; @@ -19,13 +20,13 @@ internal sealed partial class HutaoInfrastructureClient private readonly ILogger logger; private readonly HttpClient httpClient; - public async ValueTask GetIPInformationAsync(CancellationToken token = default) + public async ValueTask> GetIPInformationAsync(CancellationToken token = default) { HttpRequestMessageBuilder builder = httpRequestMessageBuilderFactory.Create() .SetRequestUri(HutaoEndpoints.Ip) .Get(); - IPInformation? resp = await builder.TryCatchSendAsync(httpClient, logger, token).ConfigureAwait(false); - return resp ?? IPInformation.Default; + Response? resp = await builder.TryCatchSendAsync>(httpClient, logger, token).ConfigureAwait(false); + return Response.Response.DefaultIfNull(resp); } } \ No newline at end of file