luoqiang 7a5273dc56 初始化 Vue3+Vite 前端模板,适配 WebView2 桥接
新增项目基础结构与配置,集成 Vue3、Vite、TypeScript、ESLint 等开发环境。实现主页面、样式、图标组件,封装 http 请求,支持 WebView2 与普通浏览器统一 API 调用,便于与 C# 后端通信。完善类型声明与开发文档。
2026-04-24 11:56:02 +08:00

50 lines
1.6 KiB
C#

using Avalonia;
using Avalonia_PC.Views;
using Avalonia_Services.Services;
using Microsoft.Extensions.DependencyInjection;
using System;
namespace Avalonia_PC
{
internal sealed class Program
{
public static IServiceProvider Services { get; private set; } = null!;
// Initialization code. Don't use any Avalonia, third-party APIs or any
// SynchronizationContext-reliant code before AppMain is called: things aren't initialized
// yet and stuff might break.
[STAThread]
public static void Main(string[] args)
{
ConfigureServices();
#if DEBUG
// 开启 WebView2 远程调试,启动后在 Edge 中访问 edge://inspect 调试网页
Environment.SetEnvironmentVariable(
"WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS",
"--remote-debugging-port=9222 --auto-open-devtools-for-tabs");
#endif
BuildAvaloniaApp().StartWithClassicDesktopLifetime(args);
}
private static void ConfigureServices()
{
var services = new ServiceCollection();
services.AddSingleton<WeatherForecastService>();
services.AddTransient<MainWindow>(sp => new MainWindow(sp));
Services = services.BuildServiceProvider();
}
// Avalonia configuration, don't remove; also used by visual designer.
public static AppBuilder BuildAvaloniaApp()
=> AppBuilder.Configure<App>()
.UsePlatformDetect()
#if DEBUG
.WithDeveloperTools()
#endif
.WithInterFont()
.LogToTrace();
}
}