This commit is contained in:
陈思海 2025-04-27 14:12:30 +08:00
parent af0490c527
commit 07a53e60fb

View File

@ -62,7 +62,6 @@ namespace AlicizaX
private static UnityWebRequest CreateJsonPostRequest(string url, string json) private static UnityWebRequest CreateJsonPostRequest(string url, string json)
{ {
// 手动处理 JSONUnity 未提供直接方法)
var request = new UnityWebRequest(url, "POST"); var request = new UnityWebRequest(url, "POST");
byte[] jsonBytes = System.Text.Encoding.UTF8.GetBytes(json); byte[] jsonBytes = System.Text.Encoding.UTF8.GetBytes(json);
request.uploadHandler = new UploadHandlerRaw(jsonBytes); request.uploadHandler = new UploadHandlerRaw(jsonBytes);
@ -73,13 +72,15 @@ namespace AlicizaX
private static async UniTask<string> SendRequest(UnityWebRequest request, CancellationToken token) private static async UniTask<string> SendRequest(UnityWebRequest request, CancellationToken token)
{ {
string url = request.url; // 提前获取请求地址
try try
{ {
await request.SendWebRequest().WithCancellation(token); await request.SendWebRequest().WithCancellation(token);
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
Debug.LogError($"HTTP Error ({request.responseCode}): {request.error}"); HandleRequestError(request, url);
return string.Empty; return string.Empty;
} }
@ -87,10 +88,29 @@ namespace AlicizaX
} }
catch (OperationCanceledException) when (token.IsCancellationRequested) catch (OperationCanceledException) when (token.IsCancellationRequested)
{ {
Debug.LogWarning("Request timed out."); Log.Error($"请求超时:{url}");
return string.Empty; return string.Empty;
} }
} }
private static void HandleRequestError(UnityWebRequest request, string url)
{
switch (request.result)
{
case UnityWebRequest.Result.ConnectionError:
Log.Error($"无法访问地址:{url}");
break;
case UnityWebRequest.Result.ProtocolError:
Log.Error($"HTTP协议错误 ({request.responseCode}):{url}\n{request.error}");
break;
case UnityWebRequest.Result.DataProcessingError:
Log.Error($"数据处理错误:{url}\n{request.error}");
break;
default:
Log.Error($"未知网络错误:{url}\n{request.error}");
break;
}
}
} }
} }
} }