From acc8caee31c4be90bd38d1af18136b0e84f6fe94 Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期五, 27 九月 2024 14:01:19 +0800 Subject: [PATCH] Merge branch 'feature/v2.7_迭代' into feature/V2.7_Google --- HDL_ON/UI/UI1-Login/RegisterPageBLL.cs | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 101 insertions(+), 0 deletions(-) diff --git a/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs b/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs index cb6abf2..d055779 100644 --- a/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs +++ b/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs @@ -1,14 +1,20 @@ 锘縰sing System; +using System.Collections.Generic; +using System.Net.Http; using System.Text.RegularExpressions; using System.Threading; using HDL_ON.DAL.Server; using HDL_ON.UI.CSS; +using Newtonsoft.Json.Linq; using Shared; namespace HDL_ON.UI.UI1Login { public partial class RegisterPage { + + List<GlobalRegionListRes> serverList; + /// <summary> /// 鍔犺浇浜嬩欢鍒楄〃 /// </summary> @@ -760,5 +766,100 @@ } return true; } + + + /// <summary> + /// 鑾峰彇鏈嶅姟鍣ㄥ垪琛� + /// </summary> + void getServerList() + { + var waitPage = new Loading(); + bodyView.AddChidren(waitPage); + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + + + System.Threading.Tasks.Task.Run(() => { + try + { + //string country = "CN"; + //try + //{ + // using (HttpClient client = new HttpClient()) + // { + // // 浣跨敤 ipinfo.io 鑾峰彇浣嶇疆淇℃伅 + // HttpResponseMessage response = await client.GetAsync("https://ipinfo.io/json"); + // if (response.IsSuccessStatusCode) + // { + // string json = await response.Content.ReadAsStringAsync(); + // JObject jsonObject = JObject.Parse(json); + // // 浠庤繑鍥炵殑 JSON 涓彁鍙栧浗瀹朵俊鎭� + // country = jsonObject["country"].ToString(); + // } + // } + //} + //catch (Exception ex) + //{ + // MainPage.Log("Error",$"Error fetching IP info: {ex.StackTrace}"); + //} + + serverList = new List<GlobalRegionListRes>(); + var requestJson = HttpUtil.GetSignRequestJson(new GetRegionListObj() { regionMark = HttpUtil.RegionMark }); + var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_GlobalRegionList, requestJson, HttpUtil.GlobalRequestHttpsHost); + if (revertObj.Code == StateCode.SUCCESS) + { + Application.RunOnMainThread(() => + { + var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GlobalRegionListRes>>(revertObj.Data.ToString()); + if (responseDataObj != null) + { + serverList = responseDataObj; + if (serverList.Count > 0) + { + if (Language.CurrentLanguage == "Chinese")//if (country == "CN")// + { + var server = serverList.Find((obj) => obj.regionUrl.Contains("china-gateway")); + if (server != null) + { + OnAppConfig.Instance.GlobalRegion = server; + SetServerText(); + } + } + else + { + var server = serverList.Find((obj) => obj.regionUrl.Contains("bahrain-gateway")); + if (server != null) + { + OnAppConfig.Instance.GlobalRegion = server; + SetServerText(); + } + } + } + } + }); + } + else + { + //鎻愮ず閿欒 + IMessageCommon.Current.ShowErrorInfoAlter(revertObj.Code); + } + } + catch (Exception ex) + { + MainPage.Log("Error", $"鑾峰彇鏈嶅姟鍣ㄥ紓甯革細{ex.StackTrace}"); + } + finally + { + Application.RunOnMainThread(() => + { + if (waitPage != null) + { + waitPage.RemoveFromParent(); + waitPage = null; + } + }); + } + }); + + } } } \ No newline at end of file -- Gitblit v1.8.0