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/AccountLoginByCode.cs | 884 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 884 insertions(+), 0 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Login/AccountLoginByCode.cs b/ZigbeeApp/Shared/Phone/Login/AccountLoginByCode.cs
new file mode 100755
index 0000000..db2e075
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/Login/AccountLoginByCode.cs
@@ -0,0 +1,884 @@
+锘縰sing System;
+using Shared.Common;
+using System.Text.RegularExpressions;
+using System.Collections.Generic;
+using System.Timers;
+using Shared.Phone.UserView;
+using Shared.Phone.Device.CommonForm;
+
+namespace Shared.Phone.Login
+{
+ /// <summary>
+ /// 楠岃瘉鐮佺櫥褰�
+ /// </summary>
+ public class AccountLoginByCode : FrameLayout
+ {
+
+ #region 鈼� 鍙橀噺____________________________
+ /// <summary>
+ /// 鑳屾櫙瑙嗗浘
+ /// </summary>
+ private FrameLayout midFrameLayout;
+ /// <summary>
+ /// 鎵嬫満閭
+ /// </summary>
+ private PhoneEmailForm phoneEmailForm;
+ /// <summary>
+ /// phoneRowForm
+ /// </summary>
+ private PhoneRowForm phoneRow;
+ /// <summary>
+ /// emailRow
+ /// </summary>
+ private EmailRowForm emailRow;
+ /// <summary>
+ /// codeRow
+ /// </summary>
+ private VerificationCodeRowForm codeRow;
+ /// <summary>
+ /// 璐﹀彿楠岃瘉鐮乫l
+ /// </summary>
+ private FrameLayout accountCodeFL;
+ /// <summary>
+ /// 鐧诲綍鎸夐挳
+ /// </summary>
+ private Button loginBtn;
+ /// <summary>
+ /// 蹇樿瀵嗙爜鎸夐挳
+ /// </summary>
+ private Button forgotPasswordBtn;
+ /// <summary>
+ /// 娉ㄥ唽
+ /// </summary>
+ private Button registerBtn;
+ /// <summary>
+ /// 璐﹀彿鐧诲綍
+ /// </summary>
+ private Button LoginByAccountPWDBtn;
+ /// <summary>
+ /// 鐧诲綍閿欒鎻愮ず鎸夐挳
+ /// </summary>
+ private Button loginErrorBtn;
+ /// <summary>
+ /// 璐﹀彿
+ /// </summary>
+ private string account;
+ /// <summary>
+ /// 楠岃瘉鐮�
+ /// </summary>
+ private string code;
+ /// <summary>
+ /// wechat
+ /// </summary>
+ private Button wechatBtn;
+
+ private Timer t;
+ private DateTime dateBegin;
+
+ #endregion
+
+
+ /// <summary>
+ /// The phone string.
+ /// </summary>
+ //public string phoneStr = "";
+ /// <summary>
+ /// 鎵嬫満鍙疯緭鍏ユ槸鍚︾鍚堣鍒�
+ /// </summary>
+ public bool IsRightAccount = false;
+ /// <summary>
+ /// Initializes a new instance of the <see cref="T:Shared.Phone.Device.Account.AccountLoginByCode"/> class.
+ /// </summary>
+ public AccountLoginByCode()
+ {
+ CommonPage.Instance.IsDrawerLockMode = true;
+ Tag = "Login";
+ BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor;
+ t = new Timer();
+ dateBegin = new DateTime();
+ }
+ public override void RemoveFromParent()
+ {
+ base.RemoveFromParent();
+ }
+ /// <summary>
+ /// Show this instance.
+ /// </summary>
+ public void Show()
+ {
+ ShowLoginByCodeView();
+ }
+ /// <summary>
+ /// Shows the login by code view.
+ /// </summary>
+ public void ShowLoginByCodeView()
+ {
+ #region midFrameLayout
+ midFrameLayout = new FrameLayout()
+ {
+ Width = LayoutParams.MatchParent,
+ Height = Application.GetRealHeight(CommonPage.AppRealHeight),
+ BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor
+ };
+ AddChidren(midFrameLayout);
+ #endregion
+
+ var logoBG = new Button()
+ {
+ Height = Application.GetRealHeight(619),
+ UnSelectedImagePath = "Account/Logo_loginBG.png"
+ };
+ midFrameLayout.AddChidren(logoBG);
+
+ var phoneEmailBGFL = new FrameLayout()
+ {
+ Y = logoBG.Bottom,
+ Height = Application.GetRealHeight(1921),
+ BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor
+ };
+ midFrameLayout.AddChidren(phoneEmailBGFL);
+
+ var logo = new Button()
+ {
+ Width = Application.GetMinRealAverage(184),
+ Height = Application.GetMinRealAverage(184),
+ Y = Application.GetRealHeight(230),
+ UnSelectedImagePath = "Account/Logo_White.png",
+ Gravity = Gravity.CenterHorizontal
+ };
+ midFrameLayout.AddChidren(logo);
+
+ var logoName = new Button()
+ {
+ Y = logo.Bottom,
+ Height = Application.GetRealHeight(69),
+ Width = Application.GetRealWidth(300),
+ Gravity = Gravity.CenterHorizontal,
+ TextID = R.MyInternationalizationString.AppName,
+ TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
+ TextSize = 16
+ };
+ midFrameLayout.AddChidren(logoName);
+
+ phoneEmailForm = new PhoneEmailForm();
+ phoneEmailForm.Init(midFrameLayout);
+
+ //閿欒鎻愮ずBtn
+ loginErrorBtn = new Button()
+ {
+ X = Application.GetRealWidth(242),
+ Y = Application.GetRealHeight(740),
+ Width = Application.GetRealWidth(700),
+ Height = Application.GetRealHeight(58),
+ TextColor = ZigbeeColor.Current.GXCTextRed,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextSize = CommonFormResouce.TextSize,
+ IsBold = true
+ };
+ midFrameLayout.AddChidren(loginErrorBtn);
+
+ accountCodeFL = new FrameLayout()
+ {
+ Y = Application.GetRealHeight(801),
+ Height = Application.GetRealHeight(553),
+ Width = Application.GetRealWidth(942),
+ Gravity = Gravity.CenterHorizontal,
+ BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
+ Radius = (uint)Application.GetRealHeight(17)
+ };
+ midFrameLayout.AddChidren(accountCodeFL);
+
+ AddPhoneOrEmailFL(accountCodeFL, "Phone");
+
+ forgotPasswordBtn = new Button()
+ {
+ X = Application.GetRealWidth(CommonPage.AppRealWidth - 115 - 250),
+ Y = Application.GetRealHeight(1198),
+ Width = Application.GetRealWidth(250),
+ Height = Application.GetRealHeight(58),
+ TextID = R.MyInternationalizationString.ForgotPWD_1,
+ TextSize = CommonFormResouce.loginTextSize,
+ TextColor = Shared.Common.ZigbeeColor.Current.GXCTextGrayColor,
+ TextAlignment = TextAlignment.CenterRight
+ };
+ midFrameLayout.AddChidren(forgotPasswordBtn);
+
+ loginBtn = new Button()
+ {
+ Y = Application.GetRealHeight(1281),
+ Width = Application.GetRealWidth(688),
+ Height = Application.GetRealHeight(127),
+ Gravity = Gravity.CenterHorizontal,
+ TextID = R.MyInternationalizationString.Login,
+ TextSize = 16,
+ IsBold=true,
+ TextColor = ZigbeeColor.Current.GXCTextGrayColor,
+ SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
+ SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonBlackSelectedColor,
+ BackgroundColor = ZigbeeColor.Current.GXCButtonUnSelectedColor,
+ Radius = (uint)Application.GetRealHeight(127 / 2),
+ Enable = !string.IsNullOrEmpty(codeRow.VerificationCodeET?.Text),
+ IsSelected = !string.IsNullOrEmpty(codeRow.VerificationCodeET?.Text)
+ };
+ midFrameLayout.AddChidren(loginBtn);
+
+ LoginByAccountPWDBtn = new Button()
+ {
+ X = Application.GetRealWidth(98),
+ Y = Application.GetRealHeight(1466),
+ Width = Application.GetRealWidth(300),
+ Height = Application.GetRealHeight(49),
+ TextID = R.MyInternationalizationString.LoginByAccountPWD,
+ TextColor = ZigbeeColor.Current.GXCTextGrayColor,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextSize = CommonFormResouce.loginTextSize
+ };
+ midFrameLayout.AddChidren(LoginByAccountPWDBtn);
+
+ registerBtn = new Button()
+ {
+ X = Application.GetRealWidth(738),
+ Y = Application.GetRealHeight(1466),
+ Width = Application.GetRealWidth(244),
+ Height = Application.GetRealHeight(49),
+ TextID = R.MyInternationalizationString.Register,
+ TextColor = ZigbeeColor.Current.GXCTextGrayColor,
+ TextAlignment = TextAlignment.CenterRight,
+ TextSize = CommonFormResouce.loginTextSize
+ };
+ midFrameLayout.AddChidren(registerBtn);
+
+ wechatBtn = new Button
+ {
+ X = Application.GetRealWidth(395),
+ Y = Application.GetRealHeight(1737),
+ Width = Application.GetMinRealAverage(115),
+ Height = Application.GetMinRealAverage(115),
+ UnSelectedImagePath = "Account/Wechat.png",
+ Gravity = Gravity.CenterHorizontal
+ };
+ midFrameLayout.AddChidren(wechatBtn);
+
+ BindEvent();
+ }
+
+ #region 鈼� 缁戝畾浜嬩欢_________________________
+
+ /// <summary>
+ /// 缁戝畾鎸夐挳浜嬩欢
+ /// </summary>
+ private void BindEvent()
+ {
+ //閫夋嫨鎵嬫満閭
+ phoneEmailForm.SelectedPhone.MouseUpEventHandler += SelectPhoneOrEmail_MouseUpEvent;
+ phoneEmailForm.SelectedEmail.MouseUpEventHandler += SelectPhoneOrEmail_MouseUpEvent;
+ //鐧诲綍浜嬩欢
+ loginBtn.MouseUpEventHandler += LoginBtnEvent;
+ //璐﹀彿鐧诲綍
+ LoginByAccountPWDBtn.MouseUpEventHandler += LoginByPWD;
+ //娉ㄥ唽浜嬩欢
+ registerBtn.MouseUpEventHandler += Register;
+ //蹇樿瀵嗙爜
+ forgotPasswordBtn.MouseUpEventHandler += ForgetPWD_MouseUpEvent;
+ //wechat
+ wechatBtn.MouseUpEventHandler += LoginByWechat;
+
+ }
+
+ #endregion
+
+
+ #region 鈼� 鐧诲綍____________________________
+
+ /// <summary>
+ /// 鐧诲綍浜嬩欢
+ /// </summary>
+ /// <param name="sender">Sender.</param>
+ /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
+ private async void LoginBtnEvent(object sender, MouseEventArgs mouseEventArgs)
+ {
+ CommonPage.Loading.Start();
+ try
+ {
+ if (CheckAccount(account) == false)
+ {
+ return;
+ }
+ var reqLoginByCode = new SendDataToServer.LoginValidCodeOBJ()
+ {
+ Account = account,
+ Code = code,
+ Language = CommonPage.ZigBeeLanguage,
+ AreaCode = int.Parse(CommonPage.PhoneZoneStr)
+ };
+ var requestRevetLoginCodeOBJ = await CommonFormResouce.LoginByCode(reqLoginByCode);
+ if (requestRevetLoginCodeOBJ == null)
+ {
+ CommonPage.Instance.FailureToServer();
+ return;
+ }
+ var stateCodeStr = requestRevetLoginCodeOBJ.StateCode.ToUpper();
+ if (stateCodeStr == "SUCCESS")
+ {
+ if (requestRevetLoginCodeOBJ.ResponseData == null)
+ {
+ return;
+ }
+
+ HomePage.Instance.ShowLoginLoadView();
+ new System.Threading.Thread(async () =>
+ {
+ var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginRes>(requestRevetLoginCodeOBJ.ResponseData.ToString());
+ var revertData = responseDataObj;
+ Config.ReFresh();
+ //鏍囪涓婁竴娆℃槸涓嶆槸鍚屼竴涓处鍙风櫥闄�
+ UserCenter.UserCenterResourse.ResidenceOption.TheSameLoginAccount = Config.Instance.Guid == revertData.Guid;
+ Config.Instance.Password = string.Empty;
+ Config.Instance.Account = revertData.Account;
+ Config.Instance.Guid = revertData.Guid;
+ Config.Instance.MD5PWD = revertData.MD5PWD;
+ Config.Instance.LoginDateTime = DateTime.Now;
+ Config.Instance.LoginToken = revertData.Token;
+ //闇�瑕佹妸鐧诲綍鍚庤繑鍥炵殑md5瀵嗙爜 璧嬪�肩敓鎴怲oken 鍥犱负鐢ㄦ埛娌℃湁杈撳叆瀵嗙爜
+ Config.Instance.MD5PWD = revertData.MD5PWD;
+ Config.Instance.Save();
+ var resultRegID = await 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();
+ CommonPage.Loading.Hide();
+ });
+ })
+ { IsBackground = true }.Start();
+ }
+ else if (stateCodeStr == "NOTVERIFY")
+ {
+ CommonPage.Loading.Hide();
+ //鏈縺娲�
+ loginErrorBtn.TextID = R.MyInternationalizationString.NOTVERIFY;
+ CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.NOTVERIFY);
+ }
+ else if (stateCodeStr == "NOTENABLE")
+ {
+ CommonPage.Loading.Hide();
+ //璇ョ敤鎴峰睘浜庤皟璇曡处鍙凤紝骞舵湭鍚敤
+ loginErrorBtn.TextID = R.MyInternationalizationString.NOTENABLE;
+ }
+ else if (stateCodeStr == "PARAMETEROREMPTY")
+ {
+ CommonPage.Loading.Hide();
+ //鎻愪緵鐨勫弬鏁伴敊璇�
+ loginErrorBtn.TextID = R.MyInternationalizationString.PARAMETEROREMPTY;
+ }
+ else if (stateCodeStr == "VALIDCODEANDPHONENOEQUAL")
+ {
+ CommonPage.Loading.Hide();
+ loginErrorBtn.TextID = R.MyInternationalizationString.VALIDCODEANDPHONENOEQUAL;
+ }
+ else if (stateCodeStr == "NORECORD")
+ {
+ CommonPage.Loading.Hide();
+ loginErrorBtn.TextID = R.MyInternationalizationString.NORECORD;
+ }
+ else if (stateCodeStr == "YOUDATANOISLOCALREGION")
+ {
+ CommonPage.Loading.Hide();
+ //涓嶅湪鏈尯鍩燂紝闇�瑕侀噸瀹氬悜鍖哄煙鍚庡啀娆¤姹傜櫥褰�
+ if (requestRevetLoginCodeOBJ.ResponseData == null)
+ {
+ return;
+ }
+ var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginLocalRegionRes>(requestRevetLoginCodeOBJ.ResponseData.ToString());
+ CommonPage.RequestHttpsHost = responseDataObj.RegionServer;
+ //鍐嶆鐧诲綍
+ //loginByCode();
+ }
+ else
+ {
+ CommonPage.Loading.Hide();
+ loginErrorBtn.TextID = R.MyInternationalizationString.RequestServerFailed;
+ }
+ }
+ catch
+ {
+ CommonPage.Loading.Hide();
+ CommonPage.Instance.FailureToServer();
+ }
+ finally
+ {
+ CommonPage.Loading.Hide();
+ }
+
+ }
+
+ /// <summary>
+ /// 閫氳繃瀵嗙爜鐧诲綍
+ /// </summary>
+ /// <param name="sender">Sender.</param>
+ /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
+ private void LoginByPWD(object sender, MouseEventArgs mouseEventArgs)
+ {
+ this.RemoveFromParent();
+ var login = new AccountLogin();
+ Shared.Common.CommonPage.Instance.AddChidren(login);
+ login.Show();
+ }
+
+ /// <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;
+ (sender as Button).IsSelected = (sender as Button).IsBold = true;
+ if ((sender as Button).Tag.ToString() == "Phone")
+ {
+ AddPhoneOrEmailFL(accountCodeFL, "Phone");
+ }
+ else
+ {
+ AddPhoneOrEmailFL(accountCodeFL, "Email");
+ }
+ }
+ /// <summary>
+ /// AddPhoneOrEmailFL
+ /// </summary>
+ /// <param name="accountCodeFrameLayout"></param>
+ /// <param name="phoneOrEmail"></param>
+ private void AddPhoneOrEmailFL(FrameLayout accountCodeFrameLayout, string phoneOrEmail)
+ {
+ accountCodeFrameLayout.RemoveAll();
+ account = string.Empty;
+ loginErrorBtn.Text = string.Empty;
+ if (phoneOrEmail == "Phone")
+ {
+ phoneRow = new PhoneRowForm();
+ phoneRow.Init(accountCodeFrameLayout, this, this.account, 29, 29);
+ phoneRow.AccountET.TextChangeEventHandler += Account_TextChange;
+ }
+ else
+ {
+ emailRow = new EmailRowForm();
+ emailRow.Init(accountCodeFrameLayout, this.account, 29, 29);
+ emailRow.AccountET.TextChangeEventHandler += Account_TextChange;
+ }
+
+ codeRow = new VerificationCodeRowForm();
+ codeRow.Init(accountCodeFrameLayout, 29, 225);
+ codeRow.SendCodeBtn.MouseUpEventHandler += SendCode_MouseUpEventAsync;
+ codeRow.VerificationCodeET.TextChangeEventHandler += Code_TextChange;
+ }
+
+ /// <summary>
+ /// wechat鐧诲綍
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="mouseEventArgs"></param>
+ private void LoginByWechat(object sender, MouseEventArgs mouseEventArgs)
+ {
+#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();
+ //鍚姩ZigBee
+ ZigBee.Common.Application.Init();
+ //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
+ await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
+ 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
+
+#if iOS
+ Home.IOS.AppDelegate.WXLogin();
+ Home.IOS.AppDelegate.RespAction = (authStr) =>
+ {
+ if (authStr == null)
+ {
+
+ }
+ else
+ {
+ new System.Threading.Thread(async () =>
+ {
+
+ var re = await isBindAuthAsync(authStr);
+ if (re)
+ {
+ //鐩存帴鐧诲綍
+ //this.RemoveFromParent();
+
+ //UserPage.Instance.Fresh();
+ var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID();
+ var homes = await House.GetHomeLists();
+ //鍚姩ZigBee
+ ZigBee.Common.Application.Init();
+ //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
+ await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
+ UserCenter.HdlRoomLogic.Current.InitAllRoom();
+ Application.RunOnMainThread(() =>
+ {
+ this.RemoveFromParent();
+ 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
+ }
+
+ /// <summary>
+ /// qq鐧诲綍
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="mouseEventArgs"></param>
+ private void LoginByQQ(object sender, MouseEventArgs mouseEventArgs)
+ {
+
+ }
+
+ /// <summary>
+ /// 鏄惁宸茬粦瀹�
+ /// </summary>
+ /// <param name="authStr"></param>
+ /// <returns></returns>
+ private async System.Threading.Tasks.Task<bool> isBindAuthAsync(string authStr)
+ {
+ var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr);
+ var auth = new SendDataToServer.AuthUser()
+ {
+ AccessToken = authRes.access_token,
+ RefreshToken = authRes.refresh_token,
+ OpenID = authRes.openid
+ };
+ var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(auth);
+ var revertObj = await CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/InsertOrUpdateAuthUser", System.Text.Encoding.UTF8.GetBytes(requestJson));
+ if (revertObj == null)
+ {
+ return false;
+ }
+ var stateCodeStr = revertObj.StateCode.ToUpper();
+ if (stateCodeStr == "SUCCESS")
+ {
+ var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginRes>(revertObj.ResponseData.ToString());
+ 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;
+ Config.Instance.Save();
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ #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;
+ if ((sender as EditText).Text.Trim().Length > 0)
+ {
+ IsRightAccount = true;
+ codeRow.SendCodeBtn.Enable = codeRow.SendCodeBtn.IsSelected = true;
+ account= (sender as EditText).Text.Trim();
+ }
+ else
+ {
+ IsRightAccount = false;
+ codeRow.SendCodeBtn.Enable = codeRow.SendCodeBtn.IsSelected = false;
+ }
+ }
+
+ /// <summary>
+ /// code鐩戝惉浜嬩欢
+ /// </summary>
+ /// <param name="sender">Sender.</param>
+ /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
+ private void Code_TextChange(object sender, string mouseEventArgs)
+ {
+ loginErrorBtn.Text = "";
+ if ((sender as EditText).Text.Trim().Length > 0 && IsRightAccount)
+ {
+ loginBtn.Enable = loginBtn.IsSelected = true;
+ }
+ else
+ {
+ loginBtn.Enable = loginBtn.IsSelected = false;
+ }
+ code = (sender as EditText).Text.Trim();
+ }
+
+ #endregion
+
+
+ void TimeOut(object sender, System.Timers.ElapsedEventArgs e)
+ {
+ var span = DateTime.Now - dateBegin;
+ if (span.TotalSeconds <= 61)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ codeRow.SendCodeBtn.Text = Convert.ToInt16(60 - span.TotalSeconds) + "s" + Language.StringByID(R.MyInternationalizationString.SendVerificationCodeAgain);
+ codeRow.SendCodeBtn.Enable = false;
+ });
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ codeRow.SendCodeBtn.Enable = true;
+ codeRow.SendCodeBtn.TextID = R.MyInternationalizationString.SendVerificationCode;
+ t.Stop();
+ t.Close();
+ });
+ }
+ }
+
+ void TimeBegin()
+ {
+ t.Interval = 1000;
+ t.AutoReset = true;
+ t.Enabled = true;
+ t.Elapsed += TimeOut;
+ //鍚姩璁℃椂鍣ㄥ�掕鏃�-60s
+ t.Start();
+ dateBegin = DateTime.Now;
+ }
+
+ #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)
+ {
+ this.RemoveFromParent();
+ var registerPage = new AccountRegister();
+ CommonPage.Instance.AddChidren(registerPage);
+ registerPage.Show();
+ }
+
+ #endregion
+
+ #region 鈼� 蹇樿瀵嗙爜________________________
+ /// <summary>
+ /// 蹇樿瀵嗙爜
+ /// </summary>
+ private void ForgetPWD_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs)
+ {
+ this.RemoveFromParent();
+ var forgot = new AccountForgetPWD();
+ CommonPage.Instance.AddChidren(forgot);
+ forgot.Show();
+ }
+
+ #endregion
+
+ #region 鈼� 鍙戦�侀獙璇佺爜________________________
+ /// <summary>
+ /// 鍙戦�侀獙璇佺爜
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="mouseEventArgs"></param>
+ private async void SendCode_MouseUpEventAsync(object sender, MouseEventArgs mouseEventArgs)
+ {
+ if (CheckAccount(account) == false)
+ {
+ return;
+ }
+
+ (sender as Button).Enable = (sender as Button).IsSelected = false;
+ CommonPage.Loading.Start();
+ try
+ {
+ int companyInt = 0;
+ if (CommonPage.PhoneZoneStr == "86" || phoneEmailForm.SelectedEmail.IsSelected)
+ {
+ 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;
+ }
+ var stateCodeStr = requestRevertObj.StateCode.ToUpper();
+ if (stateCodeStr == "SUCCESS")
+ {
+ TimeBegin();
+ var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.SendVerificationCodeSuccess), Language.StringByID(R.MyInternationalizationString.Confrim));
+ alert.Show();
+ }
+ else if (stateCodeStr == "PARAMETEROREMPTY")
+ {
+ //鎻愪緵鐨勫弬鏁伴敊璇�
+ loginErrorBtn.TextID = R.MyInternationalizationString.PARAMETEROREMPTY;
+ (sender as Button).Enable = (sender as Button).IsSelected = true;
+ }
+ else if (stateCodeStr == "ACCOUNTNOEXISTS")
+ {
+ //璐﹀彿涓嶅瓨鍦�
+ loginErrorBtn.TextID = R.MyInternationalizationString.ACCOUNTNOEXISTS;
+ IsRightAccount = false;
+ (sender as Button).Enable = (sender as Button).IsSelected = true;
+ }
+ else if (stateCodeStr == "SENDFAIL")
+ {
+ //楠岃瘉鐮佸彂閫佸け璐�
+ loginErrorBtn.TextID = R.MyInternationalizationString.SENDFAIL;
+ (sender as Button).Enable = (sender as Button).IsSelected = true;
+ }
+ else
+ {
+ loginErrorBtn.TextID = R.MyInternationalizationString.RequestServerFailed;
+ (sender as Button).Enable = (sender as Button).IsSelected = true;
+ }
+ }
+ catch
+ {
+ loginErrorBtn.TextID = R.MyInternationalizationString.RequestServerFailed;
+ (sender as Button).Enable = (sender as Button).IsSelected = true;
+ }
+ finally
+ {
+ CommonPage.Loading.Hide();
+ }
+ }
+
+ /// <summary>
+ /// CheckAccount
+ /// </summary>
+ /// <param name="accountStr"></param>
+ /// <returns></returns>
+ private bool CheckAccount(string accountStr)
+ {
+ loginErrorBtn.Text = string.Empty;
+ if (phoneEmailForm.SelectedEmail.IsSelected)
+ {
+ if (AccountLogic.Instance.CheckEmail(accountStr) == false)
+ {
+ loginErrorBtn.TextID = R.MyInternationalizationString.TheEmailError;
+ return false;
+ }
+ }
+ else
+ {
+ if (AccountLogic.Instance.CheckPhoneWithZone(accountStr, CommonPage.PhoneZoneStr) == false)
+ {
+ loginErrorBtn.TextID = R.MyInternationalizationString.ThePhoneError;
+ return false;
+ }
+ }
+ return true;
+ }
+
+ #endregion
+
+ #region 鈼� 楠岃瘉楠岃瘉鐮乢_______________________
+
+
+
+ #endregion
+ }
+}
--
Gitblit v1.8.0