Files
zhaowei.huang a0dc1e6cd0 refactor: 插件 UI 从 WinForms 迁移到 CycleGUI,并修复代码质量问题
将 StandardScene 各插件的配置/监控窗体从 WinForms 迁移到 CycleGUI(删除 .Designer.cs/.resx,重写为 PanelBuilder 立即模式 UI,新增 CycleUiHelper 统一对话框)。

同时修复代码审核中的问题:
- 后台文件写入加锁 + try/catch(ButtonBoxManager / DoorManager,对齐 LoopViewer.SaveTasks 模式)
- CoderFieldsMetadata.cs 启用 #nullable enable,消除 CS8632 警告
- DummyCar 移除已废弃的 rightClickAction()/SetPosition()
- CarRemoteHelper.OpenVehicleWebPage 的 Process.Start 加 try/catch
- 重命名名不副实的 Mstsc()(现为打开网页)
- 统一弃元命名为 _
- TrafficInterlockViewer 改用稳定 Id(GUID)做选择/编辑,替代行索引
- csproj 改用 $(CGUILibDir) 解析 CycleGUI,绝对路径收敛到 Directory.Build.props

构建:dotnet build StandardScene.sln → 0 错误,30 警告(均为历史遗留)。
注:static 单例状态重构(审核第 8 项)暂未处理,留待单独任务。
2026-06-26 15:00:53 +08:00

38 lines
1015 B
C#

using System;
using System.Diagnostics;
namespace StandardScene.Utils
{
/// <summary>
/// 车辆远程访问辅助工具。
/// </summary>
public static class CarRemoteHelper
{
/// <summary>
/// 使用系统默认浏览器打开车辆 Web 管理页面。
/// </summary>
/// <param name="ip">车辆 IP 地址</param>
/// <param name="port">Web 服务端口,默认 8081</param>
public static void OpenVehicleWebPage(string ip, int port = 8081)
{
if (string.IsNullOrWhiteSpace(ip))
{
return;
}
try
{
Process.Start(new ProcessStartInfo
{
FileName = $"http://{ip}:{port}",
UseShellExecute = true
});
}
catch (Exception ex)
{
Console.WriteLine($"打开车辆 Web 页面失败: {ex.Message}");
}
}
}
}