From af1cb3ecd0f4b0589e00b28f7f9edccf39e6e12b Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 10 九月 2020 16:15:11 +0800
Subject: [PATCH] 202009101
---
HDL_ON/UI/UI1-Login/RegisterPage.cs | 305 ++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 279 insertions(+), 26 deletions(-)
diff --git a/HDL_ON/UI/UI1-Login/RegisterPage.cs b/HDL_ON/UI/UI1-Login/RegisterPage.cs
index 82b2ddd..4f30528 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;
@@ -8,6 +11,10 @@
public partial class RegisterPage : Dialog
{
#region 鎺т欢鍒楄〃
+ /// <summary>
+ /// 绛夊緟鎻愮ず
+ /// </summary>
+ Loading waitPage;
/// <summary>
/// 褰撳墠鐣岄潰
/// </summary>
@@ -43,7 +50,7 @@
/// <summary>
/// 璐﹀彿瀛愬尯鍩熷簳閮ㄦí绾�
/// </summary>
- Button btnAccountViewBottomLine;
+ Button btnVerificationCodeViewBottomLine;
/// <summary>
/// 瀵嗙爜瀛愬尯鍩�
/// </summary>
@@ -112,11 +119,15 @@
/// <summary>
/// 鑾峰彇楠岃瘉鐮佹寜閽�
/// </summary>
- Button btnGetVerificationCode;
+ Button btnGetVerificationCode_Phone;
+ /// <summary>
+ /// 鑾峰彇楠岃瘉鐮佹寜閽�
+ /// </summary>
+ Button btnGetVerificationCode_Mail;
/// <summary>
/// 楠岃瘉鐮佸瓙鍖哄煙搴曢儴鍒嗗壊绾�
/// </summary>
- Button btnVerificationCodeViewBottomLine;
+ Button btnAccountViewBottomLine;
/// <summary>
/// 娉ㄥ唽鎸夐挳
/// </summary>
@@ -146,13 +157,16 @@
/// <summary>
/// 鍥炶皟浜嬩欢
/// </summary>
- Action<string> callbackAction;
+ //Action callbackAction;
/// <summary>
/// 娉ㄥ唽绫诲瀷
/// 0:鎵嬫満
/// 1:閭
/// </summary>
int registerType;
+
+ string registerPhone;
+ string registerEmail;
#endregion
public RegisterPage()
{
@@ -165,21 +179,21 @@
pm = new HttpServerRequest();
}
- public RegisterPage(Action<string> action)
- {
- bodyView = new FrameLayout()
- {
- BackgroundColor = CSS_Color.MainBackgroundColor,
- };
- 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(R.InternationalizationString.Register));
+ new TopViewDiv(this, bodyView, Language.StringByID(StringId.Register)).LoadTopView();
+ //new PublicAssmebly().LoadTopView(this, bodyView, Language.StringByID(StringId.Register));
#region 娉ㄥ唽鏂瑰紡閫夋嫨
btnPhoneLogin = new Button()
@@ -188,7 +202,7 @@
Y = Application.GetRealHeight(112),
Width = Application.GetRealWidth(120),
Height = Application.GetRealHeight(40),
- TextID = R.InternationalizationString.LoginByPhone,
+ TextID = StringId.RegisterByPhone,
TextColor = CSS_Color.MainColor,
TextAlignment = TextAlignment.CenterLeft,
TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
@@ -201,7 +215,7 @@
Y = Application.GetRealHeight(112),
Width = Application.GetRealWidth(100),
Height = Application.GetRealHeight(40),
- TextID = R.InternationalizationString.LoginByEmail,
+ TextID = StringId.RegisterByEmail,
TextColor = CSS_Color.PromptingColor1,
TextAlignment = TextAlignment.Center,
TextSize = CSS_FontSize.TextFontSize,
@@ -251,7 +265,7 @@
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
PlaceholderTextColor = CSS_Color.PromptingColor1,
- PlaceholderText = Language.StringByID(R.InternationalizationString.PlsEntryPhoneNumber),
+ PlaceholderText = Language.StringByID(StringId.PlsEntryPhoneNumber),
};
accountView.AddChidren(etAccount);
@@ -315,7 +329,7 @@
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
PlaceholderTextColor = CSS_Color.PromptingColor1,
- PlaceholderText = Language.StringByID(R.InternationalizationString.PlsRegisterPassword),
+ PlaceholderText = Language.StringByID(StringId.PlsRegisterPassword),
SecureTextEntry = true,
};
passwordView.AddChidren(etPassword);
@@ -381,7 +395,7 @@
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
PlaceholderTextColor = CSS_Color.PromptingColor1,
- PlaceholderText = Language.StringByID(R.InternationalizationString.PlsRegisterRepeatPassword),
+ PlaceholderText = Language.StringByID(StringId.PlsRegisterRepeatPassword),
SecureTextEntry = true,
};
repeatPasswordView.AddChidren(etRepeatPassword);
@@ -449,21 +463,34 @@
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
PlaceholderTextColor = CSS_Color.PromptingColor1,
- PlaceholderText = Language.StringByID(R.InternationalizationString.PlsEntryVerificationCode),
+ PlaceholderText = Language.StringByID(StringId.PlsEntryVerificationCode),
};
verificationCodeView.AddChidren(etVerificationCode);
- btnGetVerificationCode = new Button()
+ btnGetVerificationCode_Phone = new Button()
{
X = Application.GetRealWidth(219),
Width = Application.GetRealWidth(100),
- TextID = R.InternationalizationString.GetVerificationCode,
+ TextID = StringId.GetVerificationCode,
SelectedTextColor = CSS_Color.MainColor,
TextColor = CSS_Color.PromptingColor1,
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()
{
@@ -485,7 +512,7 @@
Radius = (uint)Application.GetRealHeight(22),
SelectedBackgroundColor = CSS_Color.MainColor,
BackgroundColor = CSS_Color.PromptingColor1,
- TextID = R.InternationalizationString.Register,
+ TextID = StringId.Register,
TextSize = CSS_FontSize.SubheadingFontSize,
TextColor = CSS_Color.MainBackgroundColor,
TextAlignment = TextAlignment.Center,
@@ -494,5 +521,231 @@
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.StateCode.ToUpper() == "SUCCESS")
+ {
+ var loginDataStr = Newtonsoft.Json.Linq.JObject.FromObject(loginResult.ResponseData);
+
+ //璁板綍鐢ㄦ埛鏁版嵁
+ MainPage.LoginUser = new UserInfo
+ {
+ ID = (int)loginDataStr.GetValue("UserID"),
+ masterID = (int)loginDataStr.GetValue("MainUserID"),
+ accountType = (int)loginDataStr.GetValue("UserType"),
+ accountString = account,
+ password = password,
+ lastTime = DateTime.Now,
+ userName = loginDataStr.GetValue("Remark").ToString(),
+ };
+ MainPage.LoginUser.SaveUserInfo();
+ MainPage.Log("鐧诲綍鎴愬姛銆�");
+ result = true;
+
+
+ }
+ //鐧诲綍澶辫触
+ else
+ {
+ string tipStr = "Sever erorr";
+ switch (loginResult.StateCode)
+ {
+ case "USERNAMEORPWDERROR":
+ tipStr = Language.StringByID(StringId.LoginFailed_AccountOrPasswordError);
+ break;
+ case "Self:Net_Error":
+ tipStr = Language.StringByID(StringId.NetworkAnomaly);
+ break;
+ }
+ //璐﹀彿鎴栬�呭瘑鐮侀敊璇�
+ Application.RunOnMainThread(() =>
+ {
+ //鎻愮ず鍘熷洜
+ var tip = new Tip()
+ {
+ Text = tipStr,
+ CloseTime = 1,
+ Direction = AMPopTipDirection.None
+ };
+ tip.Show(bodyView);
+ 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 == "Success")
+ {
+ }
+ else
+ {
+ var tipStr = "Server erorr";
+ switch (responsePack)
+ {
+ case "NoLogin":
+ tipStr = Language.StringByID(StringId.InvalidLoginCertificate);
+ break;
+ }
+ Application.RunOnMainThread(() =>
+ {
+ //鎻愮ず鍘熷洜
+ var tip = new Tip()
+ {
+ Text = tipStr,
+ CloseTime = 1,
+ Direction = AMPopTipDirection.None
+ };
+ tip.Show(bodyView);
+ });
+
+ }
+ return result;
+ }
+ #endregion
}
}
\ No newline at end of file
--
Gitblit v1.8.0