You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
3.6 KiB
112 lines
3.6 KiB
using BBWYB.Client.APIServices;
|
|
using CommunityToolkit.Mvvm.Messaging;
|
|
using CommunityToolkit.Mvvm.Messaging.Messages;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Reflection;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
|
|
namespace BBWYB.Client.Views.WebB
|
|
{
|
|
/// <summary>
|
|
/// WebB.xaml 的交互逻辑
|
|
/// </summary>
|
|
public partial class WebB : Page
|
|
{
|
|
private WebView2Manager w2m;
|
|
private bool isNavigated;
|
|
|
|
private IList<string> managerDepartment;
|
|
private MdsApiService mdsApiService;
|
|
private ShopService shopService;
|
|
private GlobalContext globalContext;
|
|
|
|
public WebB()
|
|
{
|
|
InitializeComponent();
|
|
this.Loaded += WebB_Loaded;
|
|
this.Unloaded += WebB_Unloaded;
|
|
|
|
WeakReferenceMessenger.Default.Register<Message_WebB_Refresh>(this, (o, x) =>
|
|
{
|
|
this.Dispatcher.Invoke(() =>
|
|
{
|
|
_ = w2m.wb2.ExecuteScriptAsync("window.location.reload();");
|
|
});
|
|
});
|
|
|
|
WeakReferenceMessenger.Default.Register<Message_WebB_RefreshPack>(this, (o, x) =>
|
|
{
|
|
this.Dispatcher.Invoke(() =>
|
|
{
|
|
_ = w2m.wb2.ExecuteScriptAsync("window.BBWY_B_WebContex('PACK_CONFIG_SUCCESS');");
|
|
});
|
|
});
|
|
}
|
|
|
|
private void WebB_Unloaded(object sender, RoutedEventArgs e)
|
|
{
|
|
grid.Children.Remove(w2m.wb2);
|
|
//w2m.wb2.Dispose();
|
|
w2m.Close();
|
|
WeakReferenceMessenger.Default.UnregisterAll(this);
|
|
}
|
|
|
|
private void WebB_Loaded(object sender, System.Windows.RoutedEventArgs e)
|
|
{
|
|
var sp = (App.Current as App).ServiceProvider;
|
|
using (var s = sp.CreateScope())
|
|
{
|
|
w2m = s.ServiceProvider.GetRequiredService<WebView2Manager>();
|
|
globalContext = s.ServiceProvider.GetRequiredService<GlobalContext>();
|
|
mdsApiService = s.ServiceProvider.GetRequiredService<MdsApiService>();
|
|
shopService = s.ServiceProvider.GetRequiredService<ShopService>();
|
|
}
|
|
|
|
#if DEBUG
|
|
var url = "http://192.168.1.8:8080";
|
|
//var url = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "s.html");
|
|
#else
|
|
var url = "http://qtbbwy.qiyue666.com";
|
|
#endif
|
|
//var url = "http://qtbbwy.qiyue666.com";
|
|
w2m.CoreWebView2InitializationCompleted = (e) =>
|
|
{
|
|
w2m.wb2.CoreWebView2.AddHostObjectToScript("webContext", this.globalContext);
|
|
isNavigated = true;
|
|
w2m.wb2.CoreWebView2.Navigate(url);
|
|
};
|
|
|
|
|
|
w2m.Init("bbwyb_web");
|
|
w2m.wb2.SetValue(Grid.RowProperty, 1);
|
|
w2m.wb2.Margin = new Thickness(1, 0, 1, 0);
|
|
//grid.Children.Clear();
|
|
grid.Children.Add(w2m.wb2);
|
|
|
|
if (w2m.IsInitializationCompleted && !isNavigated)
|
|
{
|
|
w2m.wb2.CoreWebView2.Navigate(url);
|
|
//w2m.wb2.CoreWebView2.NavigateToString(content);
|
|
isNavigated = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
public class Message_WebB_Refresh : ValueChangedMessage<object>
|
|
{
|
|
public Message_WebB_Refresh(object value) : base(value)
|
|
{
|
|
}
|
|
}
|
|
|
|
public class Message_WebB_RefreshPack : ValueChangedMessage<object>
|
|
{
|
|
public Message_WebB_RefreshPack(object value) : base(value)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|