From e08a444a9d7acea0cf39f50d22d29179f6a59292 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期二, 01 十二月 2020 09:37:11 +0800
Subject: [PATCH] 2020-12-1
---
HDL_ON/UI/UI1-Login/SelectServerDialog.cs | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 161 insertions(+), 0 deletions(-)
diff --git a/HDL_ON/UI/UI1-Login/SelectServerDialog.cs b/HDL_ON/UI/UI1-Login/SelectServerDialog.cs
new file mode 100644
index 0000000..2b262db
--- /dev/null
+++ b/HDL_ON/UI/UI1-Login/SelectServerDialog.cs
@@ -0,0 +1,161 @@
+锘縰sing System;
+using System.Collections.Generic;
+using HDL_ON.DAL.Server;
+using HDL_ON.UI.CSS;
+using Shared;
+
+namespace HDL_ON.UI
+{
+ /// <summary>
+ /// SelectServerDialog
+ /// 鏈嶅姟鍣ㄩ�夋嫨椤甸潰
+ /// </summary>
+ public class SelectServerDialog : Dialog
+ {
+ /// <summary>
+ ///
+ /// </summary>
+ FrameLayout bodyView;
+
+ /// <summary>
+ /// 閫夋嫨浜嬩欢
+ /// </summary>
+ Action selectAction;
+
+ /// <summary>
+ ///
+ /// </summary>
+ public SelectServerDialog(Action selectAction)
+ {
+ bodyView = new FrameLayout();
+ this.selectAction = selectAction;
+ }
+
+
+ /// <summary>
+ ///
+ /// </summary>
+ public void LoadPage()
+ {
+ bodyView.BackgroundColor = CSS_Color.MainBackgroundColor;
+ this.AddChidren(bodyView);
+ //鍔犺浇椤堕儴鑿滃崟鏍�
+ new TopViewDiv(this, bodyView, Language.StringByID(StringId.PleaseSelectCountryOrRegion)).LoadTopView();
+ //鍔犺浇鏈嶅姟鍣ㄥ尯鍩熼�夋嫨
+ AddRegionalSelectionView();
+ //Show
+ this.Show();
+ }
+
+
+ /// <summary>
+ /// 鍔犺浇鍖哄煙閫夋嫨View
+ /// </summary>
+ void AddRegionalSelectionView()
+ {
+
+ VerticalScrolViewLayout VerticalScrolViewMiddle = new VerticalScrolViewLayout()
+ {
+ Y = Application.GetRealHeight(64),
+ Height = bodyView.Height - Application.GetRealHeight(64),
+ };
+ bodyView.AddChidren(VerticalScrolViewMiddle);
+
+ var waitPage = new Loading();
+ waitPage.Start("Please wait...");
+
+ System.Threading.Tasks.Task.Run(() =>
+ {
+ try
+ {
+ var dataList = 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)
+ {
+ dataList = responseDataObj;
+ if (dataList != null && dataList.Count > 0)
+ {
+ foreach (var data in dataList)
+ {
+ AddRowView(data, VerticalScrolViewMiddle);
+ }
+ }
+ }
+ });
+ }
+ else
+ {
+ //鎻愮ず閿欒
+ IMessageCommon.Current.ShowErrorInfoAlter(revertObj.Code);
+ }
+ }
+ catch
+ {
+
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ waitPage.Hide();
+ });
+ }
+ });
+
+ }
+
+ /// <summary>
+ /// 鍔犺浇鍖哄煙閫夋嫨RowView
+ /// </summary>
+ /// <param name="mGlobalRegion"></param>
+ /// <param name="VerticalScrolViewMiddle"></param>
+ void AddRowView(GlobalRegionListRes mGlobalRegion, VerticalScrolViewLayout VerticalScrolViewMiddle)
+ {
+ var rowView = new FrameLayout()
+ {
+ Height = Application.GetRealHeight(44),
+ };
+ VerticalScrolViewMiddle.AddChidren(rowView);
+
+ var urlBtn = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Height = rowView.Height,
+ Width = Application.GetRealWidth(200),
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextAlignment = TextAlignment.CenterLeft
+ };
+ rowView.AddChidren(urlBtn);
+
+ //var lineView = new LineView();
+ //rowView.AddChidren(lineView);
+ //lineView.Y = rowView.Height - lineView.Height;
+
+ EventHandler<MouseEventArgs> eHandler = (sender, e) =>
+ {
+ UserInfo.Current.RequestHttpsHost = mGlobalRegion.regionUrl;
+ UserInfo.Current.GlobalRegion = mGlobalRegion;
+ UserInfo.Current.SaveUserInfo();
+ //鍏抽棴椤甸潰
+ this.Close();
+ selectAction?.Invoke();
+ };
+ rowView.MouseUpEventHandler += eHandler;
+ urlBtn.MouseUpEventHandler += eHandler;
+
+ urlBtn.Text = mGlobalRegion.regionName;
+
+ if (mGlobalRegion.regionUrl == UserInfo.Current.RequestHttpsHost)
+ {
+ urlBtn.TextColor = CSS_Color.MainColor;
+ }
+ }
+ }
+}
--
Gitblit v1.8.0