From 6fa9d69da922c8049f5acfcbb9ce9fd26811024c Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期四, 16 四月 2020 17:10:57 +0800 Subject: [PATCH] 请合并代码 --- ZigbeeApp/Shared/Phone/Login/AccountLogin.cs | 1818 ++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 1,499 insertions(+), 319 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Login/AccountLogin.cs b/ZigbeeApp/Shared/Phone/Login/AccountLogin.cs index 5c33746..ff07e07 100755 --- a/ZigbeeApp/Shared/Phone/Login/AccountLogin.cs +++ b/ZigbeeApp/Shared/Phone/Login/AccountLogin.cs @@ -2,7 +2,8 @@ using Shared.Common; using Shared.Phone.UserView; using Shared.Phone.Device.CommonForm; - +using Shared.Phone.UserCenter; + namespace Shared.Phone.Login { /// <summary> @@ -28,9 +29,13 @@ /// </summary> private EmailLoginRowForm emailRow; /// <summary> - /// pwdRow + /// phonePwdRow /// </summary> - private PwdLoginRowForm pwdRow; + private PwdLoginRowForm phonePwdRow; + /// <summary> + /// emailPwdRow + /// </summary> + private PwdLoginRowForm emailPwdRow; /// <summary> /// 璐﹀彿瀵嗙爜fl @@ -57,14 +62,6 @@ /// </summary> private Button registerBtn; /// <summary> - /// 璐﹀彿 - /// </summary> - private string account; - /// <summary> - /// 瀵嗙爜 - /// </summary> - private string password; - /// <summary> /// wechat /// </summary> private Button wechatBtn; @@ -72,7 +69,14 @@ /// qq /// </summary> private Button qqBtn; - + /// <summary> + /// 杈撳叆鐨勭櫥闄嗚处鍙�(閲嶆柊鐧婚檰鏃朵娇鐢�) + /// </summary> + private string oldInputPhone = string.Empty; + /// <summary> + /// 杈撳叆鐨勭櫥闄嗚处鍙�(閲嶆柊鐧婚檰鏃朵娇鐢�) + /// </summary> + private string oldInputEmail = string.Empty; #endregion @@ -110,7 +114,7 @@ } else { - LoginViewShow(account, password); + LoginViewShow(account); } } @@ -118,17 +122,18 @@ /// Logins the view show. /// </summary> /// <param name="account">Account.</param> - /// <param name="password">Password.</param> - public void LoginViewShow(string account = "", string password = "") + public void LoginViewShow(string account = "") { - this.account = account; - this.password = password; + //璁剧疆涓�涓嬪垵濮嬪�� + if (account.Contains("@") == true) { this.oldInputEmail = account; } + else { this.oldInputPhone = account; } + #region midFrameLayout midFrameLayout = new FrameLayout() { Width = LayoutParams.MatchParent, Height = Application.GetRealHeight(CommonPage.AppRealHeight), - BackgroundColor =ZigbeeColor.Current.GXCBackgroundColor + BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor }; AddChidren(midFrameLayout); #endregion @@ -168,7 +173,7 @@ Gravity = Gravity.CenterHorizontal, TextID = R.MyInternationalizationString.AppName, TextColor = ZigbeeColor.Current.GXCTextWhiteColor, - TextSize=16 + TextSize = 16 }; midFrameLayout.AddChidren(logoName); @@ -185,8 +190,8 @@ Height = Application.GetRealHeight(58), TextColor = ZigbeeColor.Current.GXCTextRed, TextAlignment = TextAlignment.CenterLeft, - TextSize=CommonFormResouce.TextSize, - IsBold=true + TextSize = CommonFormResouce.TextSize, + IsBold = true }; midFrameLayout.AddChidren(loginErrorBtn); @@ -229,15 +234,14 @@ SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonBlackSelectedColor, BackgroundColor = ZigbeeColor.Current.GXCButtonUnSelectedColor, Radius = (uint)Application.GetRealHeight(127 / 2), - Enable = !string.IsNullOrEmpty(pwdRow.PasswrodET?.Text), - IsSelected = !string.IsNullOrEmpty(pwdRow.PasswrodET?.Text), - IsBold=true + Enable = false, + IsBold = true }; midFrameLayout.AddChidren(loginBtn); loginByCodeBtn = new Button() { - X=Application.GetRealWidth(98), + X = Application.GetRealWidth(98), Y = Application.GetRealHeight(1466), Width = Application.GetRealWidth(300), Height = Application.GetRealHeight(49), @@ -268,7 +272,7 @@ Width = Application.GetMinRealAverage(115), Height = Application.GetMinRealAverage(115), UnSelectedImagePath = "Account/Wechat.png", - Gravity=Gravity.CenterHorizontal + Gravity = Gravity.CenterHorizontal }; midFrameLayout.AddChidren(wechatBtn); @@ -282,18 +286,16 @@ }; //midFrameLayout.AddChidren(qqBtn); + //娣诲姞鏈嶅姟鍗忚鎺т欢 + //this.AddServiceAgreementControl(phoneEmailBGFL); + #endregion BindEvent(); - if (string.IsNullOrEmpty(account) == false && AccountLogic.Instance.CheckEmail(account) == true) + if (account.Contains("@") == true) { SelectPhoneOrEmail_MouseUpEvent(phoneEmailForm.SelectedEmail, null); - this.account = string.Empty; - } - else - { - this.account = string.Empty; } } @@ -332,15 +334,20 @@ /// </summary> /// <param name="sender">Sender.</param> /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> - private void LoginBtnEvent(object sender,MouseEventArgs mouseEventArgs) + private void LoginBtnEvent(object sender, MouseEventArgs mouseEventArgs) { + //妫�娴嬮殣绉佸崗璁� + if (this.CheckPrivacyPolicy() == false) + { + return; + } if (phoneEmailForm.SelectedPhone.IsSelected) { - Login(phoneRow.AccountET.Text.Trim(), pwdRow.PasswrodET.Text.Trim()); + Login(phoneRow.AccountET.Text.Trim(), phonePwdRow.PasswrodET.Text.Trim()); } else { - Login(emailRow.AccountET.Text.Trim(), pwdRow.PasswrodET.Text.Trim()); + Login(emailRow.AccountET.Text.Trim(), emailPwdRow.PasswrodET.Text.Trim()); } } @@ -351,124 +358,122 @@ /// <param name="accountStr">Account.</param> /// <param name="passwordStr">Password.</param> private void Login(string accountStr, string passwordStr) - { + { //Application.RunOnMainThread( () => //{ Action action = async () => { try { - if(CheckAccount(accountStr)==false) - { - return; - } - + if (CheckAccount(accountStr) == false) + { + return; + } + CommonPage.Loading.Start(Language.StringByID(R.MyInternationalizationString.Logining)); - var requestObj = new SendDataToServer.LoginObj - { - Account = accountStr, - Password = passwordStr, - Source = CommonPage.Source, - Company = CommonPage.Company - }; - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj); - var revertObj = await CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/Login", System.Text.Encoding.UTF8.GetBytes(requestJson)); - if (revertObj == null) - { - CommonPage.Instance.FailureToServer(); - CommonPage.Loading.Hide(); - return; - } - var stateCodeStr = revertObj.StateCode.ToUpper(); - //Error 涓嶈兘鐩存帴浠庢湇鍔″櫒鍙栵紝鍙兘鏍规嵁鐘舵�佺爜閫愪竴鍒ゆ柇 - if (stateCodeStr == "SUCCESS") - { - if (revertObj.ResponseData == null) - { - return; - } - + var requestObj = new SendDataToServer.LoginObj + { + Account = accountStr, + Password = passwordStr, + Source = CommonPage.Source, + Company = CommonPage.Company + }; + var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj); + var revertObj = await CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/Login", System.Text.Encoding.UTF8.GetBytes(requestJson)); + if (revertObj == null) + { + CommonPage.Instance.FailureToServer(); + CommonPage.Loading.Hide(); + return; + } + var stateCodeStr = revertObj.StateCode.ToUpper(); + //Error 涓嶈兘鐩存帴浠庢湇鍔″櫒鍙栵紝鍙兘鏍规嵁鐘舵�佺爜閫愪竴鍒ゆ柇 + if (stateCodeStr == "SUCCESS") + { + if (revertObj.ResponseData == null) + { + return; + } + HomePage.Instance.ShowLoginLoadView(); - new System.Threading.Thread(async () => - { - //瀛樺偍鏁版嵁 - var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginRes>(revertObj.ResponseData.ToString()); - var revertData = responseDataObj; - Config.ReFresh(); - Config.Instance.Account = revertData.Account; + new System.Threading.Thread(async () => + { + //瀛樺偍鏁版嵁 + var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginRes>(revertObj.ResponseData.ToString()); + var revertData = responseDataObj; + Config.ReFresh(); + //鏍囪涓婁竴娆℃槸涓嶆槸鍚屼竴涓处鍙风櫥闄� + UserCenter.UserCenterResourse.ResidenceOption.TheSameLoginAccount = Config.Instance.Guid == revertData.Guid; + Config.Instance.Account = revertData.Account; Config.Instance.Password = passwordStr; Config.Instance.MD5PWD = revertData.MD5PWD; - Config.Instance.Guid = revertData.Guid; - Config.Instance.LoginDateTime = DateTime.Now; - Config.Instance.LoginToken = revertData.Token; - if (Config.Instance.AccountList.Find((obj) => obj == revertData.Account) == null) - { - Config.Instance.AccountList.Add(revertData.Account); - } - Config.Instance.Save(); - - var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID(); - var homes = await House.GetHomeLists(); - //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼ + Config.Instance.Guid = revertData.Guid; + Config.Instance.LoginDateTime = DateTime.Now; + Config.Instance.LoginToken = revertData.Token; + Config.Instance.Save(); + + var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID(); + var homes = await House.GetHomeLists(); + //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼ await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread(); //鍚姩ZigBee - ZigBee.Common.Application.Init(); - - UserCenter.HdlRoomLogic.Current.InitAllRoom(); - Application.RunOnMainThread(() => - { - CommonPage.Loading.Hide(); - this.RemoveFromParent(); + ZigBee.Common.Application.Init(); + + UserCenter.HdlRoomLogic.Current.InitAllRoom(); + Application.RunOnMainThread(() => + { + CommonPage.Loading.Hide(); + this.RemoveFromParent(); CommonPage.Instance.RemoveViewByTag("Login"); - UserPage.Instance.Fresh(); - }); - }) - { IsBackground = true }.Start(); + UserPage.Instance.Fresh(); + }); + }) + { IsBackground = true }.Start(); + } + else if (stateCodeStr == "NOTVERIFY") + { + CommonPage.Loading.Hide(); + //鏈縺娲� + loginErrorBtn.TextID = R.MyInternationalizationString.NOTVERIFY; + } + else if (stateCodeStr == "NOTENABLE") + { + CommonPage.Loading.Hide(); + //璇ョ敤鎴峰睘浜庤皟璇曡处鍙凤紝骞舵湭鍚敤 + loginErrorBtn.TextID = R.MyInternationalizationString.NOTENABLE; + } + else if (stateCodeStr == "USERNAMEORPWDERROR") + { + CommonPage.Loading.Hide(); + //璐﹀彿鎴栧瘑鐮侀敊璇� + loginErrorBtn.TextID = R.MyInternationalizationString.USERNAMEORPWDERROR; + } + else if (stateCodeStr == "ACCOUNTNOEXISTS") + { + CommonPage.Loading.Hide(); + //璐﹀彿涓嶅瓨鍦� + loginErrorBtn.TextID = R.MyInternationalizationString.ACCOUNTNOEXISTS; + } + else if (stateCodeStr == "YOUDATANOISLOCALREGION") + { + CommonPage.Loading.Hide(); + //涓嶅湪鏈尯鍩燂紝闇�瑕侀噸瀹氬悜鍖哄煙鍚庡啀娆¤姹傜櫥褰� + if (revertObj.ResponseData == null) + { + return; + } + var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginLocalRegionRes>(revertObj.ResponseData.ToString()); + CommonPage.RequestHttpsHost = responseDataObj.RegionServer; + //鍐嶆鐧诲綍 + Login(accountStr, passwordStr); + } + else + { + loginErrorBtn.TextID = R.MyInternationalizationString.RequestServerFailed; } - else if (stateCodeStr == "NOTVERIFY") - { - CommonPage.Loading.Hide(); - //鏈縺娲� - loginErrorBtn.TextID = R.MyInternationalizationString.NOTVERIFY; - } - else if (stateCodeStr == "NOTENABLE") - { - CommonPage.Loading.Hide(); - //璇ョ敤鎴峰睘浜庤皟璇曡处鍙凤紝骞舵湭鍚敤 - loginErrorBtn.TextID = R.MyInternationalizationString.NOTENABLE; - } - else if (stateCodeStr == "USERNAMEORPWDERROR") - { - CommonPage.Loading.Hide(); - //璐﹀彿鎴栧瘑鐮侀敊璇� - loginErrorBtn.TextID = R.MyInternationalizationString.USERNAMEORPWDERROR; - } - else if (stateCodeStr == "ACCOUNTNOEXISTS") - { - CommonPage.Loading.Hide(); - //璐﹀彿涓嶅瓨鍦� - loginErrorBtn.TextID = R.MyInternationalizationString.ACCOUNTNOEXISTS; - } - else if (stateCodeStr == "YOUDATANOISLOCALREGION") - { - CommonPage.Loading.Hide(); - //涓嶅湪鏈尯鍩燂紝闇�瑕侀噸瀹氬悜鍖哄煙鍚庡啀娆¤姹傜櫥褰� - if (revertObj.ResponseData == null) - { - return; - } - var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginLocalRegionRes>(revertObj.ResponseData.ToString()); - CommonPage.RequestHttpsHost = responseDataObj.RegionServer; - //鍐嶆鐧诲綍 - Login(accountStr, passwordStr); - } - else - { - loginErrorBtn.TextID = R.MyInternationalizationString.RequestServerFailed; - } - } + } catch (Exception ex) { System.Console.WriteLine($"鐧诲綍澶辫触--{ex.Message}"); @@ -515,8 +520,13 @@ /// </summary> /// <param name="sender">Sender.</param> /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> - private void LoginByCode(object sender,MouseEventArgs mouseEventArgs) + private void LoginByCode(object sender, MouseEventArgs mouseEventArgs) { + //妫�娴嬮殣绉佸崗璁� + if (this.CheckPrivacyPolicy() == false) + { + return; + } //this.RemoveFromParent(); var loginByCodePage = new AccountLoginByCode(); CommonPage.Instance.AddChidren(loginByCodePage); @@ -529,66 +539,71 @@ /// <param name="sender"></param> /// <param name="mouseEventArgs"></param> private void LoginByWechat(object sender, MouseEventArgs mouseEventArgs) - { + { + //妫�娴嬮殣绉佸崗璁� + if (this.CheckPrivacyPolicy() == false) + { + return; + } #if Android - //var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), - // Language.StringByID(R.MyInternationalizationString.LoginByWechat), - // Language.StringByID(R.MyInternationalizationString.Cancel), - // Language.StringByID(R.MyInternationalizationString.Confrim)); - //alert.Show(); - //alert.ResultEventHandler += (send, e) => - //{ - //if (e) - //{ - com.hdl.home.Application.WXLogin(); - com.hdl.home.WXEntryActivity.RespAction = (authStr) => - { - if (authStr == null) - { - - } - else - { - new System.Threading.Thread(async () => - { - var re = await isBindAuthAsync(authStr); - if (re) - { - Application.RunOnMainThread(() => - { - //鐩存帴鐧诲綍 - HomePage.Instance.ShowLoginLoadView(); - }); - var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID(); - var homes = await House.GetHomeLists(); - //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼ - await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread(); - //鍚姩ZigBee - ZigBee.Common.Application.Init(); - UserCenter.HdlRoomLogic.Current.InitAllRoom(); - Application.RunOnMainThread(() => - { - this.RemoveFromParent(); - CommonPage.Instance.RemoveViewByTag("Login"); - UserPage.Instance.Fresh(); - }); - } - else - { - var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr); - Application.RunOnMainThread(() => - { - var registerPage = new AccountRegister(); - Shared.Common.CommonPage.Instance.AddChidren(registerPage); - registerPage.OpenID = authRes.openid; - registerPage.Show(); - }); - } - }) - { IsBackground = true }.Start(); - } - }; - //} + //var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), + // Language.StringByID(R.MyInternationalizationString.LoginByWechat), + // Language.StringByID(R.MyInternationalizationString.Cancel), + // Language.StringByID(R.MyInternationalizationString.Confrim)); + //alert.Show(); + //alert.ResultEventHandler += (send, e) => + //{ + //if (e) + //{ + com.hdl.home.Application.WXLogin(); + com.hdl.home.WXEntryActivity.RespAction = (authStr) => + { + if (authStr == null) + { + + } + else + { + new System.Threading.Thread(async () => + { + var re = await isBindAuthAsync(authStr); + if (re) + { + Application.RunOnMainThread(() => + { + //鐩存帴鐧诲綍 + HomePage.Instance.ShowLoginLoadView(); + }); + var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID(); + var homes = await House.GetHomeLists(); + //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼ + await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread(); + //鍚姩ZigBee + ZigBee.Common.Application.Init(); + UserCenter.HdlRoomLogic.Current.InitAllRoom(); + Application.RunOnMainThread(() => + { + this.RemoveFromParent(); + CommonPage.Instance.RemoveViewByTag("Login"); + UserPage.Instance.Fresh(); + }); + } + else + { + var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr); + Application.RunOnMainThread(() => + { + var registerPage = new AccountRegister(); + Shared.Common.CommonPage.Instance.AddChidren(registerPage); + registerPage.OpenID = authRes.openid; + registerPage.Show(); + }); + } + }) + { IsBackground = true }.Start(); + } + }; + //} //}; #endif @@ -618,7 +633,7 @@ ZigBee.Common.Application.Init(); //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼ await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread(); - Shared.Common.Room.InitAllRoom(); + UserCenter.HdlRoomLogic.Current.InitAllRoom(); Application.RunOnMainThread(() => { this.RemoveFromParent(); @@ -657,6 +672,1012 @@ } /// <summary> + /// phone/email 閫夋嫨 + /// </summary> + /// <param name="sender"></param> + /// <param name="mouseEventArgs"></param> + private void SelectPhoneOrEmail_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs) + { + phoneEmailForm.SelectedPhone.IsSelected = phoneEmailForm.SelectedEmail.IsSelected = false; + phoneEmailForm.SelectedPhone.IsBold = phoneEmailForm.SelectedEmail.IsBold = false; + loginBtn.Enable = loginBtn.IsSelected = false; + loginErrorBtn.Text = string.Empty; + (sender as Button).IsSelected = (sender as Button).IsBold = true; + if ((sender as Button).Tag.ToString() == "Phone") + { + AddPhoneOrEmailFL(accountPwdFL, "Phone"); + } + else + { + AddPhoneOrEmailFL(accountPwdFL, "Email"); + } + } + /// <summary> + /// AddPhoneOrEmailFL + /// </summary> + /// <param name="accountPwdFrameLayout"></param> + /// <param name="phoneOrEmail"></param> + private void AddPhoneOrEmailFL(FrameLayout accountPwdFrameLayout, string phoneOrEmail) + { + if (phoneOrEmail == "Phone") + { + if (phoneRow != null) + { + phoneRow.Visible = true; + phonePwdRow.Visible = true; + if (emailRow != null) + { + emailRow.Visible = false; + emailPwdRow.Visible = false; + } + this.Pwd_TextChange(phonePwdRow); + return; + } + phoneRow = new PhoneLoginRowForm(); + phoneRow.Init(accountPwdFrameLayout, this, this.oldInputPhone, 29, 29); + phoneRow.AccountET.TextChangeEventHandler += Account_TextChange; + + phonePwdRow = new PwdLoginRowForm(); + phonePwdRow.Init(accountPwdFrameLayout, 29, 225); + phonePwdRow.PasswrodET.TextChangeEventHandler += (sender, e) => + { + this.Pwd_TextChange(phonePwdRow); + }; + } + else + { + if (emailRow != null) + { + emailRow.Visible = true; + emailPwdRow.Visible = true; + if (phoneRow != null) + { + phoneRow.Visible = false; + phonePwdRow.Visible = false; + } + this.Pwd_TextChange(emailPwdRow); + return; + } + emailRow = new EmailLoginRowForm(); + emailRow.Init(accountPwdFrameLayout, this.oldInputEmail, 29, 29); + emailRow.AccountET.TextChangeEventHandler += Account_TextChange; + + emailPwdRow = new PwdLoginRowForm(); + emailPwdRow.Init(accountPwdFrameLayout, 29, 225); + emailPwdRow.PasswrodET.TextChangeEventHandler += (sender, e) => + { + this.Pwd_TextChange(emailPwdRow); + }; + } + } + #endregion + + + #region 鈼� 蹇樿瀵嗙爜________________________ + /// <summary> + /// 蹇樿瀵嗙爜 + /// </summary> + private void ForgetPWD_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs) + { + //妫�娴嬮殣绉佸崗璁� + if (this.CheckPrivacyPolicy() == false) + { + return; + } + var forgot = new AccountForgetPWD(); + CommonPage.Instance.AddChidren(forgot); + forgot.Show(); + } + + #endregion + + #region 鈼� 娉ㄥ唽_____________________________ + + /// <summary> + /// 娉ㄥ唽 + /// </summary> + /// <param name="sender">Sender.</param> + /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> + private void Register(object sender, MouseEventArgs mouseEventArgs) + { + //妫�娴嬮殣绉佸崗璁� + if (this.CheckPrivacyPolicy() == false) + { + return; + } + var registerPage = new AccountRegister(); + CommonPage.Instance.AddChidren(registerPage); + registerPage.Show(); + } + + #endregion + + #region 鈼� 璐﹀彿瀵嗙爜鐩戝惉______________________ + /// <summary> + /// 璐﹀彿鐩戝惉 + /// </summary> + /// <param name="sender">Sender.</param> + /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> + private void Account_TextChange(object sender, string mouseEventArgs) + { + loginErrorBtn.Text = string.Empty; + } + + /// <summary> + /// 瀵嗙爜鐩戝惉浜嬩欢 + /// </summary> + /// <param name="pwdRow">Sender.</param> + private void Pwd_TextChange(PwdLoginRowForm pwdRow) + { + loginErrorBtn.Text = string.Empty; + string pswText = pwdRow.PasswrodET.Text.Trim(); + if (1 <= pswText.Length && pswText.Length <= 16 && (phoneRow.AccountET.Text.Trim().Length > 0 || emailRow?.AccountET.Text.Trim().Length > 0)) + { + loginBtn.Enable = loginBtn.IsSelected = true; + } + else if (pswText.Length > 16) + { + pwdRow.PasswrodET.Text = pswText.Substring(0, 16); + if (phoneRow.AccountET.Text.Trim().Length > 0 || emailRow?.AccountET.Text.Trim().Length > 0) + { + loginBtn.Enable = loginBtn.IsSelected = true; + } + } + else + { + loginBtn.Enable = loginBtn.IsSelected = false; + } + } + + + #endregion + + + + + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 閿欒鎻愮ず鎺т欢 + /// </summary> + private NormalViewControl btnErrorMsg = null; + /// <summary> + /// 鏄惁鍚屾剰闅愮鍗忚 + /// </summary> + private bool isAgreePrivacyPolicy = true; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐣岄潰鏄剧ず + /// </summary> + /// <param name="account">鐧婚檰璐﹀彿</param> + public void ShowForm(string account = "") + { + if (Config.Instance.IsLogin == true) + { + return; + } + CommonPage.Instance.IsDrawerLockMode = true; + this.Tag = "Login"; + + //鐣岄潰涓婇儴鐨勯粦鑹插浘鐗� + var btnTopBlackPic = new NormalViewControl(this.Width, Application.GetRealHeight(619), false); + btnTopBlackPic.UnSelectedImagePath = "Account/Logo_loginBG.png"; + this.AddChidren(btnTopBlackPic); + + //涓棿娴呯櫧鑹茬殑鑳屾櫙 + var frameMidBack = new FrameLayout(); + frameMidBack.Y = btnTopBlackPic.Bottom; + frameMidBack.Height = this.Height - btnTopBlackPic.Bottom; + frameMidBack.BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor; + this.AddChidren(frameMidBack); + + //HdlHome鐨勫浘鏍� + var btnLogoIcon = new PicViewControl(184, 184); + btnLogoIcon.Y = Application.GetRealHeight(230); + btnLogoIcon.UnSelectedImagePath = "Account/Logo_White.png"; + btnLogoIcon.Gravity = Gravity.CenterHorizontal; + this.AddChidren(btnLogoIcon); + //Hdl Home + var btnLogoName = new NormalViewControl(300, 69, true); + btnLogoName.Y = btnLogoIcon.Bottom; + btnLogoName.Gravity = Gravity.CenterHorizontal; + btnLogoName.TextID = R.MyInternationalizationString.AppName; + btnLogoName.TextColor = ZigbeeColor.Current.GXCTextWhiteColor; + btnLogoName.TextAlignment = TextAlignment.Center; + btnLogoName.TextSize = 16; + this.AddChidren(btnLogoName); + + //1:鎵嬫満鍙� 2锛氶偖绠� + int selectIndex = account.Contains("@") == false ? 1 : 2; + + //鍒濆鍖� 鎵嬫満璐﹀彿鐧婚檰绐楀彛 + var frameAccLoginPhoneback = this.InitAccoutLoginWindow(frameMidBack, selectIndex == 1 ? account : string.Empty, 1); + //鍒濆鍖� 閭璐﹀彿鐧婚檰绐楀彛 + var frameEmailLoginPhoneback = this.InitAccoutLoginWindow(frameMidBack, selectIndex == 1 ? string.Empty : account, 2); + //鍒濆鍖� 鎵嬫満璐﹀彿楠岃瘉鐮佺櫥闄嗙獥鍙� + var frameAccCodeLoginPhoneback = this.InitCodeLoginWindow(frameMidBack, selectIndex == 1 ? account : string.Empty, 1); + //鍒濆鍖� 閭璐﹀彿楠岃瘉鐮佺櫥闄嗙獥鍙� + var frameEmailCodeLoginPhoneback = this.InitCodeLoginWindow(frameMidBack, selectIndex == 1 ? string.Empty : account, 2); + + //瀹氫箟杩欎袱涓笢瑗�,鏄负浜嗗噺灏戝垽鏂殑浠g爜 + var framePhone = frameAccLoginPhoneback; + var frameEmail = frameEmailLoginPhoneback; + + //閭,鎵嬫満鍙风殑鍒囨崲鎺т欢 + var sitchControl = new Controls.PhoneEmailSelectControl(); + sitchControl.Y = Application.GetRealHeight(559); + this.AddChidren(sitchControl); + sitchControl.SelectMenuEvent += (selectMenu) => + { + selectIndex = selectMenu; + //鎵嬫満鍙� + if (selectIndex == 1) + { + framePhone.Visible = true; + frameEmail.Visible = false; + } + //閭 + else if (selectIndex == 2) + { + framePhone.Visible = false; + frameEmail.Visible = true; + } + }; + //鎵ц鍒濆鍖� + sitchControl.InitControl(ZigbeeColor.Current.GXCButtonSelectedColor, selectIndex); + + //閿欒鎻愮ず鎺т欢 + this.btnErrorMsg = new NormalViewControl(700, 60, true); + btnErrorMsg.Y = frameAccLoginPhoneback.Y - Application.GetRealHeight(60 + 3); + btnErrorMsg.X = Application.GetRealWidth(288); + btnErrorMsg.TextColor = ZigbeeColor.Current.GXCTextRed; + btnErrorMsg.IsBold = true; + frameMidBack.AddChidren(btnErrorMsg); + + //楠岃瘉鐮佺櫥闄� + //1:璐﹀彿鐧婚檰 2:楠岃瘉鐮佺櫥闄� + int codeDiv = 1; + var btnLoginByCode = new NormalViewControl(300, 100, true); + btnLoginByCode.X = Application.GetRealWidth(98); + btnLoginByCode.Y = frameAccLoginPhoneback.Bottom + Application.GetRealHeight(21); + btnLoginByCode.TextID = R.MyInternationalizationString.LoginByCode; + btnLoginByCode.TextColor = UserCenterColor.Current.TextGrayColor3; + btnLoginByCode.TextSize = 12; + frameMidBack.AddChidren(btnLoginByCode); + btnLoginByCode.ButtonClickEvent += (sender, e) => + { + if (codeDiv == 1) + { + //楠岃瘉鐮佺櫥闄� + codeDiv = 2; + btnLoginByCode.TextID = R.MyInternationalizationString.LoginByAccountPWD; //璐﹀彿鐧婚檰 + //璐﹀彿鐧婚檰鐨勪袱涓笢瑗块殣钘� + frameAccLoginPhoneback.Visible = false; + frameEmailLoginPhoneback.Visible = false; + //鏇挎崲杩欎袱涓笢瑗� + framePhone = frameAccCodeLoginPhoneback; + frameEmail = frameEmailCodeLoginPhoneback; + } + else + { + //璐﹀彿鐧婚檰 + codeDiv = 1; + btnLoginByCode.TextID = R.MyInternationalizationString.LoginByCode;//楠岃瘉鐮佺櫥闄� + //楠岃瘉鐮佺櫥闄嗙殑涓や釜涓滆タ闅愯棌 + frameAccCodeLoginPhoneback.Visible = false; + frameEmailCodeLoginPhoneback.Visible = false; + //鏇挎崲杩欎袱涓笢瑗� + framePhone = frameAccLoginPhoneback; + frameEmail = frameEmailLoginPhoneback; + } + //鍒锋柊鑿滃崟 + sitchControl.SetSelectIndex(1); + }; + + //娉ㄥ唽鐢ㄦ埛 + var btnRegister = new NormalViewControl(244, 100, true); + btnRegister.Y = btnLoginByCode.Y; + btnRegister.X = frameMidBack.Width - Application.GetRealWidth(98 + 244); + btnRegister.TextID = R.MyInternationalizationString.Register; + btnRegister.TextColor = UserCenterColor.Current.TextGrayColor3; + btnRegister.TextSize = 12; + btnRegister.TextAlignment = TextAlignment.CenterRight; + frameMidBack.AddChidren(btnRegister); + btnRegister.ButtonClickEvent += (sender, e) => + { + var registerPage = new AccountRegister(); + CommonPage.Instance.AddChidren(registerPage); + registerPage.Show(); + }; + + //寰俊鍥炬爣 + var btnWebChat = new IconViewControl(115); + btnWebChat.Y = frameMidBack.Height - Application.GetRealHeight(69) - btnWebChat.IconSize; + btnWebChat.UnSelectedImagePath = "Account/Wechat.png"; + btnWebChat.Gravity = Gravity.CenterHorizontal; + frameMidBack.AddChidren(btnWebChat); + btnWebChat.ButtonClickEvent += (sender, e) => + { + //寰俊鐧婚檰 + this.LoginByWechat(); + }; + + //娣诲姞鏈嶅姟鍗忚鎺т欢 + // this.AddServiceAgreementControl(frameMidBack); + } + + #endregion + + #region 鈻� 鍒濆鍖栬处鍙风櫥闄嗙獥鍙________________ + + /// <summary> + /// 鍒濆鍖栬处鍙风櫥闄嗙獥鍙� + /// </summary> + /// <param name="frameMidBack">涓棿娴呰壊鐨勮儗鏅鍣�</param> + /// <param name="i_account">鐧婚檰璐﹀彿</param> + /// <param name="i_div">1:鎵嬫満鍙� 2:閭</param> + private FrameLayout InitAccoutLoginWindow(FrameLayout frameMidBack, string i_account, int i_div) + { + //鐧婚檰鎸夐挳 + BottomClickButton btnLogin = null; + //璐﹀彿杈撳叆妗� + TextInputControl txtAccount = null; + //瀵嗙爜杈撳叆妗� + TextInputControl txtPsw = null; + //瀹瑰櫒 + var frameBack = new FrameLayout(); + frameBack.Height = Application.GetRealHeight(620); + frameBack.Y = Application.GetRealHeight(181); + frameMidBack.AddChidren(frameBack); + frameBack.Visible = false; + //鐧借壊鑳屾櫙 + var frameWhiteBack = new FrameLayout(); + frameWhiteBack.Width = Application.GetRealWidth(942); + frameWhiteBack.Height = Application.GetRealHeight(553); + frameWhiteBack.BackgroundColor = UserCenterColor.Current.White; + frameWhiteBack.Radius = (uint)Application.GetRealHeight(17); + frameWhiteBack.Gravity = Gravity.CenterHorizontal; + frameBack.AddChidren(frameWhiteBack); + + //璐﹀彿琛� + var rowAccount = new FrameLayout(); + rowAccount.Y = Application.GetRealHeight(29); + rowAccount.Width = Application.GetRealWidth(884); + rowAccount.Height = Application.GetRealHeight(138); + rowAccount.Gravity = Gravity.CenterHorizontal; + frameWhiteBack.AddChidren(rowAccount); + //璐﹀彿鍥炬爣 + var btnAccountIcon = new IconViewControl(92); + btnAccountIcon.X = Application.GetRealWidth(69); + btnAccountIcon.Gravity = Gravity.CenterVertical; + btnAccountIcon.UnSelectedImagePath = "Account/Account.png"; + rowAccount.AddChidren(btnAccountIcon); + //璐﹀彿杈撳叆妗� + txtAccount = new TextInputControl(600, 92, true); + txtAccount.X = btnAccountIcon.Right + Application.GetRealWidth(35); + txtAccount.Gravity = Gravity.CenterVertical; + if (i_div == 1) + { + //鎵嬫満鍙� + txtAccount.IsNumberKeyboardType = true; + txtAccount.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputPhoneNum); + } + else + { + //閭 + txtAccount.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputEmail); + } + txtAccount.PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor; + txtAccount.Text = i_account; + rowAccount.AddChidren(txtAccount); + txtAccount.TextChangeEventHandler += (sender, e) => + { + //闅愯棌閿欒鎻愮ず + if (this.btnErrorMsg.Visible == true) + { + this.btnErrorMsg.Visible = false; + } + if (txtAccount.Text.Trim().Length > 0 && txtPsw.Text.Length > 0) + { + //鑳藉鐧婚檰 + if (btnLogin.CanClick == false) { btnLogin.CanClick = true; } + return; + } + //涓嶈兘鐐瑰嚮 + if (btnLogin.CanClick == true) { btnLogin.CanClick = false; } + }; + + //搴曠嚎 + var btnAccountLine = new NormalViewControl(rowAccount.Width, 1, false); + btnAccountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor; + btnAccountLine.Y = rowAccount.Height - 2; + rowAccount.AddChidren(btnAccountLine); + txtAccount.FoucsChanged += (sender, focusEvent) => + { + //鐒︾偣杩涘叆鏃�,搴曠嚎棰滆壊鍙樻洿 + if (focusEvent.Focus) + { + btnAccountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor; + btnAccountLine.Height = 2; + } + else + { + btnAccountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor; + btnAccountLine.Height = 1; + } + }; + + //瀵嗙爜琛� + var rowPassword = new FrameLayout(); + rowPassword.Y = rowAccount.Bottom + Application.GetRealHeight(58); + rowPassword.Width = rowAccount.Width; + rowPassword.Height = rowAccount.Height; + rowPassword.Gravity = Gravity.CenterHorizontal; + frameWhiteBack.AddChidren(rowPassword); + //璐﹀彿鍥炬爣 + var btnPswIcon = new IconViewControl(92); + btnPswIcon.X = btnAccountIcon.X; + btnPswIcon.Gravity = Gravity.CenterVertical; + btnPswIcon.UnSelectedImagePath = "Account/Password.png"; + rowPassword.AddChidren(btnPswIcon); + //瀵嗙爜杈撳叆妗� + txtPsw = new TextInputControl(600, 92, true); + txtPsw.X = txtAccount.X; + txtPsw.Gravity = Gravity.CenterVertical; + txtPsw.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputPWD); + txtPsw.PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor; + txtPsw.SecureTextEntry = true; + rowPassword.AddChidren(txtPsw); + txtPsw.TextChangeEventHandler += (sender, e) => + { + txtAccount.TextChangeEventHandler(sender, e); + }; + //闅愯棌鎴栬�呮樉绀哄瘑鐮佺殑鍥炬爣 + var btnHiden = new IconViewControl(92); + btnHiden.X = rowPassword.Width - Application.GetRealWidth(46) - btnHiden.IconSize; + btnHiden.SelectedImagePath = "Account/UnhidePwd.png"; + btnHiden.UnSelectedImagePath = "Account/HidePwd.png"; + btnHiden.Gravity = Gravity.CenterVertical; + rowPassword.AddChidren(btnHiden); + btnHiden.ButtonClickEvent += (sender, e) => + { + txtPsw.SecureTextEntry = !txtPsw.SecureTextEntry; + btnHiden.IsSelected = !btnHiden.IsSelected; + }; + + //搴曠嚎 + var btnPswLine = new NormalViewControl(rowPassword.Width, 1, false); + btnPswLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor; + btnPswLine.Y = rowPassword.Height - 2; + rowPassword.AddChidren(btnPswLine); + txtPsw.FoucsChanged += (sender, focusEvent) => + { + //鐒︾偣杩涘叆鏃�,搴曠嚎棰滆壊鍙樻洿 + if (focusEvent.Focus) + { + btnPswLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor; + btnPswLine.Height = 2; + } + else + { + btnPswLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor; + btnPswLine.Height = 1; + } + }; + + //蹇樿瀵嗙爜? + var btnForgot = new NormalViewControl(250, 90, true); + btnForgot.Y = rowPassword.Bottom + Application.GetRealHeight(15); + btnForgot.X = frameWhiteBack.Width - Application.GetRealWidth(250 + 35); + btnForgot.TextSize = 12; + btnForgot.TextColor = UserCenterColor.Current.TextGrayColor3; + btnForgot.TextAlignment = TextAlignment.CenterRight; + btnForgot.TextID = R.MyInternationalizationString.ForgotPWD_1; + frameWhiteBack.AddChidren(btnForgot); + btnForgot.ButtonClickEvent += (sender, e) => + { + var forgot = new AccountForgetPWD(); + CommonPage.Instance.AddChidren(forgot); + forgot.Show(); + }; + + //鐧婚檰鎸夐挳 + btnLogin = new BottomClickButton(688); + btnLogin.Gravity = Gravity.BottomCenter; + btnLogin.TextID = R.MyInternationalizationString.Login; + btnLogin.oldBackgroundColor = btnLogin.BackgroundColor; + frameBack.AddChidren(btnLogin); + btnLogin.CanClick = false; + btnLogin.ButtonClickEvent += (sender, e) => + { + //璐﹀彿瀵嗙爜鐧婚檰 + this.LoginByAccountAndPsw(txtAccount.Text.Trim(), txtPsw.Text, i_div); + }; + + return frameBack; + } + + #endregion + + #region 鈻� 鍒濆鍖栭獙璇佺爜鐧婚檰绐楀彛_______________ + + /// <summary> + /// 鍒濆鍖栭獙璇佺爜鐧婚檰绐楀彛 + /// </summary> + /// <param name="frameMidBack">涓棿娴呰壊鐨勮儗鏅鍣�</param> + /// <param name="i_account">鐧婚檰璐﹀彿</param> + /// <param name="i_div">1:鎵嬫満鍙� 2:閭</param> + private FrameLayout InitCodeLoginWindow(FrameLayout frameMidBack, string i_account, int i_div) + { + //鐧婚檰鎸夐挳 + BottomClickButton btnLogin = null; + //璐﹀彿杈撳叆妗� + TextInputControl txtAccount = null; + //瀵嗙爜杈撳叆妗� + TextInputControl txtVerCode = null; + //褰撳墠杈撳叆鐨勮处鍙�(闃叉鍙戦�侀獙璇佺爜涔嬪悗,淇敼璐﹀彿) + string nowInputAccount = string.Empty; + //鏄惁宸茬粡鍙戦�佷簡楠岃瘉鐮� + bool hadSendCode = false; + + //瀹瑰櫒 + var frameBack = new FrameLayout(); + frameBack.Height = Application.GetRealHeight(620); + frameBack.Y = Application.GetRealHeight(181); + frameMidBack.AddChidren(frameBack); + frameBack.Visible = false; + //鐧借壊鑳屾櫙 + var frameWhiteBack = new FrameLayout(); + frameWhiteBack.Width = Application.GetRealWidth(942); + frameWhiteBack.Height = Application.GetRealHeight(553); + frameWhiteBack.BackgroundColor = UserCenterColor.Current.White; + frameWhiteBack.Radius = (uint)Application.GetRealHeight(17); + frameWhiteBack.Gravity = Gravity.CenterHorizontal; + frameBack.AddChidren(frameWhiteBack); + + //璐﹀彿琛� + var rowAccount = new FrameLayout(); + rowAccount.Y = Application.GetRealHeight(29); + rowAccount.Width = Application.GetRealWidth(884); + rowAccount.Height = Application.GetRealHeight(138); + rowAccount.Gravity = Gravity.CenterHorizontal; + frameWhiteBack.AddChidren(rowAccount); + if (i_div == 2) + { + //璐﹀彿鍥炬爣 + var btnAccountIcon = new IconViewControl(92); + btnAccountIcon.X = Application.GetRealWidth(69); + btnAccountIcon.Gravity = Gravity.CenterVertical; + btnAccountIcon.UnSelectedImagePath = "Account/Account.png"; + rowAccount.AddChidren(btnAccountIcon); + } + else + { + //鍦板尯鐮� + var btnArea = new NormalViewControl(139, 60, true); + btnArea.TextColor = UserCenterColor.Current.TextGrayColor1; + btnArea.TextAlignment = TextAlignment.CenterRight; + btnArea.Text = "+86"; + btnArea.Gravity = Gravity.CenterVertical; + rowAccount.AddChidren(btnArea); + } + //璐﹀彿杈撳叆妗� + txtAccount = new TextInputControl(600, 92, true); + txtAccount.X = Application.GetRealWidth(193); + txtAccount.Gravity = Gravity.CenterVertical; + if (i_div == 1) + { + //鎵嬫満鍙� + txtAccount.IsNumberKeyboardType = true; + txtAccount.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputPhoneNum); + } + else + { + //閭 + txtAccount.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputEmail); + } + txtAccount.PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor; + txtAccount.Text = i_account; + rowAccount.AddChidren(txtAccount); + txtAccount.TextChangeEventHandler += (sender, e) => + { + //闅愯棌閿欒鎻愮ず + if (this.btnErrorMsg.Visible == true) + { + this.btnErrorMsg.Visible = false; + } + //蹇呴』瑕佸彂閫佹垚鍔熸墠琛� + if (hadSendCode = true && txtAccount.Text.Trim().Length > 0 && txtVerCode.Text.Length > 0) + { + //鑳藉鐧婚檰 + if (btnLogin.CanClick == false) { btnLogin.CanClick = true; } + return; + } + //涓嶈兘鐐瑰嚮 + if (btnLogin.CanClick == true) { btnLogin.CanClick = false; } + }; + //搴曠嚎 + var btnAccountLine = new NormalViewControl(rowAccount.Width, 1, false); + btnAccountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor; + btnAccountLine.Y = rowAccount.Height - 2; + rowAccount.AddChidren(btnAccountLine); + txtAccount.FoucsChanged += (sender, focusEvent) => + { + //鐒︾偣杩涘叆鏃�,搴曠嚎棰滆壊鍙樻洿 + if (focusEvent.Focus) + { + btnAccountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor; + btnAccountLine.Height = 2; + } + else + { + btnAccountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor; + btnAccountLine.Height = 1; + } + }; + + //楠岃瘉鐮佽 + var rowVerCode = new FrameLayout(); + rowVerCode.Y = rowAccount.Bottom + Application.GetRealHeight(58); + rowVerCode.Width = rowAccount.Width; + rowVerCode.Height = rowAccount.Height; + rowVerCode.Gravity = Gravity.CenterHorizontal; + frameWhiteBack.AddChidren(rowVerCode); + //璐﹀彿鍥炬爣 + var btnCodeIcon = new IconViewControl(92); + btnCodeIcon.X = Application.GetRealWidth(69); + btnCodeIcon.Gravity = Gravity.CenterVertical; + btnCodeIcon.UnSelectedImagePath = "Account/Code.png"; + rowVerCode.AddChidren(btnCodeIcon); + //楠岃瘉鐮佽緭鍏ユ + txtVerCode = new TextInputControl(350, 92, true); + txtVerCode.X = btnCodeIcon.Right + Application.GetRealWidth(35); + txtVerCode.Gravity = Gravity.CenterVertical; + txtVerCode.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputVerificationCode); + txtVerCode.PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor; + txtVerCode.SecureTextEntry = true; + rowVerCode.AddChidren(txtVerCode); + txtVerCode.TextChangeEventHandler += (sender, e) => + { + txtAccount.TextChangeEventHandler(sender, e); + }; + //绔栫嚎 + var btnLine2 = new NormalViewControl(1, Application.GetRealHeight(66), false); + btnLine2.X = Application.GetRealWidth(611); + btnLine2.Gravity = Gravity.CenterVertical; + btnLine2.BackgroundColor = ZigbeeColor.Current.GXCLineColor; + rowVerCode.AddChidren(btnLine2); + //鑾峰彇楠岃瘉鐮� + var btnSendCode = new NormalViewControl(250, 70, true); + btnSendCode.X = btnLine2.Right + Application.GetRealWidth(36); + btnSendCode.Gravity = Gravity.CenterVertical; + btnSendCode.TextID = R.MyInternationalizationString.SendVerificationCode; + btnSendCode.TextColor = UserCenterColor.Current.TextGrayColor3; + btnSendCode.TextAlignment = TextAlignment.Center; + btnSendCode.IsBold = true; + rowVerCode.AddChidren(btnSendCode); + btnSendCode.ButtonClickEvent += async (sender, e) => + { + //妫�娴嬭緭鍏ョ殑璐﹀彿 + nowInputAccount = txtAccount.Text.Trim(); + if (this.CheckInputAccount("86", nowInputAccount, i_div) == false) + { + return; + } + //鍙戦�侀獙璇佺爜 + hadSendCode = await this.SendVerCode(btnSendCode, nowInputAccount, i_div); + }; + + //搴曠嚎 + var btnCodeLine = new NormalViewControl(rowVerCode.Width, 1, false); + btnCodeLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor; + btnCodeLine.Y = rowVerCode.Height - 2; + rowVerCode.AddChidren(btnCodeLine); + txtVerCode.FoucsChanged += (sender, focusEvent) => + { + //鐒︾偣杩涘叆鏃�,搴曠嚎棰滆壊鍙樻洿 + if (focusEvent.Focus) + { + btnCodeLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor; + btnCodeLine.Height = 2; + } + else + { + btnCodeLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor; + btnCodeLine.Height = 1; + } + }; + + //蹇樿瀵嗙爜? + var btnForgot = new NormalViewControl(250, 90, true); + btnForgot.Y = rowVerCode.Bottom + Application.GetRealHeight(15); + btnForgot.X = frameWhiteBack.Width - Application.GetRealWidth(250 + 35); + btnForgot.TextSize = 12; + btnForgot.TextColor = UserCenterColor.Current.TextGrayColor3; + btnForgot.TextAlignment = TextAlignment.CenterRight; + btnForgot.TextID = R.MyInternationalizationString.ForgotPWD_1; + frameWhiteBack.AddChidren(btnForgot); + btnForgot.ButtonClickEvent += (sender, e) => + { + var forgot = new AccountForgetPWD(); + CommonPage.Instance.AddChidren(forgot); + forgot.Show(); + }; + + //鐧婚檰鎸夐挳 + btnLogin = new BottomClickButton(688); + btnLogin.Gravity = Gravity.BottomCenter; + btnLogin.TextID = R.MyInternationalizationString.Login; + btnLogin.oldBackgroundColor = btnLogin.BackgroundColor; + frameBack.AddChidren(btnLogin); + btnLogin.CanClick = false; + btnLogin.ButtonClickEvent += (sender, e) => + { + //楠岃瘉鐮佺櫥闄� + this.LoginByVerCode(nowInputAccount, txtVerCode.Text.Trim(), i_div); + }; + return frameBack; + } + + #endregion + + #region 鈻� 鏈嶅姟鍗忚___________________________ + + /// <summary> + /// 娣诲姞鏈嶅姟鍗忚鎺т欢 + /// </summary> + /// <param name="frameBack"></param> + private void AddServiceAgreementControl(FrameLayout frameBack) + { + var frameRow = new FrameLayout(); + frameRow.Height = Application.GetMinRealAverage(110); + frameRow.Y = Application.GetRealHeight(959); + frameRow.Gravity = Gravity.CenterHorizontal; + + //瀛椾綋鎬诲搴� + int fontWidth = 0; + int btnWidth = 0; +#if Android + //鐗规畩鐨勮宸�� + int speceilValue = Application.GetRealWidth(20); +#endif +#if iOS + //鐗规畩鐨勮宸�� + int speceilValue = Application.GetRealWidth(10); +#endif + //鎴戝凡闃呰骞跺悓鎰� + var btnMsg1 = new NormalViewControl(100, 90, true); + btnMsg1.Gravity = Gravity.CenterVertical; + btnMsg1.Y = Application.GetRealHeight(968); + btnMsg1.TextSize = 12; + btnMsg1.TextColor = UserCenterColor.Current.TextGrayColor1; + btnMsg1.TextID = R.MyInternationalizationString.uMyHadReadAndAgree; + //璁$畻鐪熷疄瀹藉害 + btnWidth = btnMsg1.GetRealWidthByText(); + btnMsg1.Width = btnWidth; + fontWidth += btnWidth; + + //銆婇殣绉佹潈鏀跨瓥銆� + var btnMsg2 = new NormalViewControl(100, 90, true); + btnMsg2.Gravity = Gravity.CenterVertical; + btnMsg2.TextSize = 12; + btnMsg2.TextColor = 0xFF4A90E2; + btnMsg2.Text = "銆�" + Language.StringByID(R.MyInternationalizationString.uPrivacyPolicy) + "銆�"; + //璁$畻鐪熷疄瀹藉害 + btnWidth = btnMsg2.GetRealWidthByText(); + btnMsg2.Width = btnWidth; + fontWidth += btnWidth; + btnMsg2.ButtonClickEvent += (sender, e) => + { + var form = new UserCenter.Abount.SLAForm(); + this.AddChidren(form); + form.InitTopFrameLayout(); + form.InitBodyFrameLayout(); + form.ShowForm(); + }; + + //鍜� + var btnMsg3 = new NormalViewControl(100, 90, true); + btnMsg3.Gravity = Gravity.CenterVertical; + btnMsg3.TextSize = 12; + btnMsg3.TextColor = UserCenterColor.Current.TextGrayColor1; + btnMsg3.TextID = R.MyInternationalizationString.uAnd; + //璁$畻鐪熷疄瀹藉害 + btnWidth = btnMsg3.GetRealWidthByText(); + btnMsg3.Width = btnWidth; + fontWidth += btnWidth; + + //銆婃湇鍔℃潯娆俱�� + var btnMsg4 = new NormalViewControl(100, 90, true); + btnMsg4.Gravity = Gravity.CenterVertical; + btnMsg4.TextSize = 12; + btnMsg4.TextColor = 0xFF4A90E2; + btnMsg4.Text = "銆�" + Language.StringByID(R.MyInternationalizationString.uTermsOfService) + "銆�"; + //璁$畻鐪熷疄瀹藉害 + btnWidth = btnMsg4.GetRealWidthByText(); + btnMsg4.Width = btnWidth; + fontWidth += btnWidth; + btnMsg4.ButtonClickEvent += (sender, e) => + { + btnMsg2.ButtonClickEvent(null, null); + }; + + //鍥炬爣 + var btnIcon = new IconBigViewControl(42, 42); + btnIcon.UnSelectedImagePath = "Item/Check1.png"; + btnIcon.SelectedImagePath = "Item/Check1Selected.png"; + + //璁$畻琛屾帶浠剁殑瀹藉害 + frameRow.Width = fontWidth + Application.GetMinRealAverage(42) + Application.GetRealWidth(23) - speceilValue * 3; + frameBack.AddChidren(frameRow); + + //鍥炬爣鎺т欢鍒濆鍖� + frameRow.AddChidren(btnIcon); + btnIcon.InitControl(); + btnIcon.X = -btnIcon.XOffset; + btnIcon.UseClickStatu = false; + btnIcon.ButtonClickEvent += (sender, e) => + { + btnIcon.IsSelected = !btnIcon.IsSelected; + isAgreePrivacyPolicy = btnIcon.IsSelected; + }; + + btnMsg1.X = btnIcon.btnIcon.Width + Application.GetRealWidth(23); + frameRow.AddChidren(btnMsg1); + btnMsg2.Y = btnMsg1.Y; + btnMsg2.X = btnMsg1.Right - speceilValue; + frameRow.AddChidren(btnMsg2); + btnMsg3.X = btnMsg2.Right - speceilValue; + btnMsg3.Y = btnMsg1.Y; + frameRow.AddChidren(btnMsg3); + btnMsg4.X = btnMsg3.Right - speceilValue; + btnMsg4.Y = btnMsg1.Y; + frameRow.AddChidren(btnMsg4); + } + + #endregion + + #region 鈻� 璐﹀彿瀵嗙爜鐧婚檰_______________________ + + /// <summary> + /// 璐﹀彿瀵嗙爜鐧婚檰 + /// </summary> + /// <param name="i_account">璐﹀彿</param> + /// <param name="i_psw">瀵嗙爜</param> + /// <param name="i_div">1:鎵嬫満鍙� 2:閭</param> + private void LoginByAccountAndPsw(string i_account, string i_psw, int i_div) + { + //妫�娴嬭处鍙� + if (this.CheckInputAccount(string.Empty, i_account, i_div) == false) + { + return; + } + + //鐧婚檰涓�.... + CommonPage.Loading.Start(Language.StringByID(R.MyInternationalizationString.Logining)); + + HdlThreadLogic.Current.RunThread(async () => + { + //鐧婚檰鍙傛暟 + var pra = new SendDataToServer.LoginObj(); + pra.Account = i_account; + pra.Password = i_psw; + pra.Source = CommonPage.Source; + pra.Company = CommonPage.Company; + + //璁块棶鎺ュ彛 + var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(pra); + var result = await CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/Login", System.Text.Encoding.UTF8.GetBytes(requestJson)); + + //澶勭悊鐧婚檰鎴愬姛鐨勬暟鎹� + this.AdjustLoginSuccessData(result, pra, i_account, i_psw, i_div); + }); + } + + /// <summary> + /// 妫�娴嬭緭鍏ョ殑璐﹀彿 + /// </summary> + /// <param name="i_areaCode">鍦板尯鐮�</param> + /// <param name="i_account">璐﹀彿</param> + /// <param name="i_div">1:鎵嬫満鍙� 2:閭</param> + /// <returns></returns> + private bool CheckInputAccount(string i_areaCode, string i_account, int i_div) + { + if (i_div == 1) + { + //妫�娴嬫墜鏈� + if (i_areaCode != string.Empty && AccountLogic.Instance.CheckPhoneWithZone(i_account, i_areaCode) == false) + { + btnErrorMsg.TextID = R.MyInternationalizationString.ThePhoneError; + return false; + } + //妫�娴嬫墜鏈� + if (i_areaCode == string.Empty && AccountLogic.Instance.CheckPhone(i_account) == false) + { + btnErrorMsg.TextID = R.MyInternationalizationString.ThePhoneError; + return false; + } + } + else + { + //妫�娴嬮偖绠� + if (AccountLogic.Instance.CheckEmail(i_account) == false) + { + btnErrorMsg.TextID = R.MyInternationalizationString.TheEmailError; + return false; + } + } + return true; + } + + #endregion + + #region 鈻� 寰俊鐧婚檰___________________________ + + /// <summary> + /// 寰俊鐧诲綍 + /// </summary> + private void LoginByWechat() + { +#if Android + com.hdl.home.Application.WXLogin(); + com.hdl.home.WXEntryActivity.RespAction = (authStr) => + { +#endif +#if iOS + Home.IOS.AppDelegate.WXLogin(); + Home.IOS.AppDelegate.RespAction = (authStr) => + { +#endif + if (authStr == null) + { + return; + } + HdlThreadLogic.Current.RunThread(async () => + { + //鏄惁宸茬粡缁戝畾 + var re = await isBindAuthAsync(authStr); + if (re) + { + Application.RunOnMainThread(() => + { + //鐩存帴鐧诲綍 + HomePage.Instance.ShowLoginLoadView(); + }); + var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID(); + var homes = await House.GetHomeLists(); + //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼ + await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread(); + //鍚姩ZigBee + ZigBee.Common.Application.Init(); + + Application.RunOnMainThread(() => + { + this.RemoveFromParent(); + CommonPage.Instance.RemoveViewByTag("Login"); + UserPage.Instance.Fresh(); + }); + } + else + { + var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr); + Application.RunOnMainThread(() => + { + var registerPage = new AccountRegister(); + CommonPage.Instance.AddChidren(registerPage); + registerPage.OpenID = authRes.openid; + registerPage.Show(); + }); + } + }); + }; + } + + /// <summary> /// 鏄惁宸茬粦瀹� /// </summary> /// <param name="authStr"></param> @@ -692,15 +1713,13 @@ if (stateCodeStr == "SUCCESS") { var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginRes>(revertObj.ResponseData.ToString()); - var revertData = responseDataObj; + var revertData = responseDataObj; + //鏍囪涓婁竴娆℃槸涓嶆槸鍚屼竴涓处鍙风櫥闄� + UserCenter.UserCenterResourse.ResidenceOption.TheSameLoginAccount = Config.Instance.Guid == revertData.Guid; Config.Instance.Account = revertData.Account; Config.Instance.MD5PWD = revertData.MD5PWD; Config.Instance.Guid = revertData.Guid; Config.Instance.LoginDateTime = DateTime.Now; - if (Config.Instance.AccountList.Find((obj) => obj == revertData.Account) == null) - { - Config.Instance.AccountList.Add(revertData.Account); - } Config.Instance.Save(); return true; } @@ -708,127 +1727,288 @@ { return false; } - } - - /// <summary> - /// phone/email 閫夋嫨 - /// </summary> - /// <param name="sender"></param> - /// <param name="mouseEventArgs"></param> - private void SelectPhoneOrEmail_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs) - { - phoneEmailForm.SelectedPhone.IsSelected = phoneEmailForm.SelectedEmail.IsSelected = false; - phoneEmailForm.SelectedPhone.IsBold = phoneEmailForm.SelectedEmail.IsBold = false; - loginBtn.Enable = loginBtn.IsSelected = false; - loginErrorBtn.Text = string.Empty; - (sender as Button).IsSelected = (sender as Button).IsBold = true; - if((sender as Button).Tag.ToString()=="Phone") - { - AddPhoneOrEmailFL(accountPwdFL, "Phone"); - } - else - { - AddPhoneOrEmailFL(accountPwdFL, "Email"); - } - } - /// <summary> - /// AddPhoneOrEmailFL - /// </summary> - /// <param name="accountPwdFrameLayout"></param> - /// <param name="phoneOrEmail"></param> - private void AddPhoneOrEmailFL(FrameLayout accountPwdFrameLayout,string phoneOrEmail) - { - accountPwdFrameLayout.RemoveAll(); - - if (phoneOrEmail == "Phone") - { - phoneRow = new PhoneLoginRowForm(); - phoneRow.Init(accountPwdFrameLayout, this, this.account, 29, 29); - phoneRow.AccountET.TextChangeEventHandler += Account_TextChange; - } - else - { - emailRow = new EmailLoginRowForm(); - emailRow.Init(accountPwdFrameLayout, this.account, 29, 29); - emailRow.AccountET.TextChangeEventHandler += Account_TextChange; - } - - pwdRow = new PwdLoginRowForm(); - pwdRow.Init(accountPwdFrameLayout, 29, 225); - pwdRow.PasswrodET.TextChangeEventHandler += Pwd_TextChange; - } + } + #endregion + + #region 鈻� 楠岃瘉鐮佺櫥闄哶________________________ + + /// <summary> + /// 楠岃瘉鐮佺櫥闄� + /// </summary> + /// <param name="i_account">璐﹀彿</param> + /// <param name="i_verCode">楠岃瘉鐮�</param> + /// <param name="i_div">1:鎵嬫満鍙� 2:閭</param> + private async void LoginByVerCode(string i_account, string i_verCode, int i_div) + { + var pra = new SendDataToServer.LoginValidCodeOBJ() + { + Account = i_account, + Code = i_verCode, + Language = CommonPage.ZigBeeLanguage, + AreaCode = int.Parse(CommonPage.PhoneZoneStr) + }; + var result = await CommonFormResouce.LoginByCode(pra); + //澶勭悊鐧婚檰鎴愬姛鐨勬暟鎹� + this.AdjustLoginSuccessData(result, pra, i_account, string.Empty, i_div); + } + /// <summary> + /// 鍙戦�侀獙璇佺爜 + /// </summary> + /// <param name="btnSendCode">鍙戦�佹寜閽�</param> + /// <param name="account">璐﹀彿</param> + /// <param name="i_div">1:鎵嬫満鍙� 2:閭</param> + /// <returns></returns> + private async System.Threading.Tasks.Task<bool> SendVerCode(NormalViewControl btnSendCode, string account, int i_div) + { + //涓嶈兘鍐嶇偣鍑� + btnSendCode.CanClick = false; + + int companyInt = 0; + if (CommonPage.PhoneZoneStr == "86" || i_div == 2) + { + companyInt = CommonPage.Company; + } + else + { + companyInt = CommonPage.CompanyForINTERNETION; + } + var reqDtoSignPhone = new SendDataToServer.LoginSendVerCodeObj() + { + Account = account, + Company = companyInt, + AreaCode = int.Parse(CommonPage.PhoneZoneStr), + Language = CommonPage.ZigBeeLanguage + }; + var requestRevertObj = await CommonFormResouce.LoginSendVerCode(reqDtoSignPhone); + if (requestRevertObj == null) + { + //璇锋眰鏈嶅姟鍣ㄥけ璐� + CommonPage.Instance.FailureToServer(); + return false; + } + var stateCodeStr = requestRevertObj.StateCode.ToUpper(); + if (stateCodeStr == "SUCCESS") + { + //寮�鍚彂閫侀獙璇佺爜鐨勫�掕鏃� + this.StartSendVerCodeTimeOutThread(btnSendCode); + return true; + } + if (stateCodeStr == "PARAMETEROREMPTY") + { + //鎻愪緵鐨勫弬鏁伴敊璇� + btnErrorMsg.TextID = R.MyInternationalizationString.PARAMETEROREMPTY; + } + else if (stateCodeStr == "ACCOUNTNOEXISTS") + { + //璐﹀彿涓嶅瓨鍦� + btnErrorMsg.TextID = R.MyInternationalizationString.ACCOUNTNOEXISTS; + } + else if (stateCodeStr == "SENDFAIL") + { + //楠岃瘉鐮佸彂閫佸け璐� + btnErrorMsg.TextID = R.MyInternationalizationString.SENDFAIL; + } + else + { + //璇锋眰鏈嶅姟鍣ㄥけ璐� + btnErrorMsg.TextID = R.MyInternationalizationString.RequestServerFailed; + //鍐橪og + IMessageCommon.Current.GetMsgByRequestName("ZigbeeUsers/LoginSendVerCode", requestRevertObj, reqDtoSignPhone); + } + + HdlThreadLogic.Current.RunThread(() => + { + //鍙戦�佸け璐ュ悗,5绉掍箣鍚庢墠鑳藉啀娆″彂閫� + int i = 0; + while (i <= 5) + { + i++; + System.Threading.Thread.Sleep(1000); + } + btnSendCode.CanClick = true; + }); + + return false; + } - #region 鈼� 蹇樿瀵嗙爜________________________ - /// <summary> - /// 蹇樿瀵嗙爜 - /// </summary> - private void ForgetPWD_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs) - { - var forgot = new AccountForgetPWD(); - CommonPage.Instance.AddChidren(forgot); - forgot.Show(); + /// <summary> + /// 寮�鍚彂閫侀獙璇佺爜鐨勫�掕鏃� + /// </summary> + /// <param name="btnSendCode"></param> + private void StartSendVerCodeTimeOutThread(NormalViewControl btnSendCode) + { + HdlThreadLogic.Current.RunThread(() => + { + //鍚庨噸鍙� + string strText = Language.StringByID(R.MyInternationalizationString.SendVerificationCodeAgain); + int time = 60; + while (time > 0 && btnSendCode.Parent != null) + { + HdlThreadLogic.Current.RunMain(() => + { + btnSendCode.Text = time + "s" + strText; + }); + time--; + } + //鍊掕鏃跺畬鎴愪箣鍚�,鍙互鍐嶆鐐瑰嚮 + btnSendCode.CanClick = true; + btnSendCode.TextID = R.MyInternationalizationString.SendVerificationCode;//鑾峰彇楠岃瘉鐮� + }); + } + + #endregion + + #region 鈻� 澶勭悊鐧婚檰鎴愬姛鐨勬暟鎹甠________________ + + /// <summary> + /// 澶勭悊鐧婚檰鎴愬姛鐨勬暟鎹� + /// </summary> + /// <param name="revertObj">浜戠杩斿洖鐨勬暟鎹�</param> + /// <param name="pra">鎺ュ彛璇锋眰鍙傛暟</param> + /// <param name="i_account">璐﹀彿</param> + /// <param name="i_psw">瀵嗙爜锛岄獙璇佺爜鐧婚檰鏃�,璁剧疆涓� string.Empty</param> + /// <param name="i_div">1:鎵嬫満鍙� 2:閭</param> + private async void AdjustLoginSuccessData(Common.ResponseEntity.ResponsePack revertObj, object pra, + string i_account, string i_psw, int i_div) + { + if (revertObj == null) + { + HdlThreadLogic.Current.RunMain(() => + { + //璇锋眰鏈嶅姟鍣ㄥけ璐� + CommonPage.Instance.FailureToServer(); + CommonPage.Loading.Hide(); + }); + return; + } + var stateCodeStr = revertObj.StateCode.ToUpper(); + //Error 涓嶈兘鐩存帴浠庢湇鍔″櫒鍙栵紝鍙兘鏍规嵁鐘舵�佺爜閫愪竴鍒ゆ柇 + if (stateCodeStr == "SUCCESS") + { + HdlThreadLogic.Current.RunMain(() => + { + //鏄剧ず鍚姩椤� + HomePage.Instance.ShowLoginLoadView(); + }); + //瀛樺偍鏁版嵁 + var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginRes>(revertObj.ResponseData.ToString()); + var revertData = responseDataObj; + Config.ReFresh(); + //鏍囪涓婁竴娆℃槸涓嶆槸鍚屼竴涓处鍙风櫥闄� + UserCenterResourse.ResidenceOption.TheSameLoginAccount = Config.Instance.Guid == revertData.Guid; + Config.Instance.Account = revertData.Account; + Config.Instance.Password = i_psw; + Config.Instance.MD5PWD = revertData.MD5PWD; + Config.Instance.Guid = revertData.Guid; + Config.Instance.LoginDateTime = DateTime.Now; + Config.Instance.LoginToken = revertData.Token; + Config.Instance.Save(); + + var resultRegID = await CommonPage.Instance.PushRegID(); + var homes = await House.GetHomeLists(); + //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼ + await UserCenterLogic.InitUserCenterMenmoryAndThread(); + //鍚姩ZigBee + ZigBee.Common.Application.Init(); + + HdlThreadLogic.Current.RunMain(() => + { + CommonPage.Loading.Hide(); + this.RemoveFromParent(); + CommonPage.Instance.RemoveViewByTag("Login"); + UserPage.Instance.Fresh(); + }); + return; + } + //鍏抽棴杞湀鐨� + HdlThreadLogic.Current.RunMain(() => + { + CommonPage.Loading.Hide(); + if (stateCodeStr == "NOTVERIFY") + { + //鏈縺娲� + btnErrorMsg.TextID = R.MyInternationalizationString.NOTVERIFY; + } + else if (stateCodeStr == "NOTENABLE") + { + //璇ョ敤鎴峰睘浜庤皟璇曡处鍙凤紝骞舵湭鍚敤 + btnErrorMsg.TextID = R.MyInternationalizationString.NOTENABLE; + } + else if (stateCodeStr == "PARAMETEROREMPTY") + { + //鎻愪緵鐨勫弬鏁伴敊璇� + btnErrorMsg.TextID = R.MyInternationalizationString.PARAMETEROREMPTY; + } + else if (stateCodeStr == "VALIDCODEANDPHONENOEQUAL") + { + //楠岃瘉鐮侀敊璇紝璇烽噸鏂拌緭鍏� + btnErrorMsg.TextID = R.MyInternationalizationString.VALIDCODEANDPHONENOEQUAL; + } + else if (stateCodeStr == "USERNAMEORPWDERROR") + { + //璐﹀彿鎴栧瘑鐮侀敊璇� + btnErrorMsg.TextID = R.MyInternationalizationString.USERNAMEORPWDERROR; + } + else if (stateCodeStr == "ACCOUNTNOEXISTS") + { + //璐﹀彿涓嶅瓨鍦� + btnErrorMsg.TextID = R.MyInternationalizationString.ACCOUNTNOEXISTS; + } + else if (stateCodeStr == "NORECORD" && i_psw == string.Empty) + { + //璇峰厛鑾峰彇楠岃瘉鐮� + btnErrorMsg.TextID = R.MyInternationalizationString.NORECORD; + } + else if (stateCodeStr == "YOUDATANOISLOCALREGION") + { + //涓嶅湪鏈尯鍩燂紝闇�瑕侀噸瀹氬悜鍖哄煙鍚庡啀娆¤姹傜櫥褰� + var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginLocalRegionRes>(revertObj.ResponseData.ToString()); + CommonPage.RequestHttpsHost = responseDataObj.RegionServer; + if (i_psw != string.Empty) + { + //鍐嶆鐧诲綍 + this.LoginByAccountAndPsw(i_account, i_psw, i_div); + } + } + else + { + btnErrorMsg.TextID = R.MyInternationalizationString.RequestServerFailed; + //鍐橪og + if (pra is SendDataToServer.LoginObj) + { + ((SendDataToServer.LoginObj)pra).Password = "*********"; + IMessageCommon.Current.GetMsgByRequestName("ZigbeeUsers/Login", revertObj, pra); + } + else + { + IMessageCommon.Current.GetMsgByRequestName("ZigbeeUsers/LoginValidCode", revertObj, pra); + } + } + }); + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 妫�娴嬮殣绉佸崗璁� + /// </summary> + /// <returns></returns> + private bool CheckPrivacyPolicy() + { + if (isAgreePrivacyPolicy == false) + { + //璇峰厛闃呰骞跺悓鎰忋�婇殣绉佹潈鏀跨瓥銆嬪拰銆婃湇鍔℃潯娆俱�� + var btnMsg = new ShowMsgControl(ShowMsgType.Remind, Language.StringByID(R.MyInternationalizationString.uPleaseReadAndAgreePrivacyPolicyMsg)); + btnMsg.Show(); + return false; + } + return true; } #endregion - - #region 鈼� 娉ㄥ唽_____________________________ - - /// <summary> - /// 娉ㄥ唽 - /// </summary> - /// <param name="sender">Sender.</param> - /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> - private void Register(object sender,MouseEventArgs mouseEventArgs) - { - var registerPage = new AccountRegister(); - CommonPage.Instance.AddChidren(registerPage); - registerPage.Show(); - } - - #endregion - - #region 鈼� 璐﹀彿瀵嗙爜鐩戝惉______________________ - /// <summary> - /// 璐﹀彿鐩戝惉 - /// </summary> - /// <param name="sender">Sender.</param> - /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> - private void Account_TextChange(object sender,string mouseEventArgs) - { - loginErrorBtn.Text = string.Empty; - } - - /// <summary> - /// 瀵嗙爜鐩戝惉浜嬩欢 - /// </summary> - /// <param name="sender">Sender.</param> - /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> - private void Pwd_TextChange(object sender,string mouseEventArgs) - { - loginErrorBtn.Text = string.Empty; - if (1 <= pwdRow.PasswrodET.Text.Trim().Length && pwdRow.PasswrodET.Text.Trim().Length <= 16 && (phoneRow.AccountET.Text.Trim().Length > 0 || emailRow?.AccountET.Text.Trim().Length>0)) - { - loginBtn.Enable = loginBtn.IsSelected = true; - } - else if (pwdRow.PasswrodET.Text.Trim().Length > 16) - { - pwdRow.PasswrodET.Text = mouseEventArgs.Remove(16); - } - else if (pwdRow.PasswrodET.Text.Trim().Length > 16 && (phoneRow.AccountET.Text.Trim().Length > 0 || emailRow?.AccountET.Text.Trim().Length > 0)) - { - loginBtn.Enable = loginBtn.IsSelected = true; - pwdRow.PasswrodET.Text = mouseEventArgs.Remove(16); - } - else - { - loginBtn.Enable = loginBtn.IsSelected = false; - } - } - - - #endregion - } } -- Gitblit v1.8.0