gxc
2019-12-30 b129359c5a0df75f63d9131e5e41d3060ac38cc3
ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs
@@ -83,6 +83,7 @@
        /// </summary>
        public AccountLogin()
        {
            CommonPage.Instance.IsDrawerLockMode = true;
            BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor;
            Tag = "Login";
        }
@@ -166,12 +167,14 @@
                Width = Application.GetRealWidth(300),
                Gravity = Gravity.CenterHorizontal,
                TextID = R.MyInternationalizationString.AppName,
                TextColor = ZigbeeColor.Current.GXCTextWhiteColor
                TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                TextSize=16
            };
            midFrameLayout.AddChidren(logoName);
            phoneEmailForm = new PhoneEmailForm();
            phoneEmailForm.Init(midFrameLayout);
            //错误提示Btn
            loginErrorBtn = new Button()
@@ -182,6 +185,8 @@
                Height = Application.GetRealHeight(58),
                TextColor = ZigbeeColor.Current.GXCTextRed,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize=CommonFormResouce.TextSize,
                IsBold=true
            };
            midFrameLayout.AddChidren(loginErrorBtn);
@@ -204,7 +209,7 @@
                Y = Application.GetRealHeight(1198),
                Width = Application.GetRealWidth(250),
                Height = Application.GetRealHeight(58),
                TextID = R.MyInternationalizationString.ForgotPWD,
                TextID = R.MyInternationalizationString.ForgotPWD_1,
                TextSize = CommonFormResouce.loginTextSize,
                TextColor = Shared.Common.ZigbeeColor.Current.GXCTextGrayColor,
                TextAlignment = TextAlignment.CenterRight
@@ -218,14 +223,15 @@
                Height = Application.GetRealHeight(127),
                Gravity = Gravity.CenterHorizontal,
                TextID = R.MyInternationalizationString.Login,
                TextSize = 15,
                TextSize = 16,
                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(pwdRow.PasswrodET?.Text),
                IsSelected = !string.IsNullOrEmpty(pwdRow.PasswrodET?.Text)
                IsSelected = !string.IsNullOrEmpty(pwdRow.PasswrodET?.Text),
                IsBold=true
            };
            midFrameLayout.AddChidren(loginBtn);
@@ -279,6 +285,11 @@
            #endregion
            BindEvent();
            if (string.IsNullOrEmpty(account) == false && AccountLogic.Instance.CheckEmail(account) == true)
            {
                SelectPhoneOrEmail_MouseUpEvent(phoneEmailForm.SelectedEmail, null);
            }
        }
        #endregion
@@ -342,6 +353,11 @@
            {
                try
                {
                    if(CheckAccount(accountStr)==false)
                    {
                        return;
                    }
                    CommonPage.Loading.Start(Language.StringByID(R.MyInternationalizationString.Logining));
                    var requestObj = new SendDataToServer.LoginObj
@@ -372,21 +388,16 @@
                        new System.Threading.Thread(async () =>
                        {
                            //启动ZigBee
                            ZigBee.Common.Application.Init();
                            //存储数据
                            var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginRes>(revertObj.ResponseData.ToString());
                            var revertData = responseDataObj;
                            Config.ReFresh();
                            Config.Instance.Account = revertData.Account;
                            Config.Instance.MqttKey = revertData.MqttKey;
                            Config.Instance.Password = passwordStr;
                            Config.Instance.MD5PWD = revertData.MD5PWD;
                            Config.Instance.Guid = revertData.Guid;
                            Config.Instance.LoginDateTime = DateTime.Now;
                            Config.Instance.ConnectZigbeeMqttBrokerPwd = revertData.ConnectZigbeeMqttBrokerPwd;
                            Config.Instance.ConnectZigbeeMqttClientId = revertData.ConnectZigbeeMqttClientId;
                            Config.Instance.ZigbeeMqttBrokerLoadSubDomain = revertData.ZigbeeMqttBrokerLoadSubDomain;
                            Config.Instance.LoginToken = revertData.Token;
                            if (Config.Instance.AccountList.Find((obj) => obj == revertData.Account) == null)
                            {
                                Config.Instance.AccountList.Add(revertData.Account);
@@ -394,7 +405,9 @@
                            Config.Instance.Save();
                            var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID();
                            var homes = await House.GetHomeLists();
                            var homes = await House.GetHomeLists();
                            //启动ZigBee
                            ZigBee.Common.Application.Init();
                            //刷新个人中心的内存及线程
                            await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
                            Shared.Common.Room.InitAllRoom();
@@ -466,6 +479,32 @@
        }
        /// <summary>
        /// CheckAccount
        /// </summary>
        /// <param name="accountStr"></param>
        /// <returns></returns>
        private bool CheckAccount(string accountStr)
        {
            if (phoneEmailForm.SelectedEmail.IsSelected)
            {
                if (AccountLogic.Instance.CheckEmail(accountStr) == false)
                {
                    loginErrorBtn.TextID = R.MyInternationalizationString.TheEmailError;
                    return false;
                }
            }
            else
            {
                if (AccountLogic.Instance.CheckPhone(accountStr) == false)
                {
                    loginErrorBtn.TextID = R.MyInternationalizationString.ThePhoneError;
                    return false;
                }
            }
            return true;
        }
        /// <summary>
        /// 通过验证码登录
        /// </summary>
        /// <param name="sender">Sender.</param>
@@ -509,12 +548,15 @@
                                var re = await isBindAuthAsync(authStr);
                                if (re)
                                {
                                    //直接登录
                                    HomePage.Instance.ShowLoginLoadView();
                                    //启动ZigBee
                                    ZigBee.Common.Application.Init();
                                    Application.RunOnMainThread(() =>
                                    {
                                        //直接登录
                                        HomePage.Instance.ShowLoginLoadView();
                                    });
                                    var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID();
                                    var homes = await House.GetHomeLists();
                                    var homes = await House.GetHomeLists();
                                    //启动ZigBee
                                    ZigBee.Common.Application.Init();
                                    //刷新个人中心的内存及线程
                                    await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
                                    Shared.Common.Room.InitAllRoom();
@@ -545,8 +587,8 @@
#endif
#if iOS
            GateWay.Ios.AppDelegate.WXLogin();
            GateWay.Ios.AppDelegate.RespAction = (authStr) =>
            Home.IOS.AppDelegate.WXLogin();
            Home.IOS.AppDelegate.RespAction = (authStr) =>
            {
                if (authStr == null)
                {
@@ -564,10 +606,10 @@
                            //this.RemoveFromParent();
                            //UserPage.Instance.Fresh();
                            //启动ZigBee
                            ZigBee.Common.Application.Init();
                            var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID();
                            var homes = await House.GetHomeLists();
                            //启动ZigBee
                            ZigBee.Common.Application.Init();
                            //刷新个人中心的内存及线程
                            await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
                            Shared.Common.Room.InitAllRoom();
@@ -593,9 +635,9 @@
                }
            };
#endif
        }
        /// <summary>
@@ -636,11 +678,7 @@
                Config.Instance.Account = revertData.Account;
                Config.Instance.MD5PWD = revertData.MD5PWD;
                Config.Instance.Guid = revertData.Guid;
                Config.Instance.MqttKey = revertData.MqttKey;
                Config.Instance.LoginDateTime = DateTime.Now;
                Config.Instance.ConnectZigbeeMqttBrokerPwd = revertData.ConnectZigbeeMqttBrokerPwd;
                Config.Instance.ConnectZigbeeMqttClientId = revertData.ConnectZigbeeMqttClientId;
                Config.Instance.ZigbeeMqttBrokerLoadSubDomain = revertData.ZigbeeMqttBrokerLoadSubDomain;
                if (Config.Instance.AccountList.Find((obj) => obj == revertData.Account) == null)
                {
                    Config.Instance.AccountList.Add(revertData.Account);
@@ -648,13 +686,11 @@
                Config.Instance.Save();
                return true;
            }
            else
            else
            {
                return false;
            }
        }
        /// <summary>
        /// phone/email 选择
@@ -664,8 +700,10 @@
        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 = true;
            loginErrorBtn.Text = string.Empty;
            (sender as Button).IsSelected = (sender as Button).IsBold = true;
            if((sender as Button).Tag.ToString()=="Phone")
            {
                AddPhoneOrEmailFL(accountPwdFL, "Phone");
@@ -700,8 +738,6 @@
            pwdRow = new PwdLoginRowForm();
            pwdRow.Init(accountPwdFrameLayout, 29, 225);
            pwdRow.PasswrodET.TextChangeEventHandler += Pwd_TextChange;
        }
        #endregion
@@ -729,7 +765,7 @@
        private void Register(object sender,MouseEventArgs mouseEventArgs)
        {
            var registerPage = new AccountRegister();
            Shared.Common.CommonPage.Instance.AddChidren(registerPage);
            CommonPage.Instance.AddChidren(registerPage);
            registerPage.Show();
        }
@@ -743,7 +779,7 @@
        /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
        private void Account_TextChange(object sender,string mouseEventArgs)
        {
            loginErrorBtn.Text = "";
            loginErrorBtn.Text = string.Empty;
        }
        /// <summary>
@@ -753,7 +789,7 @@
        /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
        private void Pwd_TextChange(object sender,string mouseEventArgs)
        {
            loginErrorBtn.Text = "";
            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;