From a715181089be0d31cd737a5367ffd02690b9d77f Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 12 十一月 2020 13:36:01 +0800
Subject: [PATCH] 20201112
---
HDL_ON/UI/UI1-Login/LoginPageBLL.cs | 1044 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 1,044 insertions(+), 0 deletions(-)
diff --git a/HDL_ON/UI/UI1-Login/LoginPageBLL.cs b/HDL_ON/UI/UI1-Login/LoginPageBLL.cs
new file mode 100644
index 0000000..eac7338
--- /dev/null
+++ b/HDL_ON/UI/UI1-Login/LoginPageBLL.cs
@@ -0,0 +1,1044 @@
+锘縰sing System;
+using System.Text.RegularExpressions;
+using System.Threading;
+using System.Collections.Generic;
+using HDL_ON.UI.CSS;
+using Shared;
+using HDL_ON.Entity;
+
+namespace HDL_ON.UI.UI1Login
+{
+ public partial class LoginPage
+ {
+
+ /// <summary>
+ /// 鍔犺浇浜嬩欢
+ /// </summary>
+ void LoadEventList()
+ {
+ LoadPage_SwitchLoginType();
+ LoadMethod_VisiblePassword();
+ LoadPage_SwitchLoginMode();
+ LoadEvent_Login();
+ LoadPage_SelectionEditText();
+ LoadPage_RegisterPage();
+ GetVerificationCode();
+ LoadMethod_ForgetPassword();
+ }
+
+ /// <summary>
+ /// 鐐瑰嚮鎸夐挳鑾峰彇楠岃瘉鐮�
+ /// </summary>
+ void GetVerificationCode()
+ {
+ btnGetVerificationCode.MouseUpEventHandler = (sender, e) =>
+ {
+ if (btnGetVerificationCode.IsSelected)
+ {
+ string phoneNumber = etAccount.Text.Trim();
+ if (string.IsNullOrEmpty(phoneNumber))
+ {
+ var tip = new Tip()
+ {
+ Text = Language.StringByID(StringId.PlsEntryPhoneNumber),
+ CloseTime = 1,
+ Direction = AMPopTipDirection.None
+ };
+ tip.Show(bodyView);
+
+ btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+ btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
+ return;
+ }
+ if (!Regex.IsMatch(account, @"^[1]+\d{10}") || (account.Length != 11))
+ {
+ var tip = new Tip()
+ {
+ Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber),
+ CloseTime = 1,
+ Direction = AMPopTipDirection.None
+ };
+ tip.Show(bodyView);
+
+ btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+ btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
+ return;
+ }
+ btnGetVerificationCode.IsSelected = false ;
+ btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1;
+ int time = 60;
+ new Thread(() =>
+ {
+ while (time > 0)
+ {
+ time--;
+ Application.RunOnMainThread(() =>
+ {
+ btnGetVerificationCode.Text = time.ToString() + "s";
+ });
+ Thread.Sleep(1000);
+ }
+ Application.RunOnMainThread(() =>
+ {
+ btnGetVerificationCode.IsSelected = true;
+ btnGetVerificationCode.TextID = StringId.GetVerificationCode;
+ });
+ })
+ { IsBackground = true }.Start();
+ new Thread(() =>
+ {
+ //鑾峰彇楠岃瘉鐮�
+ var result = pm.GetLoginVerCode(phoneNumber);
+ if (result.StateCode.ToUpper() == "SUCCESS")
+ {
+ }
+ //鐧诲綍澶辫触
+ else
+ {
+ string tipStr = "Sever erorr";
+ switch (result.StateCode.ToUpper())
+ {
+ case "USERNAMEORPWDERROR":
+ tipStr = Language.StringByID(StringId.LoginFailed_AccountOrPasswordError);
+ Application.RunOnMainThread(() =>
+ {
+ btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+ btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
+ });
+ break;
+ case "ACCOUNTNOEXISTS":
+ tipStr = Language.StringByID(StringId.ACCOUNTNOEXISTS);
+ Application.RunOnMainThread(() =>
+ {
+ btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+ btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
+ });
+ break;
+ case "SENDFAIL":
+ tipStr = Language.StringByID(StringId.FailedToSendVerificationCode);
+ Application.RunOnMainThread(() =>
+ {
+ btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+ btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
+ });
+ 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);
+ });
+ }
+ })
+ { IsBackground = true }.Start();
+ }
+ };
+ }
+
+ /// <summary>
+ /// 鍒囨崲鐧诲綍绫诲瀷
+ /// </summary>
+ void LoadPage_SwitchLoginType()
+ {
+ //閫夋嫨鎵嬫満鐧诲綍
+ btnPhoneLogin.MouseUpEventHandler = (sender, e) =>
+ {
+ if (loginType == 0)
+ return;
+ etAccount.Text = registerPhone;
+ etPassword.Text = "";
+ #region 鍒囨崲閫変腑鎸夐挳
+ btnEmailLogin.TextColor = CSS_Color.PromptingColor1;
+ btnEmailLogin.TextSize = CSS_FontSize.TextFontSize;
+ btnPhoneLogin.TextColor = CSS_Color.MainColor;
+ btnPhoneLogin.TextSize = CSS_FontSize.EmphasisFontSize_Secondary;
+ etAccount.PlaceholderText = Language.StringByID(StringId.PlsEntryPhoneNumber);
+ #endregion
+
+ #region 鍒囨崲鐧诲綍鏂瑰紡鍙婂浘鏍�
+ loginType = 0;
+ if (btnAccountIcon.Parent != null)
+ {
+ btnAccountIcon.RemoveFromParent();
+ }
+ accountView.AddChidren(btnGlobalRoaming);
+ //鏄剧ず楠岃瘉鐮佺櫥褰曟柟寮忥紝鎵嬫満鐧诲綍鏈夐獙璇佺爜鐧诲綍
+ btnSwitchLoginMode.Visible = true;
+ #endregion
+
+ #region
+ if (logintMode == 1)
+ {
+ if (Regex.IsMatch(account, @"^[1]+\d{10}") && (account.Length == 11) && btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode))
+ {
+ btnGetVerificationCode.IsSelected = true;
+ }
+ btnSwitchLoginMode.TextID = StringId.PasswordLogin;
+ //passwordView.AddChidren(btnGetVerificationCode);
+ btnGetVerificationCode.Visible = true;
+ etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryVerificationCode);
+ btnPasswordIcon.IsSelected = true;
+ if (btnVisiblePassword.Parent != null)
+ {
+ btnVisiblePassword.RemoveFromParent();
+ }
+ if (btnDividingLineVertical_PasswordView2.Parent != null)
+ {
+ btnDividingLineVertical_PasswordView2.RemoveFromParent();
+ }
+ if (btnForgetPassword.Parent != null)
+ {
+ btnForgetPassword.RemoveFromParent();
+ }
+ //楠岃瘉鐮佷笉闇�瑕侀殣钘�
+ etPassword.SecureTextEntry = false;
+ }
+ #endregion
+
+ };
+
+ //閫夋嫨閭鐧诲綍
+ btnEmailLogin.MouseUpEventHandler += (sender, e) =>
+ {
+ if (loginType == 1)
+ return;
+ etAccount.Text = registerEmail;
+ etPassword.Text = "";
+ #region 鍒囨崲閫変腑鎸夐挳
+ btnPhoneLogin.TextColor = CSS_Color.PromptingColor1;
+ btnPhoneLogin.TextSize = CSS_FontSize.TextFontSize;
+ btnEmailLogin.TextColor = CSS_Color.MainColor;
+ btnEmailLogin.TextSize = CSS_FontSize.EmphasisFontSize_Secondary;
+ etAccount.PlaceholderText = Language.StringByID(StringId.PlsEntryEmailAddress);
+ #endregion
+
+ #region 鍒囨崲鐧诲綍绫诲瀷鍙婂浘鏍�
+ loginType = 1;
+ if (btnGlobalRoaming.Parent != null)
+ {
+ btnGlobalRoaming.RemoveFromParent();
+ }
+ accountView.AddChidren(btnAccountIcon);
+ #endregion
+
+ //閭鍙湁瀵嗙爜鐧诲綍妯″紡
+ //logintMode = 0;
+ //瀵嗙爜鐧诲綍
+ btnSwitchLoginMode.TextID = StringId.VerificationCodeLogin;
+ passwordView.AddChidren(btnVisiblePassword);
+ passwordView.AddChidren(btnDividingLineVertical_PasswordView2);
+ passwordView.AddChidren(btnForgetPassword);
+ btnPasswordIcon.IsSelected = false;
+
+ //if (btnGetVerificationCode.Parent != null)
+ //{
+ //btnGetVerificationCode.RemoveFromParent();
+ btnGetVerificationCode.Visible = false;
+ //}
+ //闅愯棌瀵嗙爜
+ etPassword.SecureTextEntry = true;
+ //闅愯棌楠岃瘉鐮佺櫥褰曟柟寮忥紝閭鐧诲綍娌℃湁楠岃瘉鐮佺櫥褰�
+ btnSwitchLoginMode.Visible = false;
+ };
+ }
+
+ /// <summary>
+ /// 鍒囨崲鐧诲綍鏂瑰紡
+ /// 楠岃瘉鐮�/瀵嗙爜
+ /// </summary>
+ void LoadPage_SwitchLoginMode()
+ {
+ btnSwitchLoginMode.MouseUpEventHandler = (sender, e) =>
+ {
+ logintMode = logintMode == 0 ? 1 : 0;
+ //娓呴櫎瀵嗙爜妗嗘枃鏈暟鎹�
+ etPassword.Text = "";
+ //瀵嗙爜鐧诲綍
+ if (logintMode == 0)
+ {
+ btnSwitchLoginMode.TextID = StringId.VerificationCodeLogin;
+ passwordView.AddChidren(btnVisiblePassword);
+ passwordView.AddChidren(btnDividingLineVertical_PasswordView2);
+ etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryPassword);
+ passwordView.AddChidren(btnForgetPassword);
+ btnPasswordIcon.IsSelected = false;
+ //if (btnGetVerificationCode.Parent != null)
+ //{
+ //btnGetVerificationCode.RemoveFromParent();
+ btnGetVerificationCode.Visible = false;
+ //}
+ //闅愯棌瀵嗙爜
+ etPassword.SecureTextEntry = true;
+ }
+ //楠岃瘉鐮佺櫥褰�
+ else if (logintMode == 1)
+ {
+ if (Regex.IsMatch(account, @"^[1]+\d{10}") && (account.Length == 11) && btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode))
+ {
+ btnGetVerificationCode.IsSelected = true;
+ }
+ btnSwitchLoginMode.TextID = StringId.PasswordLogin;
+ //passwordView.AddChidren(btnGetVerificationCode);
+ btnGetVerificationCode.Visible = true;
+ etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryVerificationCode);
+ btnPasswordIcon.IsSelected = true;
+ if (btnVisiblePassword.Parent != null)
+ {
+ btnVisiblePassword.RemoveFromParent();
+ }
+ if (btnDividingLineVertical_PasswordView2.Parent != null)
+ {
+ btnDividingLineVertical_PasswordView2.RemoveFromParent();
+ }
+ if (btnForgetPassword.Parent != null)
+ {
+ btnForgetPassword.RemoveFromParent();
+ }
+ //楠岃瘉鐮佷笉闇�瑕侀殣钘�
+ etPassword.SecureTextEntry = false;
+ }
+ };
+ }
+
+ /// <summary>
+ /// 鏂囨湰妗嗙劍鐐瑰彉鍖栦簨浠�
+ /// </summary>
+ void LoadPage_SelectionEditText()
+ {
+ //褰撶劍鐐瑰湪璐﹀彿鏂囨湰妗嗘椂锛屾枃鏈搴曠嚎鐐逛寒
+ etAccount.FoucsChanged = (sender, e) =>
+ {
+ if (etAccount.Foucs)
+ {
+ btnAccountViewBottomLine.BackgroundColor = CSS_Color.MainColor;
+ btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
+ }
+ else
+ {
+ btnAccountViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
+ btnAccountViewBottomLine.Height = Application.GetRealHeight(1);
+ account = etAccount.Text.Trim();
+ if (loginType == 0)
+ {
+ registerPhone = account;
+ }
+ else
+ {
+ registerEmail = account;
+ }
+ if (account.Length == 0)
+ return;
+ if (loginType == 0)
+ {
+ if (!Regex.IsMatch(account, @"^[1]+\d{10}") || (account.Length != 11))
+ {
+ var tip = new Tip()
+ {
+ Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber),
+ CloseTime = 1,
+ Direction = AMPopTipDirection.None
+ };
+ tip.Show(bodyView);
+
+ btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+ btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
+ }
+ else
+ {
+ if (btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode))
+ {
+ btnGetVerificationCode.IsSelected = true;
+ }
+ }
+ }
+ else
+ {
+ if (!Regex.IsMatch(account, "([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,5})+"))
+ {
+ var tip = new Tip()
+ {
+ Text = Language.StringByID(StringId.PlsEntryCorrectEmailAddress),
+ CloseTime = 1,
+ Direction = AMPopTipDirection.None
+ };
+ tip.Show(bodyView);
+ btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+ btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
+ }
+ }
+ }
+ };
+ //褰撶劍鐐瑰湪瀵嗙爜鏂囨湰妗嗘椂锛屾枃鏈搴曠嚎鐐逛寒
+ etPassword.FoucsChanged = (sender, e) =>
+ {
+ if (etPassword.Foucs)
+ {
+ btnPasswordViewBottomLine.BackgroundColor = CSS_Color.MainColor;
+ btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
+ }
+ else
+ {
+ btnPasswordViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
+ btnPasswordViewBottomLine.Height = Application.GetRealHeight(1);
+ }
+ };
+
+ //褰撶劍鐐瑰湪璐﹀彿鏂囨湰妗嗘椂锛岀偣鍑婚敭鐩樺洖鎾ゆ寜閿紝瑙﹀彂鐨勪簨浠�
+ etAccount.EditorEnterAction += (obj) =>
+ {
+ etPassword.Foucs = true;
+ };
+ //褰撶劍鐐瑰湪瀵嗙爜鏂囨湰妗嗘椂锛岀偣鍑婚敭鐩樺洖鎾ゆ寜閿紝瑙﹀彂鐨勪簨浠�
+ etPassword.EditorEnterAction += (obj) =>
+ {
+ Application.HideSoftInput();
+ };
+ etPassword.MouseUpEventHandler = (sender, e) =>
+ {
+ etPassword.Foucs = true;
+ };
+
+ }
+
+ /// <summary>
+ /// 闅愯棌/鏄剧ず瀵嗙爜
+ /// </summary>
+ void LoadMethod_VisiblePassword()
+ {
+ btnVisiblePassword.MouseUpEventHandler += (sender, e) =>
+ {
+ btnVisiblePassword.IsSelected = !btnVisiblePassword.IsSelected;
+ if (btnVisiblePassword.IsSelected)
+ {
+ etPassword.SecureTextEntry = false;
+ }
+ else
+ {
+ etPassword.SecureTextEntry = true;
+ }
+ };
+ }
+
+ /// <summary>
+ /// 鐧诲綍鎸夐挳鐐瑰嚮浜嬩欢
+ /// </summary>
+ void LoadEvent_Login()
+ {
+ btnLogin.MouseUpEventHandler += (sender, e) =>
+ {
+ if (btnLogin.IsSelected)
+ {
+ account = etAccount.Text.Trim();
+ password = etPassword.Text.Trim();
+
+ if (loginType == 0)
+ {
+ if (!Regex.IsMatch(account, @"^[1]+\d{10}") && account.Length == 11)
+ {
+ var tip = new Tip()
+ {
+ Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber),
+ CloseTime = 1,
+ Direction = AMPopTipDirection.None
+ };
+ tip.Show(bodyView);
+ return;
+ }
+ }
+ else
+ {
+ if (!Regex.IsMatch(account, "([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,5})+"))
+ {
+ var tip = new Tip()
+ {
+ Text = Language.StringByID(StringId.PlsEntryCorrectEmailAddress),
+ CloseTime = 1,
+ Direction = AMPopTipDirection.None
+ };
+ tip.Show(bodyView);
+ return;
+ }
+ }
+
+ //鍒涘缓鐧诲綍绾跨▼
+ var loginThread = LoadThread_Login();
+ waitPage = new Loading();
+ new PublicAssmebly().LoadPage_WaitPage(loginThread, bodyView, waitPage);
+ }
+ };
+ #region 褰撹处鍙峰瘑鐮侀兘杈撳叆鏃讹紝鎵嶈兘鐐瑰嚮鐧诲綍鎸夐挳
+ etAccount.TextChangeEventHandler = (sender, e) =>
+ {
+ account = etAccount.Text.Trim();
+ if (account.Length > 0 && etPassword.Text.Trim().Length > 0)
+ {
+ btnLogin.IsSelected = true;
+ }
+ else
+ {
+ btnLogin.IsSelected = false;
+ }
+ if (Regex.IsMatch(account, @"^[1]+\d{10}") )//&& account.Length == 11)
+ {
+ btnGetVerificationCode.IsSelected = true;
+ btnGetVerificationCode.TextColor = CSS_Color.MainBackgroundColor;
+ }
+ else
+ {
+ btnGetVerificationCode.IsSelected = false;
+ btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1;
+ }
+ };
+ etPassword.TextChangeEventHandler += (sender, e) =>
+ {
+ if (etAccount.Text.Trim().Length > 0 && etPassword.Text.Trim().Length > 0)
+ {
+ btnLogin.IsSelected = true;
+ }
+ else
+ {
+ btnLogin.IsSelected = false;
+ }
+ };
+ #endregion
+ }
+
+ /// <summary>
+ /// 鍔犺浇鐧诲綍绾跨▼
+ /// </summary>
+ Thread LoadThread_Login()
+ {
+ var loginThread = new Thread(() =>
+ {
+ try
+ {
+ //鐧诲綍
+ var loginResult = LoadMethod_Login();
+ if( !string.IsNullOrEmpty (verAccount))//楠岃瘉鐧诲綍璐﹀彿
+ {
+ Application.RunOnMainThread(() =>
+ {
+ if (verAccount == etPassword.Text.Trim())
+ {
+ //璺宠浆椤甸潰----
+ MainPage.GoUserPage();
+ return;
+ }
+ });
+ }
+ if (loginResult)
+ {
+ //鑾峰彇浣忓畢淇℃伅
+ var getResidencesResult = LoadMethod_GetResidences();
+ if (getResidencesResult)
+ {
+ /*
+ * Wait : 鎺ㄩ�佹敞鍐�
+ */
+
+ /*
+ 鏌ョ湅鏈湴鏄惁瀛樺湪鏁版嵁
+ 瀛樺湪鍒欏鍑�
+ */
+ var isExis = FileUtils.IsExisFolder(DB_ResidenceData.residenceData.CurReginID);
+ if (isExis)
+ {
+ FileUtils.DeleteAllFile();
+ string regionRootPath = FileUtils.CreateRegionBackup(DB_ResidenceData.residenceData.CurReginID);
+ FileUtils.RestoreRegionFiles(regionRootPath);
+ DB_ResidenceData.residenceData.EixtAccount();
+ OnAppConfig.Instance.RefreshUserConfig();
+ DB_ResidenceData.InitRoomFunction();
+ }
+ if (MainPage.LoginUser.userEmailInfo == "464027401@qq.com")
+ {
+ DB_ResidenceData.residenceData.floors.Add(new Floor() { name = "1F", sid = "09888" });
+ var r111 = new Room() { sid = "0001", name = "Room-1", floorId = "09888", backgroundImage = "Classification/Room/Roombg.png" };
+ DB_ResidenceData.rooms.Add(r111);
+ DB_ResidenceData.residenceData.floors.Add(new Floor() { sid = "000022222", name = "1F" });
+ r111.SaveRoomData();
+ new AC()
+ {
+ sid = "030101123456780604010001ABCD",
+ name = "绌鸿皟",
+ function = new List<Trait>() {
+ new Trait { name="on_off", max=1,min = 0, value_key= new List<string> { "on","off"} },
+ new Trait { name="mode", max = 2,min =0,value_key = new List<string>{ "auto", "heat", "cool","dry" } },
+ new Trait { name = "fan",max = 3,min =0,value_key = new List<string>{ "low", "medium", "high" ,"auto"} },
+ new Trait { name = "set_temperature", max = 32,min=16,value_key = new List<string>{"up","down" } },
+ },
+ roomIdList = new List<string>() { "0001" },
+ lastState = "鍒跺喎 涓 18掳C",
+ bus_Data = new BusData
+ {
+ SubnetID = 42,
+ DeviceID = 8,
+ LoopID = 1,
+ },
+ }.SaveFunctionData();
+ new Light()
+ {
+ sid = "030101123456780202020002ABCD",
+ name = "璋冨厜鐏�",
+ function = new List<Trait>() {
+ new Trait { name="brightness", max=100,min = 0, value_key= new List<string> { "up","down"} },
+ },//"brightness",
+ roomIdList = new List<string>() { "0001" },
+ lastState = "20%",
+ bus_Data = new BusData
+ {
+ SubnetID = 42,
+ DeviceID = 9,
+ LoopID = 1,
+ },
+
+ }.SaveFunctionData();
+ new Curtain()
+ {
+ sid = "030101123456780303010003ABCD",
+ name = "绐楀笜妯″潡",
+ roomIdList = new List<string>() { "0001" },
+ function = new List<Trait>() {
+ new Trait { name="on_off", max=2,min = 0, value_key= new List<string> { "on","off","stop"} },
+ },// "curtain",
+ lastState = "寮�",
+ bus_Data = new BusData
+ {
+ SubnetID = 42,
+ DeviceID = 7,
+ LoopID = 1,
+ },
+ }.SaveFunctionData();
+ new Curtain()
+ {
+ sid = "030101123456780303030011ABCD",
+ name = "寮�鍚堝笜",
+ roomIdList = new List<string>() { "0001" },
+ function = new List<Trait>() {
+ new Trait { name="on_off", max=100,min = 0, value_key= new List<string> { "on","off","stop"} },
+ },//"curtaintype",
+ lastState = "20%",
+ bus_Data = new BusData
+ {
+ SubnetID = 42,
+ DeviceID = 7,
+ LoopID = 11,
+ },
+ }.SaveFunctionData();
+ new Curtain()
+ {
+ sid = "030101123456780503040012ABCD",
+ name = "鍗峰笜",
+ roomIdList = new List<string>() { "0001" },
+ function = new List<Trait>() {
+ new Trait { name="on_off", max=2,min = 0, value_key= new List<string> { "on","off","stop"} },
+ new Trait { name="percent", max=100,min = 0, value_key= new List<string> { "percent" } },
+
+ },// "rollingshutter",
+ lastState = "20%",
+ bus_Data = new BusData
+ {
+ SubnetID = 42,
+ DeviceID = 17,
+ LoopID = 1,
+ },
+ }.SaveFunctionData();
+ new FloorHeating()
+ {
+ sid = "030101123456780404020004ABCD",
+ name = "鍦扮儹",
+ roomIdList = new List<string>() { "0001" },
+ function = new List<Trait>() {
+ new Trait { name="on_off", max=1,min = 0, value_key= new List<string> { "on","off"} },
+ new Trait { name="mode", max = 2,min =0,value_key = new List<string>{ "normal", "day", "night","timer","away" } },
+ new Trait { name = "set_temperature", max = 32,min=5,value_key = new List<string>{"up","down" } },
+ },//
+ lastState = "鑷姩 25掳C",
+ bus_Data = new BusData
+ {
+ SubnetID = 111,
+ DeviceID = 12,
+ LoopID = 1
+ }
+ }.SaveFunctionData();
+ new Light()
+ {
+ sid = "030101123456780202010005ABCD",
+ name = "鍚婄伅",
+ function = new List<Trait>() {
+ new Trait { name="on_off", max=100,min = 0, value_key= new List<string> { "on","off"} },
+ },//"on_off",
+ roomIdList = new List<string>() { "0001" },
+ bus_Data = new BusData
+ {
+ SubnetID = 42,
+ DeviceID = 6,
+ LoopID = 1,
+ },
+ }.SaveFunctionData();
+ new Light()
+ {
+ sid = "030101123456780202040006ABCD",
+ name = "RGB鐏�",
+ function = new List<Trait>() {
+ new Trait { name="brightness", max=100,min = 0, value_key= new List<string> { "on","off"} },
+ new Trait { name="color", max=100,min = 0, value_key= new List<string> { "255", "255", "255" } },
+ },
+ roomIdList = new List<string>() { "0001" },
+ bus_Data = new BusData
+ {
+ SubnetID = 42,
+ DeviceID = 4,
+ LoopID = 1,
+ },
+ }.SaveFunctionData();
+ new Fan()
+ {
+ sid = "030101123456781010020006ABCD",
+ name = "椋庢墖",
+ function = new List<Trait>() {
+ new Trait { name="on_off", max=1,min = 0, value_key= new List<string> { "on","off"} },
+ new Trait { name="percent", max=7,min = 0, value_key= new List<string> { "percent" } },
+ },
+ roomIdList = new List<string>() { "0001" },
+ bus_Data = new BusData
+ {
+ SubnetID = 142,
+ DeviceID = 4,
+ LoopID = 11,
+ },
+ }.SaveFunctionData();
+ new TV()
+ {
+ sid = "030101123456781010020006ABCD",
+ name = "鐢佃",
+ function = new List<Trait>() {
+ new Trait { name="on_off", max=1,min = 0, value_key= new List<string> { "on","off"} },
+ },
+ roomIdList = new List<string>() { "0001" },
+ bus_Data = new BusData
+ {
+ SubnetID = 142,
+ DeviceID = 4,
+ LoopID = 111,
+ },
+ }.SaveFunctionData();
+ new SwitchSocket()
+ {
+ sid = "030101123456780101020006ABCD",
+ name = "鎻掑骇",
+ function = new List<Trait>() {
+ new Trait { name="on_off", max=1,min = 0, value_key= new List<string> { "on","off"} },
+ },
+ roomIdList = new List<string>() { "0001" },
+ bus_Data = new BusData
+ {
+ SubnetID = 42,
+ DeviceID = 6,
+ LoopID = 1,
+ },
+ }.SaveFunctionData();
+ new Sensor()
+ {
+ sid = "030101123456781005060006ABCD",
+ name = "PM2.5",
+ roomIdList = new List<string>() { "0001" },
+ function = new List<Trait>() {
+ new Trait { name="values", max=1,min = 0, value_key= new List<string> { "22"} },
+ },
+ bus_Data = new BusData
+ {
+ SubnetID = 111,
+ DeviceID = 15,
+ LoopID = 1,
+ },
+ }.SaveFunctionData();
+ new Sensor()
+ {
+ sid = "030101123456781005070006ABCD",
+ name = "CO2",
+ roomIdList = new List<string>() { "0001" },
+ function = new List<Trait>() {
+ new Trait { name="values", max=1,min = 0, value_key= new List<string> { "1352"} },
+ },
+ bus_Data = new BusData
+ {
+ SubnetID = 111,
+ DeviceID = 15,
+ LoopID = 1,
+ },
+ }.SaveFunctionData();
+ new Sensor()
+ {
+ sid = "030101123456781005020006ABCD",
+ name = "娓╁害",
+ roomIdList = new List<string>() { "0001" },
+ function = new List<Trait>() {
+ new Trait { name="values", max=1,min = 0, value_key= new List<string> { "28"} },
+ },
+ bus_Data = new BusData
+ {
+ SubnetID = 111,
+ DeviceID = 15,
+ LoopID = 1,
+ },
+ }.SaveFunctionData();
+ new Sensor()
+ {
+ sid = "030101123456781005050006ABCD",
+ name = "TVOC",
+ roomIdList = new List<string>() { "0001" },
+ function = new List<Trait>() {
+ new Trait { name="values", max=1,min = 0, value_key= new List<string> { "0.3"} },
+ },
+ bus_Data = new BusData
+ {
+ SubnetID = 111,
+ DeviceID = 15,
+ LoopID = 1,
+ },
+ }.SaveFunctionData();
+ new Sensor()
+ {
+ sid = "030101123456781005030006ABCD",
+ name = "婀垮害",
+ roomIdList = new List<string>() { "0001" },
+ function = new List<Trait>() {
+ new Trait { name="values", max=1,min = 0, value_key= new List<string> { "15"} },
+ },
+ bus_Data = new BusData
+ {
+ SubnetID = 111,
+ DeviceID = 15,
+ LoopID = 1,
+ },
+ }.SaveFunctionData();
+ DB_ResidenceData.residenceData.SaveResidenceData();
+ }
+ Application.RunOnMainThread(() =>
+ {
+ //璺宠浆椤甸潰----
+ MainPage.GoUserPage();
+ });
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"LoginPage : {ex.Message}");
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ if (waitPage != null)
+ {
+ waitPage.RemoveFromParent();
+ waitPage = null;
+ }
+
+ });
+ }
+ })
+ { IsBackground = true };
+ return loginThread;
+ }
+ /// <summary>
+ /// 璋冪敤鐧诲綍鎺ュ彛鐧诲綍
+ /// </summary>
+ bool LoadMethod_Login()
+ {
+ var result = false;
+ ResponsePack loginResult;
+ if (logintMode == 0 || loginType == 1)
+ {
+ //璋冪敤鐧诲綍鎺ュ彛
+ loginResult = pm.LoginByPassword(account, password);
+ }
+ else
+ {
+ //璋冪敤楠岃瘉鐮佺櫥褰曟帴鍙�
+ loginResult = pm.LoginValidCode(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"),
+ loginTokenString = loginDataStr.GetValue("Token").ToString(),
+ accountString = account,
+ password = password,
+ lastTime = DateTime.Now,
+ userName = loginDataStr.GetValue("Remark").ToString(),
+ };
+ MainPage.LoginUser.SaveUserInfo();
+ MainPage.Log("鐧诲綍鎴愬姛銆�");
+ result = true;
+ //鑾峰彇鐢ㄦ埛淇℃伅
+ new Thread(() =>
+ {
+ pm.GetUserInfo();
+ })
+ { IsBackground = true }.Start();
+ }
+ //鐧诲綍澶辫触
+ else
+ {
+ string tipStr = "Sever erorr";
+ switch (loginResult.StateCode)
+ {
+ case "ValidCodeAndPhoneNoEqual":
+ tipStr = Language.StringByID(StringId.VerificationCodeError);
+ Application.RunOnMainThread(() =>
+ {
+ btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+ btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
+ });
+ break;
+ case "USERNAMEORPWDERROR":
+ tipStr = Language.StringByID(StringId.LoginFailed_AccountOrPasswordError);
+ Application.RunOnMainThread(() =>
+ {
+ btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+ btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
+ });
+ break;
+ case "ACCOUNTNOEXISTS":
+ tipStr = Language.StringByID(StringId.ACCOUNTNOEXISTS);
+ Application.RunOnMainThread(() =>
+ {
+ btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+ btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
+ });
+ break;
+ case "NoRecord":
+ tipStr = Language.StringByID(StringId.PlsGetTheVerificationCode);
+ break;
+ case "Self:Net_Error":
+ tipStr = Language.StringByID(StringId.NetworkAnomaly);
+ break;
+ }
+ //璐﹀彿鎴栬�呭瘑鐮侀敊璇�
+ Application.RunOnMainThread(() =>
+ {
+ waitPage.Hide();
+ //鎻愮ず鍘熷洜
+ var tip = new Tip()
+ {
+ Text = tipStr,
+ CloseTime = 1,
+ Direction = AMPopTipDirection.None
+ };
+ tip.Show(bodyView);
+ });
+ }
+ return result;
+ }
+
+ /// <summary>
+ /// 鑾峰彇浣忓畢鍒楄〃
+ /// </summary>
+ bool LoadMethod_GetResidences()
+ {
+ var result = false;
+ var responsePack = pm.GetHomePager();
+
+ if (responsePack == "Success")
+ {
+ result = true;
+ }
+ 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;
+ }
+
+ /// <summary>
+ /// 鍔犺浇娉ㄥ唽鐣岄潰
+ /// </summary>
+ void LoadPage_RegisterPage()
+ {
+ btnRegister.MouseUpEventHandler += (sender, e) =>
+ {
+ //鍥炶皟浜嬩欢
+ //Action callBackAction = () =>
+ //{
+ // Application.RunOnMainThread(() =>
+ // {
+ // try
+ // {
+ // }
+ // catch (Exception ex)
+ // {
+ // MainPage.Log($"login callBackAction : {ex.Message}");
+ // }
+ // });
+ //};
+
+ var registerPage = new RegisterPage();
+ registerPage.Show();
+ registerPage.ShowDialog();
+ };
+ }
+
+ /// <summary>
+ /// 蹇樿瀵嗙爜
+ /// </summary>
+ void LoadMethod_ForgetPassword()
+ {
+ btnForgetPassword.MouseUpEventHandler += (sender, e) =>
+ {
+ Action<string> callBackAction = (callBackPar_Action) =>
+ {
+ Application.RunOnMainThread(() =>
+ {
+ try
+ {
+ etAccount.Text = callBackPar_Action;
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"login callBackAction : {ex.Message}");
+ }
+ });
+ };
+ var forgetPasswordDialog = new ForgetPasswordPage(callBackAction);
+ forgetPasswordDialog.Show();
+ forgetPasswordDialog.ShowDialog();
+
+ };
+ }
+ }
+}
\ No newline at end of file
--
Gitblit v1.8.0