46 lines
1.5 KiB
C#
46 lines
1.5 KiB
C#
using Microsoft.Web.WebView2.Core;
|
||
using System;
|
||
using System.Runtime.InteropServices;
|
||
using System.Windows.Forms;
|
||
|
||
namespace AIProofread.Controls
|
||
{
|
||
|
||
[ClassInterface(ClassInterfaceType.AutoDual)]
|
||
[ComVisible(true)]
|
||
public partial class FormMain : Form
|
||
{
|
||
public FormMain()
|
||
{
|
||
InitializeComponent();
|
||
InitWebEnvAsync();
|
||
}
|
||
|
||
public async void InitWebEnvAsync()
|
||
{
|
||
// 禁用web安全,允许跨域 否则需要web编译为umd加载模式
|
||
var ops = new CoreWebView2EnvironmentOptions("--disable-web-security");
|
||
var env = await CoreWebView2Environment.CreateAsync(null, Config.WEB_DATA_PATH, ops);
|
||
await webView.EnsureCoreWebView2Async(env);
|
||
//webView.CoreWebView2.Settings.AreDevToolsEnabled = false;
|
||
//webView.CoreWebView2.Settings.AreDefaultScriptDialogsEnabled = false;
|
||
//webView.CoreWebView2.Settings.AreHostObjectsAllowed = true;
|
||
// 添加 js与客户端代理
|
||
|
||
var eventForwarder = new EventForwarder(this);
|
||
webView.CoreWebView2.AddHostObjectToScript("bridge", Bridge.bridge);
|
||
webView.CoreWebView2.AddHostObjectToScript("form", this);
|
||
webView.CoreWebView2.AddHostObjectToScript("event", eventForwarder);
|
||
}
|
||
private void FormMain_Load(object sender, EventArgs e)
|
||
{
|
||
webView.Source = new Uri("http://127.0.0.1:5173/");
|
||
}
|
||
|
||
public void ShowLogin()
|
||
{
|
||
(new FormLogin()).Show();
|
||
}
|
||
}
|
||
}
|