From e89879d3f4e3c673c40042f41ac342cd63a0d9a6 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 29 十二月 2025 17:53:08 +0800
Subject: [PATCH] 0312 请求战报防范网络报错

---
 Main/Utility/HttpRequestEx.cs.meta                |   11 +++++
 Main/System/Settlement/BattleSettlementManager.cs |    7 +++
 Main/Utility/HttpRequestEx.cs                     |   51 +++++++++++++++++++++++++
 3 files changed, 68 insertions(+), 1 deletions(-)

diff --git a/Main/System/Settlement/BattleSettlementManager.cs b/Main/System/Settlement/BattleSettlementManager.cs
index 37ccea0..884920b 100644
--- a/Main/System/Settlement/BattleSettlementManager.cs
+++ b/Main/System/Settlement/BattleSettlementManager.cs
@@ -231,7 +231,7 @@
             assetVersionUrl = $"{url}/S{serverID}/{date}/{PlayerDatas.Instance.baseData.PlayerID}/{mapID}/{guid}.tfr";
         }
         Debug.Log($"璇锋眰鎴樻姤: {assetVersionUrl}");
-        HttpRequest.Instance.UnityWebRequestTurnFightGet(assetVersionUrl, guid, 3, OnGetTurnFightData);
+        HttpRequestEx.UnityWebRequestTurnFightGet(assetVersionUrl, guid, 3, OnGetTurnFightData);
     }
 
     void OnGetTurnFightData(bool _ok, string guid, byte[] _result)
@@ -240,6 +240,11 @@
         {
             ReadTurnFightInfo(_result);
         }
+        else
+        {
+            Debug.Log($"璇锋眰鎴樻姤澶辫触");
+            UIManager.Instance.CloseWindow<MapLoadingWin>();
+        }
     }
 
     //鎴樻姤瀛樺偍鐨勬槸B430灏佸寘锛屾墍浠ラ渶瑕佽浆鍙態430灏佸寘
diff --git a/Main/Utility/HttpRequestEx.cs b/Main/Utility/HttpRequestEx.cs
new file mode 100644
index 0000000..2f8eba3
--- /dev/null
+++ b/Main/Utility/HttpRequestEx.cs
@@ -0,0 +1,51 @@
+锘縰sing System;
+using Cysharp.Threading.Tasks;
+using UnityEngine;
+using UnityEngine.Networking;
+
+
+public class HttpRequestEx
+{
+
+
+    //鍥炲悎鎴樻姤
+    public static void UnityWebRequestTurnFightGet(string _url, string guid, int timeout = 5, Action<bool, string, byte[]> _result = null)
+    {
+        GetTurnFightData(_url, guid, timeout, _result).Forget();
+    }
+
+    static async UniTask GetTurnFightData(string remoteURL, string guid, int timeout, Action<bool, string, byte[]> _result = null)
+    {
+
+        UnityWebRequest request = UnityWebRequest.Get(remoteURL);
+        request.timeout = timeout;
+
+        try
+        {
+            await request.SendWebRequest();
+            if (request.isDone)
+            {
+                if (request.result == UnityWebRequest.Result.Success)
+                {
+                    _result(true, guid, request.downloadHandler.data);
+                }
+                else
+                {
+                    Debug.LogError("GetDataBEx 澶辫触 " + request.result.ToString());
+                    _result(false, guid, null);
+                }
+            }
+        }
+        catch (Exception ex)
+        {
+            _result(false, guid, null);
+            Debug.LogError($"GetDataBEx 寮傚父 - URL: {remoteURL}, Exception: {ex.Message}");
+        }
+        finally
+        {
+            request.Dispose();
+        }
+    }
+
+
+}
\ No newline at end of file
diff --git a/Main/Utility/HttpRequestEx.cs.meta b/Main/Utility/HttpRequestEx.cs.meta
new file mode 100644
index 0000000..05a512e
--- /dev/null
+++ b/Main/Utility/HttpRequestEx.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ed6e4a4c512e51645bbbc07aef5a50f8
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

--
Gitblit v1.8.0