From 4dc8adc2bf82f1827324c4dbefbc4477202bc433 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期一, 23 九月 2024 16:53:33 +0800
Subject: [PATCH] 服务器自动选择;i
---
HDL_ON/UI/UI1-Login/SelectServerDialog.cs | 35 --------
HDL_ON/Entity/Function/Function.cs | 10 ++
HDL_ON/UI/UI1-Login/LoginPageBLL.cs | 16 ----
HDL_ON/UI/UI1-Login/RegisterPageBLL.cs | 82 ++++++++++++++++++++
HDL-ON_iOS/Other/JLCountrycode.cs | 36 +++++++++
HDL_ON/Entity/DB_ResidenceData.cs | 2
HDL_ON/UI/MainPage.cs | 2
HDL_ON/UI/UI1-Login/LoginPage.cs | 2
HDL_ON/UI/UI1-Login/RegisterPage.cs | 4
9 files changed, 137 insertions(+), 52 deletions(-)
diff --git a/HDL-ON_iOS/Other/JLCountrycode.cs b/HDL-ON_iOS/Other/JLCountrycode.cs
index 176a7df..0346b43 100644
--- a/HDL-ON_iOS/Other/JLCountrycode.cs
+++ b/HDL-ON_iOS/Other/JLCountrycode.cs
@@ -2,6 +2,9 @@
using Shared.IOS.JLCountryCode;
using Foundation;
using System.Collections.Generic;
+using Newtonsoft.Json.Linq;
+using System.Net.Http;
+using System.Threading.Tasks;
namespace JLCountrycode
{
@@ -95,6 +98,39 @@
return newDictionary;
}
+ /// <summary>
+ /// 鏍规嵁鎵嬫満褰撳墠鐨処P鑾峰彇鍥藉淇℃伅
+ /// </summary>
+ /// <returns></returns>
+ public async Task<string> GetCountryByIP()
+ {
+ string country = "Unknown";
+
+ 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)
+ {
+ Console.WriteLine($"Error fetching IP info: {ex.Message}");
+ }
+
+ return country;
+ }
+
}
diff --git a/HDL_ON/Entity/DB_ResidenceData.cs b/HDL_ON/Entity/DB_ResidenceData.cs
index 67b7adf..5786b46 100644
--- a/HDL_ON/Entity/DB_ResidenceData.cs
+++ b/HDL_ON/Entity/DB_ResidenceData.cs
@@ -159,7 +159,7 @@
FunctionList.List.ClearDatas();
///鍒囨崲浣忓畢娓呯┖鍓嶄綇瀹呯紦瀛樿嚜鍔ㄥ寲鍒楄〃锛�
- HDL_ON.UI.UI2.Intelligence.Automation.Logic.LogicList.Clear();
+ UI.UI2.Intelligence.Automation.Logic.LogicList.Clear();
DAL.Mqtt.MqttClient.DisConnectRemote("閫�鍑虹櫥褰曪紝鎴栬�呭垏鎹綇瀹�");
#if IOS
diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs
index aaa2157..0f71691 100644
--- a/HDL_ON/Entity/Function/Function.cs
+++ b/HDL_ON/Entity/Function/Function.cs
@@ -1727,6 +1727,16 @@
public static class SPK
{
/// <summary>
+ /// 鏈煡SPK
+ /// (鑷畾涔�)
+ /// </summary>
+ public const string NULL = "NULL";
+ /// <summary>
+ /// 瑗垮ⅷ鍙瀵硅闂ㄥ彛鏈�
+ /// (鑷畾涔�)
+ /// </summary>
+ public const string LinphoneXiMo = "door.gate";
+ /// <summary>
/// 缇ゆ帶锛堣嚜瀹氫箟锛�
/// </summary>
public const string GroupControl = "groupControl";
diff --git a/HDL_ON/UI/MainPage.cs b/HDL_ON/UI/MainPage.cs
index 96dbd6a..fe8645f 100644
--- a/HDL_ON/UI/MainPage.cs
+++ b/HDL_ON/UI/MainPage.cs
@@ -26,7 +26,7 @@
/// <summary>
/// 鐗堟湰鍙�
/// </summary>
- public static string VersionString = "2.5.1";
+ public static string VersionString = "2.7.0";
///// <summary>
///// 瀹㈡埛绔被鍨�
///// </summary>
diff --git a/HDL_ON/UI/UI1-Login/LoginPage.cs b/HDL_ON/UI/UI1-Login/LoginPage.cs
index 434c178..074f96c 100644
--- a/HDL_ON/UI/UI1-Login/LoginPage.cs
+++ b/HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -320,7 +320,7 @@
etAccount.Text = "13682244600";
etAccount.Text = "pjh@hdlchina.com.cn";
etAccount.Text = "13580507523";
- etAccount.Text = "15313316909";
+ etAccount.Text = "18475593023";
}
else
{
diff --git a/HDL_ON/UI/UI1-Login/LoginPageBLL.cs b/HDL_ON/UI/UI1-Login/LoginPageBLL.cs
index 096ad5c..58a951b 100644
--- a/HDL_ON/UI/UI1-Login/LoginPageBLL.cs
+++ b/HDL_ON/UI/UI1-Login/LoginPageBLL.cs
@@ -740,17 +740,6 @@
if (loginResult.Code == StateCode.SUCCESS)
{
var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes>(loginResult.Data.ToString());
- // UserInfo.Current = new UserInfo
- //{
- // userType = revertData.userType,
- // accountString = account,
- // password = password,
- // lastTime = DateTime.Now,
- // ID = revertData.userId,
- // loginTokenString = revertData.headerPrefix + revertData.accessToken,
- // refreshToken = revertData.refreshToken,
- // userName = revertData.name
- //};
if (OnAppConfig.Instance.LastLoginUserId != revertData.userId)
{
OnAppConfig.Instance.LastLoginUserId = revertData.userId;
@@ -759,17 +748,12 @@
UserInfo.Current.ClearUserInfo();
UserInfo.Current.userType = revertData.userType;
UserInfo.Current.AccountString = account;
- //UserInfo.Current.password = password;
UserInfo.Current.LastTime = DateTime.Now;
UserInfo.Current.ID = revertData.userId;
UserInfo.Current.LoginTokenString = revertData.headerPrefix + revertData.accessToken;
UserInfo.Current.AccessToken = revertData.accessToken;
UserInfo.Current.RefreshToken = revertData.refreshToken;
UserInfo.Current.userName = revertData.name;
- //UserInfo.Current.userMobileInfo = "";//閲嶇疆鐢ㄦ埛鎵嬫満
- //UserInfo.Current.userEmailInfo = "";//閲嶇疆鐢ㄦ埛閭
- //UserInfo.Current.headImagePagePath = "LoginIcon/2.png";//
- //UserInfo.Current.CurrentRegion.RegionID = "";
UserInfo.Current.SaveUserInfo();
MainPage.Log("鐧诲綍鎴愬姛銆�");
#if __IOS__
diff --git a/HDL_ON/UI/UI1-Login/RegisterPage.cs b/HDL_ON/UI/UI1-Login/RegisterPage.cs
index 8bcf14a..73b0979 100644
--- a/HDL_ON/UI/UI1-Login/RegisterPage.cs
+++ b/HDL_ON/UI/UI1-Login/RegisterPage.cs
@@ -245,6 +245,8 @@
{
OnAppConfig.Instance.GlobalRegion.regionUrl = "";
}
+ getServerList();
+
}catch(Exception ex)
{
MainPage.Log("Error", "杩涘叆娉ㄥ唽鐣岄潰AppConfig寮傚父锛�" + ex.Message);
@@ -271,7 +273,7 @@
Application.HideSoftInput();
};
- new TopViewDiv(this, bodyView, Language.StringByID(StringId.Register)).LoadTopView(backAction);
+ new TopViewDiv(this, bodyView, Language.StringByID(StringId.Register)) { maginY = 10 }.LoadTopView(backAction);
//new PublicAssmebly().LoadTopView(this, bodyView, Language.StringByID(StringId.Register));
#region 娉ㄥ唽鏂瑰紡閫夋嫨
diff --git a/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs b/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
index cb6abf2..50aa11f 100644
--- a/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
+++ b/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs
@@ -1,4 +1,5 @@
锘縰sing System;
+using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Threading;
using HDL_ON.DAL.Server;
@@ -9,6 +10,9 @@
{
public partial class RegisterPage
{
+
+ List<GlobalRegionListRes> serverList;
+
/// <summary>
/// 鍔犺浇浜嬩欢鍒楄〃
/// </summary>
@@ -760,5 +764,83 @@
}
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
+ {
+ Console.WriteLine("GetCountryByIP");
+ var ddd = JLCountrycode.CountryCodeView.Current.GetCountryByIP();
+ Console.WriteLine(ddd);
+ 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")
+ {
+ var server = serverList.Find((obj) => obj.regionUrl.Contains("china-gateway"));
+ if (server != null)
+ {
+ OnAppConfig.Instance.GlobalRegion.regionUrl = server.regionUrl;
+ SetServerText();
+ }
+ }
+ else
+ {
+ var server = serverList.Find((obj) => obj.regionUrl.Contains("bahrain-gateway"));
+ if (server != null)
+ {
+ OnAppConfig.Instance.GlobalRegion.regionUrl = server.regionUrl;
+ SetServerText();
+ }
+ }
+ }
+ }
+ });
+ }
+ else
+ {
+ //鎻愮ず閿欒
+ IMessageCommon.Current.ShowErrorInfoAlter(revertObj.Code);
+ }
+ }
+ catch
+ {
+
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ if (waitPage != null)
+ {
+ waitPage.RemoveFromParent();
+ waitPage = null;
+ }
+ });
+ }
+ });
+
+ }
}
}
\ No newline at end of file
diff --git a/HDL_ON/UI/UI1-Login/SelectServerDialog.cs b/HDL_ON/UI/UI1-Login/SelectServerDialog.cs
index 6d71973..671d5b8 100644
--- a/HDL_ON/UI/UI1-Login/SelectServerDialog.cs
+++ b/HDL_ON/UI/UI1-Login/SelectServerDialog.cs
@@ -44,7 +44,7 @@
bodyView.BackgroundColor = CSS_Color.MainBackgroundColor;
this.AddChidren(bodyView);
//鍔犺浇椤堕儴鑿滃崟鏍�
- new TopViewDiv(this, bodyView, Language.StringByID(StringId.PlsSelectServer)).LoadTopView();
+ new TopViewDiv(this, bodyView, Language.StringByID(StringId.PlsSelectServer)) { maginY = 10}.LoadTopView();
//鍔犺浇鏈嶅姟鍣ㄥ尯鍩熼�夋嫨
AddRegionalSelectionView();
//Show
@@ -60,8 +60,8 @@
VerticalScrolViewLayout VerticalScrolViewMiddle = new VerticalScrolViewLayout()
{
- Y = Application.GetRealHeight(74),
- Height = bodyView.Height - Application.GetRealHeight(74),
+ Y = Application.GetRealHeight(84),
+ Height = bodyView.Height - Application.GetRealHeight(84),
ScrollEnabled = false,
};
bodyView.AddChidren(VerticalScrolViewMiddle);
@@ -125,35 +125,6 @@
}
});
- //var bottomView = new FrameLayout()
- //{
- // Y = Application.GetRealHeight(591),
- // Height = Application.GetRealHeight(76) + Application.GetRealWidth(44),
- // Radius = (uint)Application.GetRealWidth(22),
- // BackgroundColor = CSS_Color.MainBackgroundColor,
- //};
- //bodyView.AddChidren(bottomView);
-
-
- //btnConfrim = new Button()
- //{
- // Gravity = Gravity.CenterHorizontal,
- // Y = Application.GetRealHeight(603),
- // Width = Application.GetRealWidth(220),
- // Height = Application.GetRealWidth(44),
- // Radius = (uint)Application.GetRealWidth(22),
- // BackgroundColor = CSS_Color.MainColor,
- // TextColor = CSS_Color.MainBackgroundColor,
- // TextSize = CSS_FontSize.SubheadingFontSize,
- // TextAlignment = TextAlignment.Center,
- // IsBold = true,
- // TextID = StringId.ConfirmAdd,
- //};
- //bodyView.AddChidren(btnConfrim);
-
- //btnConfrim.MouseUpEventHandler = (sender, e) => {
-
- //};
}
/// <summary>
--
Gitblit v1.8.0