From 30b5770f56f99c1f92e933ad31cf7d2af58b033c Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 02 十二月 2020 16:31:48 +0800
Subject: [PATCH] 20201202
---
HDL_ON/UI/UI1-Login/RegisterPage.cs | 391 +++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 362 insertions(+), 29 deletions(-)
diff --git a/HDL_ON/UI/UI1-Login/RegisterPage.cs b/HDL_ON/UI/UI1-Login/RegisterPage.cs
index fd4be00..6cdac76 100644
--- a/HDL_ON/UI/UI1-Login/RegisterPage.cs
+++ b/HDL_ON/UI/UI1-Login/RegisterPage.cs
@@ -1,5 +1,8 @@
锘縰sing System;
+using System.Collections.Generic;
+using System.Threading;
using HDL_ON.DAL.Server;
+using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Shared;
@@ -24,6 +27,36 @@
/// 閫夋嫨閭鐧诲綍鎸夐挳
/// </summary>
Button btnEmailLogin;
+ #region 鏈嶅姟鍣ㄩ�夋嫨
+ /// <summary>
+ /// 鏈嶅姟鍣ㄥ尯鍩�
+ /// </summary>
+ FrameLayout serverView;
+ /// <summary>
+ /// 鏈嶅姟鍣↖con鎸夐挳
+ /// </summary>
+ Button btnServerIcon;
+ /// <summary>
+ /// 鏈嶅姟鍣ㄦ枃鏈
+ /// </summary>
+ Button btnServerText;
+ ///// <summary>
+ ///// 鏈嶅姟鍣ㄦ枃鏈
+ ///// </summary>
+ //EditText etServer;
+ ///// <summary>
+ ///// 鏈嶅姟鍣ㄥ瓙鍖哄煙閲岄潰鐨勫垎鍓茬嚎1
+ ///// </summary>
+ //Button btnLineVertical_server;
+ /// <summary>
+ ///鏈嶅姟鍣╣o鎸夐挳
+ /// </summary>
+ Button btnServerGo;
+ /// <summary>
+ /// 鏈嶅姟鍣ㄥ瓙鍖哄煙搴曢儴妯嚎
+ /// </summary>
+ Button btnServerBottomLine;
+ #endregion
/// <summary>
/// 璐﹀彿瀛愬尯鍩�
/// </summary>
@@ -47,7 +80,7 @@
/// <summary>
/// 璐﹀彿瀛愬尯鍩熷簳閮ㄦí绾�
/// </summary>
- Button btnAccountViewBottomLine;
+ Button btnVerificationCodeViewBottomLine;
/// <summary>
/// 瀵嗙爜瀛愬尯鍩�
/// </summary>
@@ -116,11 +149,15 @@
/// <summary>
/// 鑾峰彇楠岃瘉鐮佹寜閽�
/// </summary>
- Button btnGetVerificationCode;
+ Button btnGetVerificationCode_Phone;
+ /// <summary>
+ /// 鑾峰彇楠岃瘉鐮佹寜閽�
+ /// </summary>
+ Button btnGetVerificationCode_Mail;
/// <summary>
/// 楠岃瘉鐮佸瓙鍖哄煙搴曢儴鍒嗗壊绾�
/// </summary>
- Button btnVerificationCodeViewBottomLine;
+ Button btnAccountViewBottomLine;
/// <summary>
/// 娉ㄥ唽鎸夐挳
/// </summary>
@@ -150,26 +187,26 @@
/// <summary>
/// 鍥炶皟浜嬩欢
/// </summary>
- Action<string> callbackAction;
+ //Action callbackAction;
/// <summary>
/// 娉ㄥ唽绫诲瀷
/// 0:鎵嬫満
/// 1:閭
/// </summary>
int registerType;
+ /// <summary>
+ /// 鎵嬫満鍖哄彿
+ /// </summary>
+ string phoneZoneCode = "86";
+ /// <summary>
+ /// 鏄惁閫夋嫨杩囨湇鍔″櫒
+ /// </summary>
+ bool isSelectServer;
+
+ string registerPhone;
+ string registerEmail;
#endregion
public RegisterPage()
- {
- bodyView = new FrameLayout()
- {
- BackgroundColor = CSS_Color.BackgroundColor,
- };
- AddChidren(bodyView);
-
- pm = new HttpServerRequest();
- }
-
- public RegisterPage(Action<string> action)
{
bodyView = new FrameLayout()
{
@@ -178,12 +215,23 @@
AddChidren(bodyView);
pm = new HttpServerRequest();
- callbackAction = action;
}
+
+ //public RegisterPage(Action action)
+ //{
+ // bodyView = new FrameLayout()
+ // {
+ // BackgroundColor = CSS_Color.MainBackgroundColor,
+ // };
+ // AddChidren(bodyView);
+ // pm = new HttpServerRequest();
+ // callbackAction = action;
+ //}
public void ShowDialog()
{
- new PublicAssmebly().LoadTopView(this, bodyView, Language.StringByID(StringId.Register));
+ new TopViewDiv(this, bodyView, Language.StringByID(StringId.Register)).LoadTopView();
+ //new PublicAssmebly().LoadTopView(this, bodyView, Language.StringByID(StringId.Register));
#region 娉ㄥ唽鏂瑰紡閫夋嫨
btnPhoneLogin = new Button()
@@ -192,7 +240,7 @@
Y = Application.GetRealHeight(112),
Width = Application.GetRealWidth(120),
Height = Application.GetRealHeight(40),
- TextID = StringId.LoginByPhone,
+ TextID = StringId.RegisterByPhone,
TextColor = CSS_Color.MainColor,
TextAlignment = TextAlignment.CenterLeft,
TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
@@ -205,7 +253,7 @@
Y = Application.GetRealHeight(112),
Width = Application.GetRealWidth(100),
Height = Application.GetRealHeight(40),
- TextID = StringId.LoginByEmail,
+ TextID = StringId.RegisterByEmail,
TextColor = CSS_Color.PromptingColor1,
TextAlignment = TextAlignment.Center,
TextSize = CSS_FontSize.TextFontSize,
@@ -213,11 +261,66 @@
bodyView.AddChidren(btnEmailLogin);
#endregion
+ #region 鏈嶅姟鍣ㄩ�夋嫨
+ serverView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(28),
+ Y = Application.GetRealHeight(167),
+ Width = Application.GetRealWidth(319),
+ Height = Application.GetRealHeight(44),
+ };
+ bodyView.AddChidren(serverView);
+
+ btnServerIcon = new Button()
+ {
+ X = Application.GetRealWidth(9),
+ Gravity = Gravity.CenterVertical,
+ Width = Application.GetMinRealAverage(20),
+ Height = Application.GetMinRealAverage(20),
+ UnSelectedImagePath = "LoginIcon/Server.png",
+
+ };
+ serverView.AddChidren(btnServerIcon);
+
+ btnServerText = new Button()
+ {
+ X = Application.GetRealWidth(49),
+ Width = Application.GetRealWidth(319 - 78),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.PromptingColor1,
+ TextSize = CSS_FontSize.TextFontSize,
+ TextID = StringId.PleaseSelectCountryOrRegion,
+ };
+ serverView.AddChidren(btnServerText);
+
+ #region 瀵嗙爜鐧诲綍-鎺т欢鍔犺浇
+ btnServerGo = new Button()
+ {
+ X = Application.GetRealWidth(303),
+ Gravity = Gravity.CenterVertical,
+ Width = Application.GetMinRealAverage(16),
+ Height = Application.GetMinRealAverage(16),
+ UnSelectedImagePath = "Public/Right.png",
+ };
+ serverView.AddChidren(btnServerGo);
+
+ #endregion
+ btnServerBottomLine = new Button()
+ {
+ Y = Application.GetRealHeight(42),
+ BackgroundColor = CSS_Color.DividingLineColor,
+ SelectedBackgroundColor = CSS_Color.MainColor,
+ Height = Application.GetRealHeight(1),
+ };
+ serverView.AddChidren(btnServerBottomLine);
+ #endregion
+
+ int topPadding = Application.GetRealHeight(12);
#region 璐﹀彿濉啓
accountView = new FrameLayout()
{
X = Application.GetRealWidth(28),
- Y = Application.GetRealHeight(167),
+ Y = serverView.Bottom + topPadding,
Width = Application.GetRealWidth(319),
Height = Application.GetRealHeight(44),
};
@@ -229,9 +332,22 @@
X = Application.GetRealWidth(9),
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.FirstLevelTitleColor,
- Text = "+86",
+ Text = "+" + phoneZoneCode,
TextSize = CSS_FontSize.TextFontSize,
};
+
+ //璺宠浆鍥藉鍖哄彿閫夋嫨鐣岄潰
+ EventHandler<MouseEventArgs> eHandler = (sender, e) => {
+ JLCountrycode.CountryCodeView.Current.Show((countryName, code) => {
+ if (!string.IsNullOrEmpty(code))
+ {
+ phoneZoneCode = code;
+ btnGlobalRoaming.Text = "+" + phoneZoneCode;
+ }
+ });
+ };
+ btnGlobalRoaming.MouseUpEventHandler += eHandler;
+
if (accountType == 0)
{
accountView.AddChidren(btnGlobalRoaming);
@@ -256,6 +372,7 @@
TextSize = CSS_FontSize.TextFontSize,
PlaceholderTextColor = CSS_Color.PromptingColor1,
PlaceholderText = Language.StringByID(StringId.PlsEntryPhoneNumber),
+ IsNumberKeyboardType = true
};
accountView.AddChidren(etAccount);
@@ -285,7 +402,7 @@
passwordView = new FrameLayout()
{
X = Application.GetRealWidth(28),
- Y = Application.GetRealHeight(223),
+ Y = accountView.Bottom + topPadding,
Width = Application.GetRealWidth(319),
Height = Application.GetRealHeight(44),
};
@@ -351,7 +468,7 @@
repeatPasswordView = new FrameLayout()
{
X = Application.GetRealWidth(28),
- Y = Application.GetRealHeight(279),
+ Y = passwordView.Bottom + topPadding,
Width = Application.GetRealWidth(319),
Height = Application.GetRealHeight(44),
};
@@ -419,7 +536,8 @@
verificationCodeView = new FrameLayout()
{
X = Application.GetRealWidth(28),
- Y = Application.GetRealHeight(335),
+ Y = repeatPasswordView.Bottom + topPadding,
+ //Y = Application.GetRealHeight(335),
Width = Application.GetRealWidth(319),
Height = Application.GetRealHeight(44),
};
@@ -457,7 +575,7 @@
};
verificationCodeView.AddChidren(etVerificationCode);
- btnGetVerificationCode = new Button()
+ btnGetVerificationCode_Phone = new Button()
{
X = Application.GetRealWidth(219),
Width = Application.GetRealWidth(100),
@@ -467,7 +585,20 @@
TextAlignment = TextAlignment.CenterRight,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
};
- verificationCodeView.AddChidren(btnGetVerificationCode);
+ verificationCodeView.AddChidren(btnGetVerificationCode_Phone);
+
+ btnGetVerificationCode_Mail = new Button()
+ {
+ X = Application.GetRealWidth(219),
+ Width = Application.GetRealWidth(100),
+ TextID = StringId.GetVerificationCode,
+ SelectedTextColor = CSS_Color.MainColor,
+ TextColor = CSS_Color.PromptingColor1,
+ TextAlignment = TextAlignment.CenterRight,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ Visible = false
+ };
+ verificationCodeView.AddChidren(btnGetVerificationCode_Mail);
btnVerificationCodeViewBottomLine = new Button()
{
@@ -483,10 +614,11 @@
btnRegister = new Button()
{
Gravity = Gravity.CenterHorizontal,
- Y = Application.GetRealHeight(421),
+ Y = verificationCodeView.Bottom + Application.GetRealHeight(42),
+ //Y = Application.GetRealHeight(421),
Width = Application.GetRealWidth(220),
- Height = Application.GetRealHeight(44),
- Radius = (uint)Application.GetRealHeight(22),
+ Height = Application.GetRealWidth(44),
+ Radius = (uint)Application.GetRealWidth(22),
SelectedBackgroundColor = CSS_Color.MainColor,
BackgroundColor = CSS_Color.PromptingColor1,
TextID = StringId.Register,
@@ -498,5 +630,206 @@
LoadEventList();
}
+
+
+ /// <summary>
+ /// 娉ㄥ唽鎴愬姛涔嬪悗鑷姩鐧诲綍
+ /// </summary>
+ void LoadEvent_AutoLogin(string account, string password)
+ {
+ Dialog dialog = new Dialog();
+
+ FrameLayout frame = new FrameLayout()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = Application.GetRealHeight(198),
+ Width = Application.GetRealWidth(288),
+ Height = Application.GetRealHeight(206),
+ BackgroundColor = CSS_Color.MainBackgroundColor,
+ Radius = (uint)Application.GetRealWidth(12),
+ BorderWidth = 0,
+ BorderColor = 0x00000000,
+ };
+ dialog.AddChidren(frame);
+
+ Button btnAccountText = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = Application.GetRealHeight(40),
+ Height = Application.GetRealHeight(17 + 14 + 14),
+ IsMoreLines = true,
+ TextAlignment = TextAlignment.Center,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.TextFontSize,
+ Text = account,
+ };
+ frame.AddChidren(btnAccountText);
+
+ Button btnTipRegisterSuccess = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = Application.GetRealHeight(123),
+ Height = Application.GetRealHeight(30),
+ TextAlignment = TextAlignment.Center,
+ TextColor = CSS_Color.MainColor,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ TextID = StringId.CongratulationsRegistration,
+ };
+ frame.AddChidren(btnTipRegisterSuccess);
+
+ Button btnAutoLoginTip = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = btnTipRegisterSuccess.Bottom,
+ Height = Application.GetRealHeight(17 + 8),
+ TextAlignment = TextAlignment.Center,
+ TextColor = CSS_Color.PromptingColor1,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ TextID = StringId.AutomaticallyLogin,
+ };
+ frame.AddChidren(btnAutoLoginTip);
+
+ Button btnHeadImage = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = Application.GetRealHeight(150),
+ Width = Application.GetRealWidth(84),
+ Height = Application.GetRealWidth(84),
+ Radius = (uint)Application.GetRealWidth(42),
+ BorderColor = 0x00000000,
+ BorderWidth = 0,
+ UnSelectedImagePath = "LoginIcon/2.png",
+ };
+ dialog.AddChidren(btnHeadImage);
+
+ dialog.Show();
+
+ new Thread(() =>
+ {
+ Thread.Sleep(1500);
+ Application.RunOnMainThread(() =>
+ {
+ //鍒涘缓鐧诲綍绾跨▼
+ var loginThread = LoadThread_Login(account, password);
+ waitPage = new Loading();
+ new PublicAssmebly().LoadPage_WaitPage(loginThread, bodyView, waitPage);
+ dialog.Close();
+ });
+ })
+ { IsBackground = true }.Start();
+ }
+
+ #region 鐧诲綍绾跨▼閮ㄥ垎
+ /// <summary>
+ /// 鍔犺浇鐧诲綍绾跨▼
+ /// </summary>
+ Thread LoadThread_Login(string account,string password)
+ {
+ var loginThread = new Thread(() =>
+ {
+ try
+ {
+ //鐧诲綍
+ var loginResult = LoadMethod_Login(account,password);
+ if (loginResult)
+ {
+ //鑾峰彇浣忓畢淇℃伅
+ var getResidencesResult = LoadMethod_GetResidences();
+ if (getResidencesResult)
+ {
+ /*
+ * Wait : 鎺ㄩ�佹敞鍐�
+ */
+
+ Application.RunOnMainThread(() =>
+ {
+ waitPage.RemoveFromParent();
+ waitPage = null;
+
+ //璺宠浆椤甸潰----
+ MainPage.GoUserPage();
+ });
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"LoginPage : {ex.Message}");
+ }
+ })
+ { IsBackground = true };
+ return loginThread;
+ }
+
+ /// <summary>
+ /// 璋冪敤鐧诲綍鎺ュ彛鐧诲綍
+ /// </summary>
+ bool LoadMethod_Login(string account, string password)
+ {
+ var result = false;
+ //璋冪敤鐧诲綍鎺ュ彛
+ var loginResult = pm.LoginByPassword(account, password);
+ 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
+ //};
+ 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.RefreshToken = revertData.refreshToken;
+ UserInfo.Current.userName = revertData.name;
+
+ UserInfo.Current.SaveUserInfo();
+ MainPage.Log("鐧诲綍鎴愬姛銆�");
+ result = true;
+ }
+ else
+ {
+ //鐧诲綍澶辫触
+ IMessageCommon.Current.ShowErrorInfoAlter(loginResult.Code);
+ Application.RunOnMainThread(() =>
+ {
+ btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+ btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
+ });
+ }
+ return result;
+ }
+
+ /// <summary>
+ /// 鑾峰彇浣忓畢鍒楄〃
+ /// </summary>
+ bool LoadMethod_GetResidences()
+ {
+ var result = false;
+ var responsePack = pm.GetHomePager();
+ if (responsePack == StateCode.SUCCESS)
+ {
+ //2020-11-13 寰呯‘璁わ紝娌℃湁浣忓畢锛屼笉绠楃櫥褰曟垚鍔�
+ if (UserInfo.Current.regionList != null && UserInfo.Current.regionList.Count > 0)
+ {
+ result = true;
+ }
+ }
+ else
+ {
+ IMessageCommon.Current.ShowErrorInfoAlter(responsePack);
+ }
+ return result;
+ }
+ #endregion
}
}
\ No newline at end of file
--
Gitblit v1.8.0