From 944b87b6bcccb095cd73f13f4410fb20faf48f74 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期三, 25 十二月 2019 11:21:06 +0800
Subject: [PATCH] 2019.12.25

---
 ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs |  165 ++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 121 insertions(+), 44 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs b/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs
old mode 100755
new mode 100644
index a7280e5..f921ddf
--- a/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs
@@ -83,6 +83,7 @@
         /// </summary>
         public AccountLogin()
         {
+            CommonPage.Instance.IsDrawerLockMode = true;
             BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor;
             Tag = "Login";
         }
@@ -261,7 +262,8 @@
                 Y = Application.GetRealHeight(1737),
                 Width = Application.GetMinRealAverage(115),
                 Height = Application.GetMinRealAverage(115),
-                UnSelectedImagePath = "Account/Wechat.png"
+                UnSelectedImagePath = "Account/Wechat.png",
+                Gravity=Gravity.CenterHorizontal
             };
             midFrameLayout.AddChidren(wechatBtn);
 
@@ -273,7 +275,7 @@
                 Height = Application.GetMinRealAverage(115),
                 UnSelectedImagePath = "Account/QQ.png"
             };
-            midFrameLayout.AddChidren(qqBtn);
+            //midFrameLayout.AddChidren(qqBtn);
 
             #endregion
 
@@ -323,7 +325,7 @@
             }
             else
             {
-                Login(phoneRow.AccountET.Text.Trim(), pwdRow.PasswrodET.Text.Trim());
+                Login(emailRow.AccountET.Text.Trim(), pwdRow.PasswrodET.Text.Trim());
             }
 
         }
@@ -341,6 +343,11 @@
             {
                 try
                 {
+                    if(CheckAccount(accountStr)==false)
+                    {
+                        return;
+                    }
+
                     CommonPage.Loading.Start(Language.StringByID(R.MyInternationalizationString.Logining));
 
                     var requestObj = new SendDataToServer.LoginObj
@@ -366,27 +373,21 @@
                         {
                             return;
                         }
-                        this.RemoveFromParent();
 
-                        UserPage.Instance.Fresh();
+                        HomePage.Instance.ShowLoginLoadView();
 
                         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,15 +395,18 @@
                             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.CanInitAllRoom = true;
                             Shared.Common.Room.InitAllRoom();
                             Application.RunOnMainThread(() =>
                             {
-                                UserPage.Instance.Fresh();
                                 CommonPage.Loading.Hide();
+                                this.RemoveFromParent();
+                                CommonPage.Instance.RemoveViewByTag("Login");
+                                UserPage.Instance.Fresh();
                             });
                         })
                         { IsBackground = true }.Start();
@@ -465,6 +469,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>
@@ -485,15 +515,15 @@
         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)
-                {
+            //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) =>
                     {
@@ -505,25 +535,25 @@
                         {
                             new System.Threading.Thread(async () =>
                             {
-
                                 var re = await isBindAuthAsync(authStr);
                                 if (re)
                                 {
-                                    //鐩存帴鐧诲綍
-                                    //this.RemoveFromParent();
-
-                                    //UserPage.Instance.Fresh();
-                                    //鍚姩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.CanInitAllRoom = true;
                                     Shared.Common.Room.InitAllRoom();
                                     Application.RunOnMainThread(() =>
                                     {
                                         this.RemoveFromParent();
+                                        CommonPage.Instance.RemoveViewByTag("Login");
                                         UserPage.Instance.Fresh();
                                     });
                                 }
@@ -542,10 +572,62 @@
                             { 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();
+                            Shared.Common.Room.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>
@@ -586,11 +668,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);
@@ -598,13 +676,13 @@
                 Config.Instance.Save();
                 return true;
             }
-            else 
+            else
             {
                 return false;
             }
         }
 
-      
+
 
         /// <summary>
         /// phone/email 閫夋嫨
@@ -615,6 +693,7 @@
         {
             phoneEmailForm.SelectedPhone.IsSelected = phoneEmailForm.SelectedEmail.IsSelected = false;
             loginBtn.Enable = loginBtn.IsSelected = false;
+            loginErrorBtn.Text = string.Empty;
             (sender as Button).IsSelected = true;
             if((sender as Button).Tag.ToString()=="Phone")
             {
@@ -650,8 +729,6 @@
             pwdRow = new PwdLoginRowForm();
             pwdRow.Init(accountPwdFrameLayout, 29, 225);
             pwdRow.PasswrodET.TextChangeEventHandler += Pwd_TextChange;
-
-
         }
         #endregion
 
@@ -679,7 +756,7 @@
         private void Register(object sender,MouseEventArgs mouseEventArgs)
         {
             var registerPage = new AccountRegister();
-            Shared.Common.CommonPage.Instance.AddChidren(registerPage);
+            CommonPage.Instance.AddChidren(registerPage);
             registerPage.Show();
         }
 
@@ -693,7 +770,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>
@@ -703,7 +780,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;

--
Gitblit v1.8.0