using System.IO; using System.Threading.Tasks; using UnityEngine; using Vuplex.WebView; using Vuplex.WebView.Internal; public class WebViewController : MonoBehaviour { public static WebViewController Instance; public CanvasWebViewPrefab canvasWebViewPrefab; public GameObject WGDetection; public GameObject HWDetection; public GameObject ZWDetection; private string webUrl; private void Awake() { Instance = this; string filePath = Path.Combine(Application.streamingAssetsPath, "WebUrl.txt"); if (File.Exists(filePath)) { webUrl = File.ReadAllText(filePath); canvasWebViewPrefab.InitialUrl = webUrl; Debug.Log("Web URL: " + webUrl); } else { Debug.LogError("WebUrl.txt 文件不存在!"); } } private void Start() { canvasWebViewPrefab.Initialized += OnWebViewInitialized; } private async void OnWebViewInitialized(object sender, System.EventArgs e) { Debug.Log("网页加载完成."); canvasWebViewPrefab.WebView.ConsoleMessageLogged += HandleConsoleMessage; Bootstrap.Instance.eventCenter.EventTrigger(Enum_EventType.ChangeCarSwitch); await Task.Delay(2000); WGDetection.SetActive(true); HWDetection.SetActive(true); ZWDetection.SetActive(true); } void HandleConsoleMessage(object sender, ConsoleMessageEventArgs eventArgs) { var message = "[Web Console] " + eventArgs.Message; if (eventArgs.Source != null) { message += $" ({eventArgs.Source}:{eventArgs.Line})"; } switch (eventArgs.Level) { case ConsoleMessageLevel.Error: WebViewLogger.LogError(message, false); break; case ConsoleMessageLevel.Warning: WebViewLogger.LogWarning(message, false); break; default: //Debug.Log($"message: {message})"); //if (message.Contains("")) //{ // Debug.Log($"接受的网页端消息: {message}"); //} break; } } }