From c44b10e4447e84dbdfa9105edf460ef364a8f2b3 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期一, 30 十一月 2020 19:53:35 +0800
Subject: [PATCH] Merge branch 'master' into WJC

---
 HDL_ON/UI/UI1-Login/LoginPageBLL.cs |  733 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 555 insertions(+), 178 deletions(-)

diff --git a/HDL_ON/UI/UI1-Login/LoginPageBLL.cs b/HDL_ON/UI/UI1-Login/LoginPageBLL.cs
index b3399d7..1047d32 100644
--- a/HDL_ON/UI/UI1-Login/LoginPageBLL.cs
+++ b/HDL_ON/UI/UI1-Login/LoginPageBLL.cs
@@ -5,6 +5,7 @@
 using HDL_ON.UI.CSS;
 using Shared;
 using HDL_ON.Entity;
+using HDL_ON.DAL.Server;
 
 namespace HDL_ON.UI.UI1Login
 {
@@ -27,11 +28,30 @@
         }
 
         /// <summary>
+        /// 妫�娴嬪綋鍓嶉厤缃煙鍚嶆槸鍚︿竴鑷达紝涓嶄竴鑷村垯鏇挎崲
+        /// </summary>
+        /// <param name="result"></param>
+        void CheckAndSetUserRequestHost(ResponsePackNew result)
+        {
+            try
+            {
+                var mGlobalRegionListObj = Newtonsoft.Json.JsonConvert.DeserializeObject<GlobalRegionListRes>(result.Data.ToString());
+                if (UserInfo.Current.RequestHttpsHost != mGlobalRegionListObj.regionUrl)
+                {
+                    UserInfo.Current.RequestHttpsHost = mGlobalRegionListObj.regionUrl;
+                    UserInfo.Current.GlobalRegion = mGlobalRegionListObj;
+                    UserInfo.Current.SaveUserInfo();
+                }
+            }
+            catch { }
+        }
+
+        /// <summary>
         /// 鐐瑰嚮鎸夐挳鑾峰彇楠岃瘉鐮�
         /// </summary>
         void GetVerificationCode()
         {
-            btnGetVerificationCode.MouseUpEventHandler += (sender, e) =>
+            btnGetVerificationCode.MouseUpEventHandler = (sender, e) =>
             {
                 if (btnGetVerificationCode.IsSelected)
                 {
@@ -41,7 +61,7 @@
                         var tip = new Tip()
                         {
                             Text = Language.StringByID(StringId.PlsEntryPhoneNumber),
-                            CloseTime = 3,
+                            CloseTime = 1,
                             Direction = AMPopTipDirection.None
                         };
                         tip.Show(bodyView);
@@ -50,12 +70,12 @@
                         btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
                         return;
                     }
-                    if (!Regex.IsMatch(account, @"^[1]+\d{10}") || (account.Length != 11))
+                    if (!Utlis.CheckPhoneNumber(phoneNumber, phoneZoneCode))
                     {
                         var tip = new Tip()
                         {
                             Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber),
-                            CloseTime = 3,
+                            CloseTime = 1,
                             Direction = AMPopTipDirection.None
                         };
                         tip.Show(bodyView);
@@ -64,82 +84,68 @@
                         btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
                         return;
                     }
-                    btnGetVerificationCode.IsSelected = false ;
-                    btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1;
+
                     int time = 60;
                     new Thread(() =>
                     {
-                        while (time > 0)
+                        //1.鍏堟鏌ヨ处鍙锋槸鍚︽敞鍐岃繃
+                        var result = pm.GetRegionByAccount(account);
+                        if (result.Code != StateCode.SUCCESS)
                         {
-                            time--;
-                            Application.RunOnMainThread(() =>
-                            {
-                                btnGetVerificationCode.Text = time.ToString() + "s";
-                            });
-                            Thread.Sleep(1000);
+                            IMessageCommon.Current.ShowErrorInfoAlter(result.Code);
+                            ShowBtnAccountViewBottomLineError();
+                            return;
                         }
-                        Application.RunOnMainThread(() =>
-                        {
-                            btnGetVerificationCode.IsSelected = true;
-                            btnGetVerificationCode.TextID = StringId.GetVerificationCode;
-                        });
-                    })
-                    { IsBackground = true }.Start();
-                    new Thread(() =>
-                    {
-                        //鑾峰彇楠岃瘉鐮�
-                        var result = pm.GetPhoneLoginVerCode(phoneNumber);
-                        if (result.StateCode.ToUpper() == "SUCCESS")
-                        {
-                        }
-                        //鐧诲綍澶辫触
                         else
                         {
-                            string tipStr = "Sever erorr";
-                            switch (result.StateCode.ToUpper())
+                            //妫�娴嬪綋鍓嶉厤缃煙鍚嶆槸鍚︿竴鑷达紝涓嶄竴鑷村垯鏇挎崲
+                            CheckAndSetUserRequestHost(result);
+
+                            //2.1璇锋眰鑾峰彇楠岃瘉鐮�
+                            var resultObj = pm.VerificationCodeSend(VerifyType.VERIFY_LOGIN, account, true, phoneZoneCode);
+                            if (resultObj.Code != StateCode.SUCCESS)
                             {
-                                case "USERNAMEORPWDERROR":
-                                    tipStr = Language.StringByID(StringId.LoginFailed_AccountOrPasswordError);
-                                    Application.RunOnMainThread(() =>
-                                    {
-                                        btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
-                                        btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
-                                    });
-                                    break;
-                                case "ACCOUNTNOEXISTS":
-                                    tipStr = Language.StringByID(StringId.ACCOUNTNOEXISTS);
-                                    Application.RunOnMainThread(() =>
-                                    {
-                                        btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
-                                        btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
-                                    });
-                                    break;
-                                case "SENDFAIL":
-                                    tipStr = Language.StringByID(StringId.FailedToSendVerificationCode);
-                                    Application.RunOnMainThread(() =>
-                                    {
-                                        btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
-                                        btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
-                                    });
-                                    break;
-                                case "Self:Net_Error":
-                                    tipStr = Language.StringByID(StringId.NetworkAnomaly);
-                                    break;
-                            }
-                            Application.RunOnMainThread(() =>
-                            {
-                                //鎻愮ず鍘熷洜
-                                var tip = new Tip()
+                                //2.2璇锋眰鑾峰彇楠岃瘉鐮佸け璐�
+                                Application.RunOnMainThread(() =>
                                 {
-                                    Text = tipStr,
-                                    CloseTime = 3,
-                                    Direction = AMPopTipDirection.None
-                                };
-                                tip.Show(bodyView);
-                            });
+                                    btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+                                    btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
+                                });
+                                // 鎻愮ず閿欒
+                                IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code);
+                            }
+                            else
+                            {
+                                Application.RunOnMainThread(() =>
+                                {
+                                    btnGetVerificationCode.IsSelected = false;
+                                    btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1;
+                                });
+
+                                new Thread(() =>
+                                {
+                                    while (time > 0)
+                                    {
+                                        time--;
+                                        Application.RunOnMainThread(() =>
+                                        {
+                                            btnGetVerificationCode.Text = time.ToString() + "s";
+                                        });
+                                        Thread.Sleep(1000);
+                                    }
+                                    Application.RunOnMainThread(() =>
+                                    {
+                                        btnGetVerificationCode.IsSelected = true;
+                                        btnGetVerificationCode.TextID = StringId.GetVerificationCode;
+                                    });
+                                })
+                                { IsBackground = true }.Start();
+                            }
                         }
+
                     })
                     { IsBackground = true }.Start();
+
                 }
             };
         }
@@ -150,8 +156,12 @@
         void LoadPage_SwitchLoginType()
         {
             //閫夋嫨鎵嬫満鐧诲綍
-            btnPhoneLogin.MouseUpEventHandler += (sender, e) =>
+            btnPhoneLogin.MouseUpEventHandler = (sender, e) =>
             {
+                if (loginType == 0)
+                    return;
+                etAccount.Text = registerPhone;
+                etPassword.Text = "";
                 #region 鍒囨崲閫変腑鎸夐挳
                 btnEmailLogin.TextColor = CSS_Color.PromptingColor1;
                 btnEmailLogin.TextSize = CSS_FontSize.TextFontSize;
@@ -170,11 +180,45 @@
                 //鏄剧ず楠岃瘉鐮佺櫥褰曟柟寮忥紝鎵嬫満鐧诲綍鏈夐獙璇佺爜鐧诲綍
                 btnSwitchLoginMode.Visible = true;
                 #endregion
+
+                #region
+                if (logintMode == 1)
+                {
+                    if (Regex.IsMatch(account, @"^[1]+\d{10}") && (account.Length == 11) && btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode))
+                    {
+                        btnGetVerificationCode.IsSelected = true;
+                    }
+                    btnSwitchLoginMode.TextID = StringId.PasswordLogin;
+                    //passwordView.AddChidren(btnGetVerificationCode);
+                    btnGetVerificationCode.Visible = true;
+                    etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryVerificationCode);
+                    btnPasswordIcon.IsSelected = true;
+                    if (btnVisiblePassword.Parent != null)
+                    {
+                        btnVisiblePassword.RemoveFromParent();
+                    }
+                    if (btnDividingLineVertical_PasswordView2.Parent != null)
+                    {
+                        btnDividingLineVertical_PasswordView2.RemoveFromParent();
+                    }
+                    if (btnForgetPassword.Parent != null)
+                    {
+                        btnForgetPassword.RemoveFromParent();
+                    }
+                    //楠岃瘉鐮佷笉闇�瑕侀殣钘�
+                    etPassword.SecureTextEntry = false;
+                }
+                #endregion
+
             };
 
             //閫夋嫨閭鐧诲綍
             btnEmailLogin.MouseUpEventHandler += (sender, e) =>
             {
+                if (loginType == 1)
+                    return;
+                etAccount.Text = registerEmail;
+                etPassword.Text = "";
                 #region 鍒囨崲閫変腑鎸夐挳
                 btnPhoneLogin.TextColor = CSS_Color.PromptingColor1;
                 btnPhoneLogin.TextSize = CSS_FontSize.TextFontSize;
@@ -193,7 +237,7 @@
                 #endregion
 
                 //閭鍙湁瀵嗙爜鐧诲綍妯″紡
-                logintMode = 0;
+                //logintMode = 0;
                 //瀵嗙爜鐧诲綍
                 btnSwitchLoginMode.TextID = StringId.VerificationCodeLogin;
                 passwordView.AddChidren(btnVisiblePassword);
@@ -201,10 +245,11 @@
                 passwordView.AddChidren(btnForgetPassword);
                 btnPasswordIcon.IsSelected = false;
 
-                if (btnGetVerificationCode.Parent != null)
-                {
-                    btnGetVerificationCode.RemoveFromParent();
-                }
+                //if (btnGetVerificationCode.Parent != null)
+                //{
+                //btnGetVerificationCode.RemoveFromParent();
+                btnGetVerificationCode.Visible = false;
+                //}
                 //闅愯棌瀵嗙爜
                 etPassword.SecureTextEntry = true;
                 //闅愯棌楠岃瘉鐮佺櫥褰曟柟寮忥紝閭鐧诲綍娌℃湁楠岃瘉鐮佺櫥褰�
@@ -218,7 +263,7 @@
         /// </summary>
         void LoadPage_SwitchLoginMode()
         {
-            btnSwitchLoginMode.MouseUpEventHandler += (sender, e) =>
+            btnSwitchLoginMode.MouseUpEventHandler = (sender, e) =>
             {
                 logintMode = logintMode == 0 ? 1 : 0;
                 //娓呴櫎瀵嗙爜妗嗘枃鏈暟鎹�
@@ -232,22 +277,24 @@
                     etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryPassword);
                     passwordView.AddChidren(btnForgetPassword);
                     btnPasswordIcon.IsSelected = false;
-                    if (btnGetVerificationCode.Parent != null)
-                    {
-                        btnGetVerificationCode.RemoveFromParent();
-                    }
+                    //if (btnGetVerificationCode.Parent != null)
+                    //{
+                    //btnGetVerificationCode.RemoveFromParent();
+                    btnGetVerificationCode.Visible = false;
+                    //}
                     //闅愯棌瀵嗙爜
                     etPassword.SecureTextEntry = true;
                 }
                 //楠岃瘉鐮佺櫥褰�
                 else if (logintMode == 1)
                 {
-                    if (Regex.IsMatch(account, @"^[1]+\d{10}") && (account.Length == 11))
+                    if (Regex.IsMatch(account, @"^[1]+\d{10}") && (account.Length == 11) && btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode))
                     {
                         btnGetVerificationCode.IsSelected = true;
                     }
                     btnSwitchLoginMode.TextID = StringId.PasswordLogin;
-                    passwordView.AddChidren(btnGetVerificationCode);
+                    //passwordView.AddChidren(btnGetVerificationCode);
+                    btnGetVerificationCode.Visible = true;
                     etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryVerificationCode);
                     btnPasswordIcon.IsSelected = true;
                     if (btnVisiblePassword.Parent != null)
@@ -274,7 +321,7 @@
         void LoadPage_SelectionEditText()
         {
             //褰撶劍鐐瑰湪璐﹀彿鏂囨湰妗嗘椂锛屾枃鏈搴曠嚎鐐逛寒
-            etAccount.FoucsChanged += (sender, e) =>
+            etAccount.FoucsChanged = (sender, e) =>
             {
                 if (etAccount.Foucs)
                 {
@@ -286,16 +333,24 @@
                     btnAccountViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor;
                     btnAccountViewBottomLine.Height = Application.GetRealHeight(1);
                     account = etAccount.Text.Trim();
+                    if (loginType == 0)
+                    {
+                        registerPhone = account;
+                    }
+                    else
+                    {
+                        registerEmail = account;
+                    }
                     if (account.Length == 0)
                         return;
                     if (loginType == 0)
                     {
-                        if (!Regex.IsMatch(account, @"^[1]+\d{10}") || (account.Length != 11))
+                        if (!Utlis.CheckPhoneNumber(registerPhone, phoneZoneCode))
                         {
                             var tip = new Tip()
                             {
                                 Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber),
-                                CloseTime = 3,
+                                CloseTime = 1,
                                 Direction = AMPopTipDirection.None
                             };
                             tip.Show(bodyView);
@@ -313,12 +368,12 @@
                     }
                     else
                     {
-                        if (!Regex.IsMatch(account, "([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,5})+"))
+                        if (!Utlis.CheckEmail(registerEmail))
                         {
                             var tip = new Tip()
                             {
                                 Text = Language.StringByID(StringId.PlsEntryCorrectEmailAddress),
-                                CloseTime = 3,
+                                CloseTime = 1,
                                 Direction = AMPopTipDirection.None
                             };
                             tip.Show(bodyView);
@@ -329,7 +384,7 @@
                 }
             };
             //褰撶劍鐐瑰湪瀵嗙爜鏂囨湰妗嗘椂锛屾枃鏈搴曠嚎鐐逛寒
-            etPassword.FoucsChanged += (sender, e) =>
+            etPassword.FoucsChanged = (sender, e) =>
             {
                 if (etPassword.Foucs)
                 {
@@ -351,8 +406,13 @@
             //褰撶劍鐐瑰湪瀵嗙爜鏂囨湰妗嗘椂锛岀偣鍑婚敭鐩樺洖鎾ゆ寜閿紝瑙﹀彂鐨勪簨浠�
             etPassword.EditorEnterAction += (obj) =>
             {
-                etPassword.Foucs = false;
+                Application.HideSoftInput();
             };
+            etPassword.MouseUpEventHandler = (sender, e) =>
+            {
+                etPassword.Foucs = true;
+            };
+
         }
 
         /// <summary>
@@ -383,17 +443,20 @@
             {
                 if (btnLogin.IsSelected)
                 {
+                    //鍒ゆ柇鏄惁鍚屾剰浜嗛殣绉佹斂绛�
+                    if (CheckPrivacyPolicy() == false) return;
+
                     account = etAccount.Text.Trim();
                     password = etPassword.Text.Trim();
 
                     if (loginType == 0)
                     {
-                        if (!Regex.IsMatch(account, @"^[1]+\d{10}") && (account.Length == 11))
+                        if (!Utlis.CheckPhoneNumber(account, phoneZoneCode))
                         {
                             var tip = new Tip()
                             {
                                 Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber),
-                                CloseTime = 3,
+                                CloseTime = 1,
                                 Direction = AMPopTipDirection.None
                             };
                             tip.Show(bodyView);
@@ -402,12 +465,12 @@
                     }
                     else
                     {
-                        if (!Regex.IsMatch(account, "([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,5})+"))
+                        if (!Utlis.CheckEmail(account))
                         {
                             var tip = new Tip()
                             {
                                 Text = Language.StringByID(StringId.PlsEntryCorrectEmailAddress),
-                                CloseTime = 3,
+                                CloseTime = 1,
                                 Direction = AMPopTipDirection.None
                             };
                             tip.Show(bodyView);
@@ -419,19 +482,29 @@
                     var loginThread = LoadThread_Login();
                     waitPage = new Loading();
                     new PublicAssmebly().LoadPage_WaitPage(loginThread, bodyView, waitPage);
-
                 }
             };
             #region 褰撹处鍙峰瘑鐮侀兘杈撳叆鏃讹紝鎵嶈兘鐐瑰嚮鐧诲綍鎸夐挳
-            etAccount.TextChangeEventHandler += (sender, e) =>
+            etAccount.TextChangeEventHandler = (sender, e) =>
             {
-                if (etAccount.Text.Trim().Length > 0 && etPassword.Text.Trim().Length > 0)
+                account = etAccount.Text.Trim();
+                if (account.Length > 0 && etPassword.Text.Trim().Length > 0)
                 {
                     btnLogin.IsSelected = true;
                 }
                 else
                 {
                     btnLogin.IsSelected = false;
+                }
+                if (Regex.IsMatch(account, @"^[1]+\d{10}"))//&& account.Length == 11)
+                {
+                    btnGetVerificationCode.IsSelected = true;
+                    btnGetVerificationCode.TextColor = CSS_Color.MainBackgroundColor;
+                }
+                else
+                {
+                    btnGetVerificationCode.IsSelected = false;
+                    btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1;
                 }
             };
             etPassword.TextChangeEventHandler += (sender, e) =>
@@ -457,8 +530,38 @@
             {
                 try
                 {
+                    //濡傛灉鏄处鍙峰瘑鐮佺櫥褰曪紝鍏堟鏌ヤ竴娆¤处鍙锋槸鍚︽敞鍐岃繃
+                    if (logintMode == 0)
+                    {
+                        //1.鍏堟鏌ヨ处鍙锋槸鍚︽敞鍐岃繃
+                        var result = pm.GetRegionByAccount(account);
+                        if (result.Code != StateCode.SUCCESS)
+                        {
+                            IMessageCommon.Current.ShowErrorInfoAlter(result.Code);
+                            ShowBtnAccountViewBottomLineError();
+                            return;
+                        }
+                        else
+                        {
+                            //璁剧疆鐢ㄦ埛鎵�娉ㄥ唽鍦板尯鐨勫煙鍚嶏紝鐢ㄦ埛鐩稿叧鎿嶄綔閮界敤杩欎釜鍩熷悕
+                            CheckAndSetUserRequestHost(result);
+                        }
+                    }
+
                     //鐧诲綍
                     var loginResult = LoadMethod_Login();
+                    if (!string.IsNullOrEmpty(verAccount))//楠岃瘉鐧诲綍璐﹀彿
+                    {
+                        Application.RunOnMainThread(() =>
+                        {
+                            if (verAccount == etPassword.Text.Trim())
+                            {
+                                //璺宠浆椤甸潰----
+                                MainPage.GoUserPage();
+                                return;
+                            }
+                        });
+                    }
                     if (loginResult)
                     {
                         //鑾峰彇浣忓畢淇℃伅
@@ -469,11 +572,299 @@
                              * Wait : 鎺ㄩ�佹敞鍐�
                              */
 
+                            /*
+                             鏌ョ湅鏈湴鏄惁瀛樺湪鏁版嵁
+                             瀛樺湪鍒欏鍑�
+                             */
+                            var isExis = FileUtils.IsExisFolder(DB_ResidenceData.residenceData.CurReginID);
+                            if (isExis)
+                            {
+                                FileUtils.DeleteAllFile();
+                                string regionRootPath = FileUtils.CreateRegionBackup(DB_ResidenceData.residenceData.CurReginID);
+                                FileUtils.RestoreRegionFiles(regionRootPath);
+                                DB_ResidenceData.residenceData.EixtAccount();
+                                OnAppConfig.Instance.RefreshUserConfig();
+                                DB_ResidenceData.InitRoomFunction();
+                            }
+                            if (UserInfo.Current.userEmailInfo == "464027401@qq.com")
+                            {
+                                DB_ResidenceData.residenceData.floors.Add(new Floor() { name = "1F", sid = "09888" });
+                                var r111 = new Room() { sid = "0001", name = "Room-1", floorId = "09888", backgroundImage = "Classification/Room/Roombg.png" };
+                                DB_ResidenceData.rooms.Add(r111);
+                                DB_ResidenceData.residenceData.floors.Add(new Floor() { sid = "000022222", name = "1F" });
+                                r111.SaveRoomData();
+                                new AC()
+                                {
+                                    sid = "030101123456780604010001ABCD",
+                                    name = "绌鸿皟",
+                                    function = new List<FunctionAttributes>() {
+                                                                new FunctionAttributes { key="on_off", max=1,min = 0, value= new List<string> { "on","off"} },
+                                                                new FunctionAttributes { key="mode", max = 2,min =0,value = new List<string>{ "auto", "heat", "cool","dry" } },
+                                                                new FunctionAttributes { key = "fan",max = 3,min =0,value = new List<string>{ "low", "medium", "high" ,"auto"} },
+                                                                new FunctionAttributes { key = "set_temperature", max = 32,min=16,value = new List<string>{"up","down" } },
+                                                            },
+                                    roomIdList = new List<string>() { "0001" },
+                                    lastState = "鍒跺喎 涓 18掳C",
+                                    bus_Data = new BusData
+                                    {
+                                        SubnetID = 42,
+                                        DeviceID = 8,
+                                        LoopID = 1,
+                                    },
+                                }.SaveFunctionData();
+                                new Light()
+                                {
+                                    sid = "030101123456780202020002ABCD",
+                                    name = "璋冨厜鐏�",
+                                    function = new List<FunctionAttributes>() {
+                                                                new FunctionAttributes { key="brightness", max=100,min = 0, value= new List<string> { "up","down"} },
+                                                            },//"brightness",
+                                    roomIdList = new List<string>() { "0001" },
+                                    lastState = "20%",
+                                    bus_Data = new BusData
+                                    {
+                                        SubnetID = 42,
+                                        DeviceID = 9,
+                                        LoopID = 1,
+                                    },
+
+                                }.SaveFunctionData();
+                                new Curtain()
+                                {
+                                    sid = "030101123456780303010003ABCD",
+                                    name = "绐楀笜妯″潡",
+                                    roomIdList = new List<string>() { "0001" },
+                                    function = new List<FunctionAttributes>() {
+                                                                new FunctionAttributes { key="on_off", max=2,min = 0, value= new List<string> { "on","off","stop"} },
+                                                            },// "curtain",
+                                    lastState = "寮�",
+                                    bus_Data = new BusData
+                                    {
+                                        SubnetID = 42,
+                                        DeviceID = 7,
+                                        LoopID = 1,
+                                    },
+                                }.SaveFunctionData();
+                                new Curtain()
+                                {
+                                    sid = "030101123456780303030011ABCD",
+                                    name = "寮�鍚堝笜",
+                                    roomIdList = new List<string>() { "0001" },
+                                    function = new List<FunctionAttributes>() {
+                                                                new FunctionAttributes { key="on_off", max=100,min = 0, value= new List<string> { "on","off","stop"} },
+                                                            },//"curtaintype",
+                                    lastState = "20%",
+                                    bus_Data = new BusData
+                                    {
+                                        SubnetID = 42,
+                                        DeviceID = 7,
+                                        LoopID = 11,
+                                    },
+                                }.SaveFunctionData();
+                                new Curtain()
+                                {
+                                    sid = "030101123456780503040012ABCD",
+                                    name = "鍗峰笜",
+                                    roomIdList = new List<string>() { "0001" },
+                                    function = new List<FunctionAttributes>() {
+                                                                new FunctionAttributes { key="on_off", max=2,min = 0, value= new List<string> { "on","off","stop"} },
+                                                                new FunctionAttributes { key="percent", max=100,min = 0, value= new List<string> { "percent" } },
+
+                                                            },// "rollingshutter",
+                                    lastState = "20%",
+                                    bus_Data = new BusData
+                                    {
+                                        SubnetID = 42,
+                                        DeviceID = 17,
+                                        LoopID = 1,
+                                    },
+                                }.SaveFunctionData();
+                                new FloorHeating()
+                                {
+                                    sid = "030101123456780404020004ABCD",
+                                    name = "鍦扮儹",
+                                    roomIdList = new List<string>() { "0001" },
+                                    function = new List<FunctionAttributes>() {
+                                                                new FunctionAttributes { key="on_off", max=1,min = 0, value= new List<string> { "on","off"} },
+                                                                new FunctionAttributes { key="mode", max = 2,min =0,value = new List<string>{ "normal", "day", "night","timer","away" } },
+                                                                new FunctionAttributes { key = "set_temperature", max = 32,min=5,value = new List<string>{"up","down" } },
+                                                            },//
+                                    lastState = "鑷姩 25掳C",
+                                    bus_Data = new BusData
+                                    {
+                                        SubnetID = 111,
+                                        DeviceID = 12,
+                                        LoopID = 1
+                                    }
+                                }.SaveFunctionData();
+                                new Light()
+                                {
+                                    sid = "030101123456780202010005ABCD",
+                                    name = "鍚婄伅",
+                                    function = new List<FunctionAttributes>() {
+                                                                new FunctionAttributes { key="on_off", max=100,min = 0, value= new List<string> { "on","off"} },
+                                                            },//"on_off",
+                                    roomIdList = new List<string>() { "0001" },
+                                    bus_Data = new BusData
+                                    {
+                                        SubnetID = 42,
+                                        DeviceID = 6,
+                                        LoopID = 1,
+                                    },
+                                }.SaveFunctionData();
+                                new Light()
+                                {
+                                    sid = "030101123456780202040006ABCD",
+                                    name = "RGB鐏�",
+                                    function = new List<FunctionAttributes>() {
+                                                                new FunctionAttributes { key="brightness", max=100,min = 0, value= new List<string> { "on","off"} },
+                                                                new FunctionAttributes { key="color", max=100,min = 0, value= new List<string> { "255", "255", "255" } },
+                                                            },
+                                    roomIdList = new List<string>() { "0001" },
+                                    bus_Data = new BusData
+                                    {
+                                        SubnetID = 42,
+                                        DeviceID = 4,
+                                        LoopID = 1,
+                                    },
+                                }.SaveFunctionData();
+                                new Fan()
+                                {
+                                    sid = "030101123456781010020006ABCD",
+                                    name = "椋庢墖",
+                                    function = new List<FunctionAttributes>() {
+                                                            new FunctionAttributes { key="on_off", max=1,min = 0, value= new List<string> { "on","off"} },
+                                                            new FunctionAttributes { key="percent", max=7,min = 0, value= new List<string> { "percent" } },
+                                                        },
+                                    roomIdList = new List<string>() { "0001" },
+                                    bus_Data = new BusData
+                                    {
+                                        SubnetID = 142,
+                                        DeviceID = 4,
+                                        LoopID = 11,
+                                    },
+                                }.SaveFunctionData();
+                                new TV()
+                                {
+                                    sid = "030101123456781010020006ABCD",
+                                    name = "鐢佃",
+                                    function = new List<FunctionAttributes>() {
+                                                            new FunctionAttributes { key="on_off", max=1,min = 0, value= new List<string> { "on","off"} },
+                                                        },
+                                    roomIdList = new List<string>() { "0001" },
+                                    bus_Data = new BusData
+                                    {
+                                        SubnetID = 142,
+                                        DeviceID = 4,
+                                        LoopID = 111,
+                                    },
+                                }.SaveFunctionData();
+                                new SwitchSocket()
+                                {
+                                    sid = "030101123456780101020006ABCD",
+                                    name = "鎻掑骇",
+                                    function = new List<FunctionAttributes>() {
+                                                            new FunctionAttributes { key="on_off", max=1,min = 0, value= new List<string> { "on","off"} },
+                                                        },
+                                    roomIdList = new List<string>() { "0001" },
+                                    bus_Data = new BusData
+                                    {
+                                        SubnetID = 42,
+                                        DeviceID = 6,
+                                        LoopID = 1,
+                                    },
+                                }.SaveFunctionData();
+                                new Sensor()
+                                {
+                                    sid = "030101123456781005060006ABCD",
+                                    name = "PM2.5",
+                                    roomIdList = new List<string>() { "0001" },
+                                    function = new List<FunctionAttributes>() {
+                                                            new FunctionAttributes { key="values", max=1,min = 0, value= new List<string> { "22"} },
+                                                        },
+                                    bus_Data = new BusData
+                                    {
+                                        SubnetID = 111,
+                                        DeviceID = 15,
+                                        LoopID = 1,
+                                    },
+                                }.SaveFunctionData();
+                                new Sensor()
+                                {
+                                    sid = "030101123456781005070006ABCD",
+                                    name = "CO2",
+                                    roomIdList = new List<string>() { "0001" },
+                                    function = new List<FunctionAttributes>() {
+                                                            new FunctionAttributes { key="values", max=1,min = 0, value= new List<string> { "1352"} },
+                                                        },
+                                    bus_Data = new BusData
+                                    {
+                                        SubnetID = 111,
+                                        DeviceID = 15,
+                                        LoopID = 1,
+                                    },
+                                }.SaveFunctionData();
+                                new Sensor()
+                                {
+                                    sid = "030101123456781005020006ABCD",
+                                    name = "娓╁害",
+                                    roomIdList = new List<string>() { "0001" },
+                                    function = new List<FunctionAttributes>() {
+                                                            new FunctionAttributes { key="values", max=1,min = 0, value= new List<string> { "28"} },
+                                                        },
+                                    bus_Data = new BusData
+                                    {
+                                        SubnetID = 111,
+                                        DeviceID = 15,
+                                        LoopID = 1,
+                                    },
+                                }.SaveFunctionData();
+                                new Sensor()
+                                {
+                                    sid = "030101123456781005050006ABCD",
+                                    name = "TVOC",
+                                    roomIdList = new List<string>() { "0001" },
+                                    function = new List<FunctionAttributes>() {
+                                                            new FunctionAttributes { key="values", max=1,min = 0, value= new List<string> { "0.3"} },
+                                                        },
+                                    bus_Data = new BusData
+                                    {
+                                        SubnetID = 111,
+                                        DeviceID = 15,
+                                        LoopID = 1,
+                                    },
+                                }.SaveFunctionData();
+                                new Sensor()
+                                {
+                                    sid = "030101123456781005030006ABCD",
+                                    name = "婀垮害",
+                                    roomIdList = new List<string>() { "0001" },
+                                    function = new List<FunctionAttributes>() {
+                                                            new FunctionAttributes { key="values", max=1,min = 0, value= new List<string> { "15"} },
+                                                        },
+                                    bus_Data = new BusData
+                                    {
+                                        SubnetID = 111,
+                                        DeviceID = 15,
+                                        LoopID = 1,
+                                    },
+                                }.SaveFunctionData();
+                                DB_ResidenceData.residenceData.SaveResidenceData();
+                            }
                             Application.RunOnMainThread(() =>
                             {
                                 //璺宠浆椤甸潰----
                                 MainPage.GoUserPage();
                             });
+                        }
+                        else
+                        {
+                            //2020-11-13 寰呯‘璁�
+                            //鑾峰彇浣忓畢澶辫触锛岄噸鏂版爣璁颁负鏈櫥褰曠姸鎬�
+                             UserInfo.Current.LastTime = DateTime.MinValue;
+                             UserInfo.Current.SaveUserInfo();
+                            //鐧诲綍澶辫触锛岃鍏堟坊鍔犱綇瀹咃紒
+                            Utlis.ShowAlertOnMainThread(Language.StringByID(StringId.FailedGetHomeList));
                         }
                     }
                 }
@@ -503,34 +894,40 @@
         bool LoadMethod_Login()
         {
             var result = false;
-            ResponsePack loginResult;
-            if (logintMode == 0)
+            ResponsePackNew loginResult;
+            if (logintMode == 0 || loginType == 1)
             {
                 //璋冪敤鐧诲綍鎺ュ彛
                 loginResult = pm.LoginByPassword(account, password);
             }
             else
             {
-                //璋冪敤鐧诲綍鎺ュ彛
+                //璋冪敤楠岃瘉鐮佺櫥褰曟帴鍙�
                 loginResult = pm.LoginValidCode(account, password);
             }
-            if (loginResult.StateCode.ToUpper() == "SUCCESS")
+            if (loginResult.Code == StateCode.SUCCESS)
             {
-                var loginDataStr = Newtonsoft.Json.Linq.JObject.FromObject(loginResult.ResponseData);
-
-                //璁板綍鐢ㄦ埛鏁版嵁
-                MainPage.LoginUser = new UserInfo
-                {
-                    ID = (int)loginDataStr.GetValue("UserID"),
-                    masterID = (int)loginDataStr.GetValue("MainUserID"),
-                    accountType = (int)loginDataStr.GetValue("UserType"),
-                    accountString = account,
-                    password = password,
-                    lastTime = DateTime.Now,
-                    SIP_Account = loginDataStr.GetValue("AllVisionRegisterDevUserNameGuid").ToString(),
-                    userName = loginDataStr.GetValue("Remark").ToString(),
-                };
-                MainPage.LoginUser.SaveUserInfo();
+                var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes>(loginResult.Data.ToString());
+                // UserInfo.Current = new UserInfo
+                //{
+                //    userType = revertData.userType,
+                //    accountString = account,
+                //    password = password,
+                //    lastTime = DateTime.Now,
+                //    ID = revertData.userId,
+                //    loginTokenString = revertData.headerPrefix + revertData.accessToken,
+                //    refreshToken = revertData.refreshToken,
+                //    userName = revertData.name
+                //};
+                UserInfo.Current.userType = revertData.userType;
+                UserInfo.Current.AccountString = account;
+                //UserInfo.Current.password = password;
+                UserInfo.Current.LastTime = DateTime.Now;
+                UserInfo.Current.ID = revertData.userId;
+                UserInfo.Current.LoginTokenString = revertData.headerPrefix + revertData.accessToken;
+                UserInfo.Current.RefreshToken = revertData.refreshToken;
+                UserInfo.Current.userName = revertData.name;
+                UserInfo.Current.SaveUserInfo();
                 MainPage.Log("鐧诲綍鎴愬姛銆�");
                 result = true;
                 //鑾峰彇鐢ㄦ埛淇℃伅
@@ -543,53 +940,30 @@
             //鐧诲綍澶辫触
             else
             {
-                string tipStr = "Sever erorr";
-                switch (loginResult.StateCode)
-                {
-                    case "ValidCodeAndPhoneNoEqual":
-                        tipStr = Language.StringByID(StringId.VerificationCodeError);
-                        Application.RunOnMainThread(() =>
-                        {
-                            btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
-                            btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
-                        });
-                        break;
-                    case "USERNAMEORPWDERROR":
-                        tipStr = Language.StringByID(StringId.LoginFailed_AccountOrPasswordError);
-                        Application.RunOnMainThread(() =>
-                        {
-                            btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
-                            btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
-                        });
-                        break;
-                    case "ACCOUNTNOEXISTS":
-                        tipStr = Language.StringByID(StringId.ACCOUNTNOEXISTS);
-                        Application.RunOnMainThread(() =>
-                        {
-                            btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
-                            btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
-                        });
-                        break;
-                    case "NoRecord":
-                        tipStr = Language.StringByID(StringId.PlsGetTheVerificationCode);
-                        break;
-                    case "Self:Net_Error":
-                        tipStr = Language.StringByID(StringId.NetworkAnomaly);
-                        break;
-                }
                 //璐﹀彿鎴栬�呭瘑鐮侀敊璇�
                 Application.RunOnMainThread(() =>
                 {
-                    waitPage.Hide();
-                    //鎻愮ず鍘熷洜
-                    var tip = new Tip()
+                    if (loginResult.Code == "10008")
                     {
-                        Text = tipStr,
-                        CloseTime = 3,
-                        Direction = AMPopTipDirection.None
-                    };
-                    tip.Show(bodyView);
+                        //鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒
+                        btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+                        btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
+                    }
+                    else if (loginResult.Code == "10010")
+                    {
+                        //鐢ㄦ埛涓嶅瓨鍦�
+                        btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+                        btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
+                    }
+                    else if (loginResult.Code == "14")
+                    {
+                        btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+                        btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
+                    }
+                    waitPage.Hide();
                 });
+
+                IMessageCommon.Current.ShowErrorInfoAlter(loginResult.Code);
             }
             return result;
         }
@@ -601,32 +975,19 @@
         {
             var result = false;
             var responsePack = pm.GetHomePager();
-
-
-            if (responsePack == "Success")
+            if (responsePack == StateCode.SUCCESS)
             {
-                result = true;
+                //2020-11-13 寰呯‘璁わ紝娌℃湁浣忓畢锛屼笉绠楃櫥褰曟垚鍔�
+                if (UserInfo.Current.regionList != null && UserInfo.Current.regionList.Count > 0)
+                {
+                    result = true;
+                }
+                //result = true;
             }
             else
             {
-                var tipStr = "Server erorr";
-                switch (responsePack)
-                {
-                    case "NoLogin":
-                        tipStr = Language.StringByID(StringId.InvalidLoginCertificate);
-                        break;
-                }
-                Application.RunOnMainThread(() =>
-                {
-                    //鎻愮ず鍘熷洜
-                    var tip = new Tip()
-                    {
-                        Text = tipStr,
-                        CloseTime = 3,
-                        Direction = AMPopTipDirection.None
-                    };
-                    tip.Show(bodyView);
-                });
+                // 鎻愮ず閿欒
+                IMessageCommon.Current.ShowErrorInfoAlter(responsePack);
             }
             return result;
         }
@@ -652,6 +1013,9 @@
                 //        }
                 //    });
                 //};
+
+                //鍒ゆ柇鏄惁鍚屾剰浜嗛殣绉佹斂绛�
+                if (CheckPrivacyPolicy() == false) return;
 
                 var registerPage = new RegisterPage();
                 registerPage.Show();
@@ -686,5 +1050,18 @@
 
             };
         }
+
+        /// <summary>
+        /// 鐢ㄦ埛涓嶅瓨鍦�
+        /// </summary>
+        void ShowBtnAccountViewBottomLineError()
+        {
+            Application.RunOnMainThread(() =>
+            {
+                //鐢ㄦ埛涓嶅瓨鍦�
+                btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
+                btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
+            });
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0