From 652243206427f35a256400a149a1734085824cb9 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期三, 02 九月 2020 17:35:03 +0800
Subject: [PATCH] 2020-09-02-4

---
 ZigbeeApp/Shared/Phone/Login/AccountLoginForm.cs |  130 +++++++++++++++++++++++++++----------------
 1 files changed, 81 insertions(+), 49 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Login/AccountLoginForm.cs b/ZigbeeApp/Shared/Phone/Login/AccountLoginForm.cs
index e0fe24b..f10e1fc 100755
--- a/ZigbeeApp/Shared/Phone/Login/AccountLoginForm.cs
+++ b/ZigbeeApp/Shared/Phone/Login/AccountLoginForm.cs
@@ -20,7 +20,7 @@
         /// <summary>
         /// 鏄惁鍚屾剰闅愮鍗忚
         /// </summary>
-        private bool isAgreePrivacyPolicy = true;
+        private bool isAgreePrivacyPolicy = false;
 
         #endregion
 
@@ -52,13 +52,13 @@
             frameMidBack.BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor;
             this.AddChidren(frameMidBack);
 
-            //HdlHome鐨勫浘鏍�
+            //Evoyo Home鐨勫浘鏍�
             var btnLogoIcon = new PicViewControl(184, 184);
             btnLogoIcon.Y = Application.GetRealHeight(230);
-            btnLogoIcon.UnSelectedImagePath = "Account/Logo_White.png";
+            btnLogoIcon.UnSelectedImagePath = "Account/Logo_WhiteHome.png";
             btnLogoIcon.Gravity = Gravity.CenterHorizontal;
             this.AddChidren(btnLogoIcon);
-            //Hdl Home
+            //Evoyo Home
             var btnLogoName = new NormalViewControl(300, 69, true);
             btnLogoName.Y = btnLogoIcon.Bottom;
             btnLogoName.Gravity = Gravity.CenterHorizontal;
@@ -127,6 +127,9 @@
             frameMidBack.AddChidren(btnLoginByCode);
             btnLoginByCode.ButtonClickEvent += (sender, e) =>
             {
+                //妫�娴嬫槸鍚﹀悓鎰忔湇鍔″崗璁�
+                if (this.CheckPrivacyPolicy() == false) { return; }
+
                 if (codeDiv == 1)
                 {
                     //楠岃瘉鐮佺櫥闄�
@@ -166,6 +169,9 @@
             frameMidBack.AddChidren(btnRegister);
             btnRegister.ButtonClickEvent += (sender, e) =>
             {
+                //妫�娴嬫槸鍚﹀悓鎰忔湇鍔″崗璁�
+                if (this.CheckPrivacyPolicy() == false) { return; }
+
                 var registerPage = new AccountRegister();
                 CommonPage.Instance.AddChidren(registerPage);
                 registerPage.Show();
@@ -176,7 +182,7 @@
             btnWebChat.Y = frameMidBack.Height - Application.GetRealHeight(69) - btnWebChat.IconSize;
             btnWebChat.UnSelectedImagePath = "Account/Wechat.png";
             btnWebChat.Gravity = Gravity.CenterHorizontal;
-            frameMidBack.AddChidren(btnWebChat);
+            //frameMidBack.AddChidren(btnWebChat);
             btnWebChat.ButtonClickEvent += (sender, e) =>
             {
                 //寰俊鐧婚檰
@@ -184,7 +190,7 @@
             };
 
             //娣诲姞鏈嶅姟鍗忚鎺т欢
-            //this.AddServiceAgreementControl(frameMidBack);
+            this.AddServiceAgreementControl(frameMidBack);
 
             //娓稿浣撻獙
             var btnTiyan = new NormalViewControl(300, 100, true);
@@ -197,9 +203,11 @@
             frameMidBack.AddChidren(btnTiyan);
             btnTiyan.ButtonClickEvent += (sender, e) =>
             {
+                //妫�娴嬫槸鍚﹀悓鎰忔湇鍔″崗璁�
+                if (this.CheckPrivacyPolicy() == false) { return; }
+
                 btnTiyan.CanClick = false;
                 //鏄剧ず鍚姩椤�
-                HomePage.Instance.ShowLoginLoadView();
                 HdlThreadLogic.Current.RunThread(() =>
                 {
                     //鍒濆鍖栧叏閮ㄤ綋楠屾暟鎹�
@@ -381,6 +389,9 @@
             frameWhiteBack.AddChidren(btnForgot);
             btnForgot.ButtonClickEvent += (sender, e) =>
             {
+                //妫�娴嬫槸鍚﹀悓鎰忔湇鍔″崗璁�
+                if (this.CheckPrivacyPolicy() == false) { return; }
+
                 var forgot = new AccountForgetPWD();
                 CommonPage.Instance.AddChidren(forgot);
                 forgot.Show();
@@ -557,8 +568,11 @@
             btnSendCode.TextAlignment = TextAlignment.Center;
             btnSendCode.IsBold = true;
             rowVerCode.AddChidren(btnSendCode);
-            btnSendCode.ButtonClickEvent += async (sender, e) =>
+            btnSendCode.ButtonClickEvent += (sender, e) =>
             {
+                //妫�娴嬫槸鍚﹀悓鎰忔湇鍔″崗璁�
+                if (this.CheckPrivacyPolicy() == false) { return; }
+
                 //妫�娴嬭緭鍏ョ殑璐﹀彿
                 nowInputAccount = txtAccount.Text.Trim();
                 if (this.CheckInputAccount("86", nowInputAccount, i_div) == false)
@@ -566,7 +580,7 @@
                     return;
                 }
                 //鍙戦�侀獙璇佺爜
-                hadSendCode = await this.SendVerCode(btnSendCode, nowInputAccount, i_div);
+                hadSendCode = this.SendVerCode(btnSendCode, nowInputAccount, i_div);
             };
 
             //搴曠嚎
@@ -600,6 +614,9 @@
             frameWhiteBack.AddChidren(btnForgot);
             btnForgot.ButtonClickEvent += (sender, e) =>
             {
+                //妫�娴嬫槸鍚﹀悓鎰忔湇鍔″崗璁�
+                if (this.CheckPrivacyPolicy() == false) { return; }
+
                 var forgot = new AccountForgetPWD();
                 CommonPage.Instance.AddChidren(forgot);
                 forgot.Show();
@@ -744,6 +761,8 @@
         /// <param name="i_div">1:鎵嬫満鍙� 2:閭</param>
         private void LoginByAccountAndPsw(string i_account, string i_psw, int i_div)
         {
+            //妫�娴嬫槸鍚﹀悓鎰忔湇鍔″崗璁�
+            if (this.CheckPrivacyPolicy() == false) { return; }
             //妫�娴嬭处鍙�
             if (this.CheckInputAccount(string.Empty, i_account, i_div) == false)
             {
@@ -753,7 +772,7 @@
             //鐧婚檰涓�....
             CommonPage.Loading.Start(Language.StringByID(R.MyInternationalizationString.Logining));
 
-            HdlThreadLogic.Current.RunThread(async () =>
+            HdlThreadLogic.Current.RunThread(() =>
             {
                 //鐧婚檰鍙傛暟
                 var pra = new SendDataToServer.LoginObj();
@@ -764,7 +783,7 @@
 
                 //璁块棶鎺ュ彛
                 var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(pra);
-                var result = await CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/Login", System.Text.Encoding.UTF8.GetBytes(requestJson));
+                var result = CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/Login", System.Text.Encoding.UTF8.GetBytes(requestJson));
 
                 //澶勭悊鐧婚檰鎴愬姛鐨勬暟鎹�
                 this.AdjustLoginSuccessData(result, pra, i_account, i_psw, i_div);
@@ -816,6 +835,8 @@
         /// </summary>
         private void LoginByWechat()
         {
+            //妫�娴嬫槸鍚﹀悓鎰忔湇鍔″崗璁�
+            if (this.CheckPrivacyPolicy() == false) { return; }
 #if Android
             com.hdl.home.Application.WXLogin();
             com.hdl.home.WXEntryActivity.RespAction = (authStr) =>
@@ -830,35 +851,38 @@
                 {
                     return;
                 }
-                HdlThreadLogic.Current.RunThread(async () =>
+                HdlThreadLogic.Current.RunThread(() =>
                 {
                     //鏄惁宸茬粡缁戝畾
-                    var re = await isBindAuthAsync(authStr);
+                    var re = isBindAuthAsync(authStr);
                     if (re)
                     {
-                        Application.RunOnMainThread(() =>
-                        {
-                            //鐩存帴鐧诲綍
-                            HomePage.Instance.ShowLoginLoadView();
-                        });
-                        var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID();
-                        var homes = await HdlResidenceLogic.Current.GetHomeListsFromDb();
+                        ProgressBar.Show(Language.StringByID(R.MyInternationalizationString.Logining));
+
+                        var resultRegID = Shared.Common.CommonPage.Instance.PushRegID();
+                        var homes = HdlResidenceLogic.Current.GetHomeListsFromDb(false);
                         //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
-                        await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
+                        bool result = UserCenterLogic.InitUserCenterMenmoryAndThread();
+
                         //鍚姩ZigBee
                         ZigBee.Common.Application.Init();
 
-                        Application.RunOnMainThread(() =>
+                        HdlThreadLogic.Current.RunMain(() =>
                         {
+                            ProgressBar.Close();
                             this.RemoveFromParent();
                             CommonPage.Instance.RemoveViewByTag("Login");
-                            UserPage.Instance.ReFreshControl();
+                            if (result == true)
+                            {
+                                //false:寮�鍚簡璋冭瘯鍔熻兘
+                                UserPage.Instance.ReFreshControl();
+                            }
                         });
                     }
                     else
                     {
                         var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr);
-                        Application.RunOnMainThread(() =>
+                        HdlThreadLogic.Current.RunMain(() =>
                         {
                             var registerPage = new AccountRegister();
                             CommonPage.Instance.AddChidren(registerPage);
@@ -875,7 +899,7 @@
         /// </summary>
         /// <param name="authStr"></param>
         /// <returns></returns>
-        private async System.Threading.Tasks.Task<bool> isBindAuthAsync(string authStr)
+        private bool isBindAuthAsync(string authStr)
         {
             var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr);
             var auth = new SendDataToServer.AuthUser()
@@ -887,7 +911,7 @@
             //鑾峰彇寰俊鏄电О
             var strUrl = "https://api.weixin.qq.com/sns/userinfo?access_token=" + authRes.access_token;
             strUrl += "&openid=" + authRes.openid;
-            var byteData = await Common.CommonPage.Instance.DoRequestZigbeeHttpsInterface(strUrl, null, null, "GET");
+            var byteData = Common.CommonPage.Instance.DoRequestZigbeeHttpsInterface(strUrl, null, null, "GET");
             if (byteData == null)
             {
                 return false;
@@ -897,7 +921,7 @@
             auth.UserName = nickData.nickname;
 
             var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(auth);
-            var revertObj = await CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/InsertOrUpdateAuthUser", System.Text.Encoding.UTF8.GetBytes(requestJson));
+            var revertObj = CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/InsertOrUpdateAuthUser", System.Text.Encoding.UTF8.GetBytes(requestJson));
             if (revertObj == null)
             {
                 return false;
@@ -932,18 +956,26 @@
         /// <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)
+        private void LoginByVerCode(string i_account, string i_verCode, int i_div)
         {
-            var pra = new SendDataToServer.LoginValidCodeOBJ()
+            //妫�娴嬫槸鍚﹀悓鎰忔湇鍔″崗璁�
+            if (this.CheckPrivacyPolicy() == false) { return; }
+            //鐧婚檰涓�....
+            CommonPage.Loading.Start(Language.StringByID(R.MyInternationalizationString.Logining));
+
+            HdlThreadLogic.Current.RunThread(() =>
             {
-                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);
+                var pra = new SendDataToServer.LoginValidCodeOBJ()
+                {
+                    Account = i_account,
+                    Code = i_verCode,
+                    Language = CommonPage.ZigBeeLanguage,
+                    AreaCode = int.Parse(CommonPage.PhoneZoneStr)
+                };
+                var result = CommonFormResouce.LoginByCode(pra);
+                //澶勭悊鐧婚檰鎴愬姛鐨勬暟鎹�
+                this.AdjustLoginSuccessData(result, pra, i_account, string.Empty, i_div);
+            });
         }
 
         /// <summary>
@@ -953,7 +985,7 @@
         /// <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)
+        private bool SendVerCode(NormalViewControl btnSendCode, string account, int i_div)
         {
             //涓嶈兘鍐嶇偣鍑�
             btnSendCode.CanClick = false;
@@ -974,7 +1006,7 @@
                 AreaCode = int.Parse(CommonPage.PhoneZoneStr),
                 Language = CommonPage.ZigBeeLanguage
             };
-            var requestRevertObj = await CommonFormResouce.LoginSendVerCode(reqDtoSignPhone);
+            var requestRevertObj = CommonFormResouce.LoginSendVerCode(reqDtoSignPhone);
             if (requestRevertObj == null)
             {
                 //璇锋眰鏈嶅姟鍣ㄥけ璐�
@@ -1068,7 +1100,7 @@
         /// <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,
+        private void AdjustLoginSuccessData(Common.ResponseEntity.ResponsePack revertObj, object pra,
             string i_account, string i_psw, int i_div)
         {
             if (revertObj == null)
@@ -1085,11 +1117,6 @@
             //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;
@@ -1104,10 +1131,11 @@
                 Config.Instance.LoginToken = revertData.Token;
                 Config.Instance.Save();
 
-                var resultRegID = await CommonPage.Instance.PushRegID();
-                var homes = await HdlResidenceLogic.Current.GetHomeListsFromDb();
+                var resultRegID = CommonPage.Instance.PushRegID();
+                var homes = HdlResidenceLogic.Current.GetHomeListsFromDb(false);
                 //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
-                await UserCenterLogic.InitUserCenterMenmoryAndThread();
+                bool result = UserCenterLogic.InitUserCenterMenmoryAndThread();
+
                 //鍚姩ZigBee
                 ZigBee.Common.Application.Init();
 
@@ -1116,7 +1144,11 @@
                     CommonPage.Loading.Hide();
                     this.RemoveFromParent();
                     CommonPage.Instance.RemoveViewByTag("Login");
-                    UserPage.Instance.ReFreshControl();
+                    if (result == true)
+                    {
+                        //false:寮�鍚簡璋冭瘯鍔熻兘
+                        UserPage.Instance.ReFreshControl();
+                    }
                 });
                 return;
             }

--
Gitblit v1.8.0