From e833578334ef5cfe3da02656d01e3054723a5e10 Mon Sep 17 00:00:00 2001 From: Lightczx <1686188646@qq.com> Date: Thu, 9 Nov 2023 11:51:56 +0800 Subject: [PATCH] rename jsbridge --- .../Snap.Hutao/View/Control/IWebViewerSource.cs | 2 +- .../View/Control/StaticWebview2ViewerSource.cs | 4 ++-- .../Snap.Hutao/View/Control/WebViewer.xaml.cs | 6 +++--- .../ViewModel/DailyNote/DailyNoteWebViewerSource.cs | 4 ++-- .../Snap.Hutao/ViewModel/User/SignInWebViewerSouce.cs | 6 +++--- .../Bridge/{MiHoYoJSInterface.cs => MiHoYoJSBridge.cs} | 8 ++++---- .../Bridge/{SignInJSInterface.cs => SignInJSBridge.cs} | 5 ++--- ...nJSInterfaceOversea.cs => SignInJSBridgeOversea.cs} | 10 +++------- 8 files changed, 20 insertions(+), 25 deletions(-) rename src/Snap.Hutao/Snap.Hutao/Web/Bridge/{MiHoYoJSInterface.cs => MiHoYoJSBridge.cs} (98%) rename src/Snap.Hutao/Snap.Hutao/Web/Bridge/{SignInJSInterface.cs => SignInJSBridge.cs} (67%) rename src/Snap.Hutao/Snap.Hutao/Web/Bridge/{SignInJSInterfaceOversea.cs => SignInJSBridgeOversea.cs} (67%) diff --git a/src/Snap.Hutao/Snap.Hutao/View/Control/IWebViewerSource.cs b/src/Snap.Hutao/Snap.Hutao/View/Control/IWebViewerSource.cs index 7a2394f4..35d624c1 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Control/IWebViewerSource.cs +++ b/src/Snap.Hutao/Snap.Hutao/View/Control/IWebViewerSource.cs @@ -9,7 +9,7 @@ namespace Snap.Hutao.View.Control; internal interface IWebViewerSource { - MiHoYoJSInterface CreateJsInterface(IServiceProvider serviceProvider, CoreWebView2 coreWebView2, UserAndUid userAndUid); + MiHoYoJSBridge CreateJSBridge(IServiceProvider serviceProvider, CoreWebView2 coreWebView2, UserAndUid userAndUid); string GetSource(UserAndUid userAndUid); } \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/View/Control/StaticWebview2ViewerSource.cs b/src/Snap.Hutao/Snap.Hutao/View/Control/StaticWebview2ViewerSource.cs index 44c197fd..2fddb13f 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Control/StaticWebview2ViewerSource.cs +++ b/src/Snap.Hutao/Snap.Hutao/View/Control/StaticWebview2ViewerSource.cs @@ -12,9 +12,9 @@ namespace Snap.Hutao.View.Control; [DependencyProperty("OverseaSource", typeof(string))] internal sealed partial class StaticWebview2ViewerSource : DependencyObject, IWebViewerSource { - public MiHoYoJSInterface CreateJsInterface(IServiceProvider serviceProvider, CoreWebView2 coreWebView2, UserAndUid userAndUid) + public MiHoYoJSBridge CreateJSBridge(IServiceProvider serviceProvider, CoreWebView2 coreWebView2, UserAndUid userAndUid) { - return serviceProvider.CreateInstance(coreWebView2, userAndUid); + return serviceProvider.CreateInstance(coreWebView2, userAndUid); } public string GetSource(UserAndUid userAndUid) 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 8f50f1b1..085556d5 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Control/WebViewer.xaml.cs +++ b/src/Snap.Hutao/Snap.Hutao/View/Control/WebViewer.xaml.cs @@ -25,7 +25,7 @@ internal partial class WebViewer : UserControl, IRecipient private readonly RoutedEventHandler loadEventHandler; private readonly TypedEventHandler documentTitleChangedEventHander; - private MiHoYoJSInterface? jsInterface; + private MiHoYoJSBridge? jsBridge; private bool isInitializingOrInitialized; public WebViewer() @@ -129,8 +129,8 @@ internal partial class WebViewer : UserControl, IRecipient coreWebView2 .SetCookie(user.CookieToken, user.LToken, userAndUid.IsOversea) .SetMobileUserAgent(userAndUid.IsOversea); - jsInterface?.Detach(); - jsInterface = SourceProvider.CreateJsInterface(serviceProvider, coreWebView2, userAndUid); + jsBridge?.Detach(); + jsBridge = SourceProvider.CreateJSBridge(serviceProvider, coreWebView2, userAndUid); await navigator.NavigateAsync(source).ConfigureAwait(true); } diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/DailyNote/DailyNoteWebViewerSource.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/DailyNote/DailyNoteWebViewerSource.cs index c8e648da..64767b36 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/DailyNote/DailyNoteWebViewerSource.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/DailyNote/DailyNoteWebViewerSource.cs @@ -11,9 +11,9 @@ namespace Snap.Hutao.ViewModel.DailyNote; internal sealed class DailyNoteWebViewerSource : IWebViewerSource { - public MiHoYoJSInterface CreateJsInterface(IServiceProvider serviceProvider, CoreWebView2 coreWebView2, UserAndUid userAndUid) + public MiHoYoJSBridge CreateJSBridge(IServiceProvider serviceProvider, CoreWebView2 coreWebView2, UserAndUid userAndUid) { - return serviceProvider.CreateInstance(coreWebView2, userAndUid); + return serviceProvider.CreateInstance(coreWebView2, userAndUid); } public string GetSource(UserAndUid userAndUid) diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/User/SignInWebViewerSouce.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/User/SignInWebViewerSouce.cs index 7fd64d23..d656bece 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/User/SignInWebViewerSouce.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/User/SignInWebViewerSouce.cs @@ -10,11 +10,11 @@ namespace Snap.Hutao.ViewModel.User; internal sealed class SignInWebViewerSouce : DependencyObject, IWebViewerSource { - public MiHoYoJSInterface CreateJsInterface(IServiceProvider serviceProvider, CoreWebView2 coreWebView2, UserAndUid userAndUid) + public MiHoYoJSBridge CreateJSBridge(IServiceProvider serviceProvider, CoreWebView2 coreWebView2, UserAndUid userAndUid) { return userAndUid.User.IsOversea - ? serviceProvider.CreateInstance(coreWebView2, userAndUid) - : serviceProvider.CreateInstance(coreWebView2, userAndUid); + ? serviceProvider.CreateInstance(coreWebView2, userAndUid) + : serviceProvider.CreateInstance(coreWebView2, userAndUid); } public string GetSource(UserAndUid userAndUid) diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Bridge/MiHoYoJSInterface.cs b/src/Snap.Hutao/Snap.Hutao/Web/Bridge/MiHoYoJSBridge.cs similarity index 98% rename from src/Snap.Hutao/Snap.Hutao/Web/Bridge/MiHoYoJSInterface.cs rename to src/Snap.Hutao/Snap.Hutao/Web/Bridge/MiHoYoJSBridge.cs index e4123d16..2630976f 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Bridge/MiHoYoJSInterface.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Bridge/MiHoYoJSBridge.cs @@ -24,7 +24,7 @@ namespace Snap.Hutao.Web.Bridge; [HighQuality] [SuppressMessage("", "CA1001")] [SuppressMessage("", "CA1308")] -internal class MiHoYoJSInterface +internal class MiHoYoJSBridge { private const string InitializeJsInterfaceScript2 = """ window.MiHoYoJSInterface = { @@ -45,7 +45,7 @@ internal class MiHoYoJSInterface private readonly IServiceProvider serviceProvider; private readonly ITaskContext taskContext; - private readonly ILogger logger; + private readonly ILogger logger; private readonly TypedEventHandler webMessageReceivedEventHandler; private readonly TypedEventHandler domContentLoadedEventHandler; @@ -53,7 +53,7 @@ internal class MiHoYoJSInterface private CoreWebView2 coreWebView2; - public MiHoYoJSInterface(CoreWebView2 coreWebView2, UserAndUid userAndUid) + public MiHoYoJSBridge(CoreWebView2 coreWebView2, UserAndUid userAndUid) { // 由于Webview2 的作用域特殊性,我们在此处直接使用根服务 serviceProvider = Ioc.Default; @@ -61,7 +61,7 @@ internal class MiHoYoJSInterface this.userAndUid = userAndUid; taskContext = serviceProvider.GetRequiredService(); - logger = serviceProvider.GetRequiredService>(); + logger = serviceProvider.GetRequiredService>(); webMessageReceivedEventHandler = OnWebMessageReceived; domContentLoadedEventHandler = OnDOMContentLoaded; diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Bridge/SignInJSInterface.cs b/src/Snap.Hutao/Snap.Hutao/Web/Bridge/SignInJSBridge.cs similarity index 67% rename from src/Snap.Hutao/Snap.Hutao/Web/Bridge/SignInJSInterface.cs rename to src/Snap.Hutao/Snap.Hutao/Web/Bridge/SignInJSBridge.cs index 513f2f5e..a96061ca 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Bridge/SignInJSInterface.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Bridge/SignInJSBridge.cs @@ -12,10 +12,9 @@ namespace Snap.Hutao.Web.Bridge; /// 签到页面JS桥 /// [HighQuality] -internal sealed class SignInJSInterface : MiHoYoJSInterface +internal sealed class SignInJSBridge : MiHoYoJSBridge { - /// - public SignInJSInterface(CoreWebView2 webView, IServiceProvider serviceProvider, UserAndUid userAndUid) + public SignInJSBridge(CoreWebView2 webView, UserAndUid userAndUid) : base(webView, userAndUid) { } diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Bridge/SignInJSInterfaceOversea.cs b/src/Snap.Hutao/Snap.Hutao/Web/Bridge/SignInJSBridgeOversea.cs similarity index 67% rename from src/Snap.Hutao/Snap.Hutao/Web/Bridge/SignInJSInterfaceOversea.cs rename to src/Snap.Hutao/Snap.Hutao/Web/Bridge/SignInJSBridgeOversea.cs index 90692280..bf172a7f 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Bridge/SignInJSInterfaceOversea.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Bridge/SignInJSBridgeOversea.cs @@ -12,7 +12,7 @@ namespace Snap.Hutao.Web.Bridge; /// HoYoLAB 签到页面JS桥 /// [HighQuality] -internal sealed class SignInJSInterfaceOversea : MiHoYoJSInterface +internal sealed class SignInJSBridgeOversea : MiHoYoJSBridge { // 移除 请旋转手机 提示所在的HTML元素 private const string RemoveRotationWarningScript = """ @@ -20,13 +20,9 @@ internal sealed class SignInJSInterfaceOversea : MiHoYoJSInterface landscape.remove(); """; - private readonly ILogger logger; - - /// - public SignInJSInterfaceOversea(CoreWebView2 webView, IServiceProvider serviceProvider, UserAndUid userAndUid) + public SignInJSBridgeOversea(CoreWebView2 webView, UserAndUid userAndUid) : base(webView, userAndUid) { - logger = serviceProvider.GetRequiredService>(); } protected override void GetHttpRequestHeaderCore(Dictionary headers) @@ -36,6 +32,6 @@ internal sealed class SignInJSInterfaceOversea : MiHoYoJSInterface protected override void DOMContentLoaded(CoreWebView2 coreWebView2) { - coreWebView2.ExecuteScriptAsync(RemoveRotationWarningScript).AsTask().SafeForget(logger); + coreWebView2.ExecuteScriptAsync(RemoveRotationWarningScript).AsTask().SafeForget(); } } \ No newline at end of file