From 25eb0e50d4e815efb16d1a9953beac6ea1c7cfc3 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期六, 28 三月 2026 10:14:32 +0800
Subject: [PATCH] webgl merge

---
 Assets/Launch/HttpRequest/HttpRequest.cs |   47 +++++++++++++++++++++++++----------------------
 1 files changed, 25 insertions(+), 22 deletions(-)

diff --git a/Assets/Launch/HttpRequest/HttpRequest.cs b/Assets/Launch/HttpRequest/HttpRequest.cs
index 4b009f0..7c4859a 100644
--- a/Assets/Launch/HttpRequest/HttpRequest.cs
+++ b/Assets/Launch/HttpRequest/HttpRequest.cs
@@ -15,45 +15,48 @@
     public const string defaultHttpContentType = "application/x-www-form-urlencoded";
     public const string jsonHttpContentType = "application/json ; charset=utf-8";
 
-    public void RequestHttpPost(string _url, IDictionary<string, string> _parameters, string _contentType, int _retry = 3, Action<bool, string> _result = null)
+    public async void RequestHttpPost(string _url, IDictionary<string, string> _parameters, string _contentType, int _retry = 3, Action<bool, string> _result = null)
     {
         var content = HashtablaToString(_parameters);
-        HttpBehaviour.Create(_url, "POST", content, _contentType, _retry, _result);
+         var task = HttpBehaviour.CreateAsync(_url, "POST", content, _contentType, _retry, _result);
+         task.Forget();
     }
 
-    public void RequestHttpPost(string _url, string _content, string _contentType, int _retry = 3, Action<bool, string> _result = null)
+    public async void RequestHttpPost(string _url, string _content, string _contentType, int _retry = 3, Action<bool, string> _result = null)
     {
-        HttpBehaviour.Create(_url, "POST", _content, _contentType, _retry, _result);
+         var task = HttpBehaviour.CreateAsync(_url, "POST", _content, _contentType, _retry, _result);
+         task.Forget();
     }
 
-    public void RequestHttpGet(string _url, string _contentType, int _retry = 3, Action<bool, string> _result = null)
+    public async void RequestHttpGet(string _url, string _contentType, int _retry = 3, Action<bool, string> _result = null)
     {
-        HttpBehaviour.Create(_url, "GET", "", _contentType, _retry, _result);
+         var task = HttpBehaviour.CreateAsync(_url, "GET", "", _contentType, _retry, _result);
+         task.Forget();
+    }
+
+    public async UniTask<(bool ok, string message)> UnityWebRequestGetAsync(string _url, string _contentType, int _retry = 3, Action<bool, string> _result = null)
+    {
+        return await HttpBehaviour.CreateAsync(_url, "GET", "", _contentType, _retry, _result);
     }
 
     //2024-09-26 HttpWebRequest Get CDN璧勬簮鍦ㄦ煇浜涜妭鏃ュ彲鑳芥棤娉曡闂� 鍖呭惈keepalive鐨勮瀹氱瓑涓嶅悓鎯呭喌 鏀圭敤UnityWebRequest
     //鑾峰彇CDN璧勬簮涓嶅缓璁娇鐢℉ttpWebRequest
-    public void UnityWebRequestGet(string _url, int timeout = 5, Action<bool, string> _result = null)
+    public async UniTask<(bool ok, string message)> UnityWebRequestGet(string _url, int timeout = 5, Action<bool, string> _result = null)
     {
-        StartCoroutine(GetDataB(_url, timeout, _result));
+        return await GetDataAsync(_url, timeout, _result);
     }
 
-    IEnumerator GetDataB(string remoteURL, int timeout, Action<bool, string> _result = null)
+    private static async UniTask<(bool ok, string message)> GetDataAsync(string remoteURL, int timeout, Action<bool, string> _result = null)
     {
-        UnityWebRequest request = UnityWebRequest.Get(remoteURL);
-        request.timeout = timeout;
-        yield return request.SendWebRequest();
-
-        if (request.isDone)
+        using (UnityWebRequest request = UnityWebRequest.Get(remoteURL))
         {
-            if (request.result == UnityWebRequest.Result.Success)
-            {
-                _result(true, request.downloadHandler.text);
-            }
-            else
-            {
-                _result(false, request.result.ToString());
-            }
+            request.timeout = timeout;
+            await request.SendWebRequest();
+
+            var ok = request.result == UnityWebRequest.Result.Success;
+            var message = ok ? request.downloadHandler.text : request.error;
+            _result?.Invoke(ok, message);
+            return (ok, message);
         }
     }
 

--
Gitblit v1.8.0