diff --git a/src/Snap.Hutao/Snap.Hutao/Service/SignIn/SignInService.cs b/src/Snap.Hutao/Snap.Hutao/Service/SignIn/SignInService.cs index 6d3b8aba..dfc33ee1 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/SignIn/SignInService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/SignIn/SignInService.cs @@ -25,9 +25,17 @@ internal sealed partial class SignInService : ISignInService if (resultResponse.IsOk()) { - int index = DateTimeOffset.Now.Day - 1; - Award award = rewardResponse.Data.Awards[index]; - return new(true, SH.ServiceSignInSuccessRewardFormat.Format(award.Name, award.Count)); + Response infoResponse = await signInClient.GetInfoAsync(userAndUid, token).ConfigureAwait(false); + if (infoResponse.IsOk()) + { + int index = infoResponse.Data.TotalSignDay - 1; + Award award = rewardResponse.Data.Awards[index]; + return new(true, SH.ServiceSignInSuccessRewardFormat.Format(award.Name, award.Count)); + } + else + { + return new(false, "获取签到次数失败"); + } } else { diff --git a/src/Snap.Hutao/Snap.Hutao/View/Control/WebViewer.xaml.cs b/src/Snap.Hutao/Snap.Hutao/View/Control/WebViewer.xaml.cs index 9e4a51c3..010a0060 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Control/WebViewer.xaml.cs +++ b/src/Snap.Hutao/Snap.Hutao/View/Control/WebViewer.xaml.cs @@ -88,7 +88,8 @@ internal partial class WebViewer : UserControl, IRecipient if (!string.IsNullOrEmpty(source)) { await coreWebView2.DeleteCookiesAsync(".mihoyo.com").ConfigureAwait(true); - coreWebView2.SetCookie(user.CookieToken, user.LToken, user.SToken).SetMobileUserAgent(); + coreWebView2.SetCookie(user.CookieToken, user.LToken, user.SToken); + _ = userAndUid.User.IsOversea ? coreWebView2.SetMobileOverseaUserAgent() : coreWebView2.SetMobileUserAgent(); jsInterface = SourceProvider.CreateJsInterface(serviceProvider, coreWebView2, userAndUid); CoreWebView2Navigator navigator = new(coreWebView2); diff --git a/src/Snap.Hutao/Snap.Hutao/View/UserView.xaml b/src/Snap.Hutao/Snap.Hutao/View/UserView.xaml index 201ceb89..d84bbad5 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/UserView.xaml +++ b/src/Snap.Hutao/Snap.Hutao/View/UserView.xaml @@ -209,15 +209,37 @@ + Style="{StaticResource DefaultAppBarButtonStyle}"> + + + + + + + + + + + + + + + (coreWebView2, userAndUid) + : serviceProvider.CreateInstance(coreWebView2, userAndUid); + } + + public string GetSource(UserAndUid userAndUid) + { + return userAndUid.User.IsOversea + ? "https://act.hoyolab.com/ys/event/signin-sea-v3/index.html?act_id=e202102251931481" + : "https://webstatic.mihoyo.com/bbs/event/signin-ys/index.html?act_id=e202009291139501"; + } +} \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/User/UserViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/User/UserViewModel.cs index 29e93d86..2818eeef 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/User/UserViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/User/UserViewModel.cs @@ -4,7 +4,6 @@ using CommunityToolkit.Mvvm.ComponentModel; using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Controls.Primitives; -using Microsoft.Web.WebView2.Core; using Snap.Hutao.Core; using Snap.Hutao.Core.ExceptionService; using Snap.Hutao.Core.IO.DataTransfer; @@ -12,10 +11,8 @@ using Snap.Hutao.Service.Navigation; using Snap.Hutao.Service.Notification; using Snap.Hutao.Service.SignIn; using Snap.Hutao.Service.User; -using Snap.Hutao.View.Control; using Snap.Hutao.View.Dialog; using Snap.Hutao.View.Page; -using Snap.Hutao.Web.Bridge; using Snap.Hutao.Web.Hoyolab; using System.Collections.ObjectModel; using System.Text; @@ -263,19 +260,4 @@ internal sealed partial class UserViewModel : ObservableObject { await Launcher.LaunchUriAsync(new(documentationProvider.GetDocumentation())); } -} - -internal sealed class SignInWebViewerSouce : IWebViewerSource -{ - public MiHoYoJSInterface CreateJsInterface(IServiceProvider serviceProvider, CoreWebView2 coreWebView2, UserAndUid userAndUid) - { - return userAndUid.User.IsOversea - ? serviceProvider.CreateInstance(coreWebView2, userAndUid) - : serviceProvider.CreateInstance(coreWebView2, userAndUid); - } - - public string GetSource(UserAndUid userAndUid) - { - throw new NotImplementedException(); - } } \ No newline at end of file