diff --git a/Assets/Scripts/Apis/PfHttpClientHandler.cs b/Assets/Scripts/Apis/PfHttpClientHandler.cs index 08f59b5c..75293660 100644 --- a/Assets/Scripts/Apis/PfHttpClientHandler.cs +++ b/Assets/Scripts/Apis/PfHttpClientHandler.cs @@ -16,23 +16,41 @@ namespace Assets.Scripts.Apis protected async override Task SendAsync( HttpRequestMessage request, CancellationToken cancellationToken) { - var response = await base.SendAsync(request, cancellationToken).ConfigureAwait(false); - //{"result":false,"errMsg":"已在其他设备登录","code":401} - var result = await response.Content.ReadAsStringAsync().ConfigureAwait(false); - if (request.RequestUri.ToString().Contains(App.Host) && result.Contains(@"{""result"":false,")) + try { - var json = ParseJson>(result); - if (json.code == 401) + var response = await base.SendAsync(request, cancellationToken).ConfigureAwait(false); + //{"result":false,"errMsg":"已在其他设备登录","code":401} + var result = await response.Content.ReadAsStringAsync().ConfigureAwait(false); + if (request.RequestUri.ToString().Contains(App.Host) && result.Contains(@"{""result"":false,")) { - App.is401 = json.errMsg; - UnityMainThreadDispatcher.Instance().Enqueue(LoadLogin(json.errMsg)); + var json = ParseJson>(result); + if (json.code == 401) + { + App.is401 = json.errMsg; + UnityMainThreadDispatcher.Instance().Enqueue(LoadLogin(json.errMsg)); + } } + else + { + App.is401 = null; + } + if (response.StatusCode != System.Net.HttpStatusCode.OK) + { + response.Content = new StringContent(new JsonResult { result = false, errMsg = "Please check if the network connection is normal.", data = null }.ToString()); + } + return response; } - else + catch (Exception e) { - App.is401 = null; + Debug.Log(e); + HttpResponseMessage httpResponse = new HttpResponseMessage + { + StatusCode = System.Net.HttpStatusCode.BadRequest, + Content = new StringContent(new JsonResult { result = false, errMsg = "Please check if the network connection is normal.", data = null }.ToString()) + }; + return httpResponse; } - return response; + } private T ParseJson(string result) {