From 0fc2962749e7e1f4078717a9914ac8175a2c4b26 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期四, 26 九月 2024 20:53:55 +0800
Subject: [PATCH] 可视对讲,注册

---
 HDL_ON/UI/UI1-Login/RegisterPageBLL.cs |   37 ++++++++++++++++++++++++++++++-------
 1 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs b/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
index 50aa11f..3cb73e7 100644
--- a/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
+++ b/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
@@ -1,9 +1,11 @@
 锘縰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
@@ -776,13 +778,34 @@
             waitPage.Start(Language.StringByID(StringId.PleaseWait));
 
 
-            System.Threading.Tasks.Task.Run(() =>
+            System.Threading.Tasks.Task.Run(async () =>
             {
                 try
                 {
-                    Console.WriteLine("GetCountryByIP");
-                    var ddd = JLCountrycode.CountryCodeView.Current.GetCountryByIP();
-                    Console.WriteLine(ddd);
+                    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);
@@ -796,12 +819,12 @@
                                 serverList = responseDataObj;
                                 if (serverList.Count > 0)
                                 {
-                                    if (Language.CurrentLanguage == "Chinese")
+                                    if (country == "CN")//if (Language.CurrentLanguage == "Chinese")
                                     {
                                         var server = serverList.Find((obj) => obj.regionUrl.Contains("china-gateway"));
                                         if (server != null)
                                         {
-                                            OnAppConfig.Instance.GlobalRegion.regionUrl = server.regionUrl;
+                                            OnAppConfig.Instance.GlobalRegion = server;
                                             SetServerText();
                                         }
                                     }
@@ -810,7 +833,7 @@
                                         var server = serverList.Find((obj) => obj.regionUrl.Contains("bahrain-gateway"));
                                         if (server != null)
                                         {
-                                            OnAppConfig.Instance.GlobalRegion.regionUrl = server.regionUrl;
+                                            OnAppConfig.Instance.GlobalRegion = server;
                                             SetServerText();
                                         }
                                     }

--
Gitblit v1.8.0