From e90209beae6a4e822cecb18e6889f8bda23f630e Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 14 十二月 2020 11:16:06 +0800 Subject: [PATCH] 合并了晾衣架(非新云端) --- ZigbeeApp/Shared/Phone/UserView/HomePage.cs | 94 +++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 87 insertions(+), 7 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserView/HomePage.cs b/ZigbeeApp/Shared/Phone/UserView/HomePage.cs index d1f02f8..7072a40 100755 --- a/ZigbeeApp/Shared/Phone/UserView/HomePage.cs +++ b/ZigbeeApp/Shared/Phone/UserView/HomePage.cs @@ -50,24 +50,25 @@ }; //鐩存帴鐧诲綍 - if (Config.Instance.CanAutoLogin) + if (Config.Instance.IsLogin) { //鏄剧ず鍚姩椤� CommonPage.Loading.Start(); - HdlThreadLogic.Current.RunThread(() => + UserCenter.HdlThreadLogic.Current.RunThread(() => { //鐧诲綍 - var loginSuccess = HdlAccountLogic.Current.AutoLoginByRefreshToken(); + var loginSuccess = LoginByPWDAsync(Config.Instance.Account, Config.Instance.Password); //鐧诲綍鎴愬姛,鎴栬�呮病鏈夌綉缁滈兘鍙互鐧诲綍 - if (loginSuccess == AccountStatu.Sucess || loginSuccess == AccountStatu.NotNetWork) + if (loginSuccess == 1 || loginSuccess == 2) { + var homes = UserCenter.HdlResidenceLogic.Current.GetHomeListsFromDb(true); //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼ - bool result = HdlUserCenterLogic.Current.InitUserCenterMenmoryAndThread(true); + bool result = UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread(); //鍚姩ZigBee ZigBee.Common.Application.Init(); - HdlThreadLogic.Current.RunMain(() => + UserCenter.HdlThreadLogic.Current.RunMain(() => { CommonPage.Instance.RemoveViewByTag("Login"); CommonPage.Loading.Hide(); @@ -84,7 +85,7 @@ Config.Instance.LoginDateTime = new DateTime(1970, 1, 1); Config.Instance.Save(); - HdlThreadLogic.Current.RunMain(() => + UserCenter.HdlThreadLogic.Current.RunMain(() => { CommonPage.Loading.Hide(); CommonPage.Instance.RemoveViewByTag("Login"); @@ -104,5 +105,84 @@ accountLogin.ShowForm(); } } + + /// <summary> + /// 1:鐧诲綍鎴愬姛 0:瀵嗙爜閿欒 -1:鍏朵粬寮傚父 2:鏃犳硶鑱旂綉 + /// </summary> + /// <returns>The by PWDA sync.</returns> + /// <param name="account">Account.</param> + /// <param name="password">Password.</param> + /// <param name="source">Source.</param> + /// <param name="company">Company.</param> + public int LoginByPWDAsync(string account, string password, string source = "", int company = 0) + { + var isLoginSuccess = -1; + var requestObj = new SendDataToServer.LoginObj + { + Account = account, + Password = password + }; + var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj); + //鐧婚檰鎺ュ彛鐗规畩,闇�瑕佸揩涓�鐐硅闂�,璁剧疆3绉掕秴鏃� + var revertObj = CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/Login", System.Text.Encoding.UTF8.GetBytes(requestJson), 3); + if (revertObj == null) + { + return 2; + } + var stateCodeStr = revertObj.StateCode.ToUpper(); + //Error 涓嶈兘鐩存帴浠庢湇鍔″櫒鍙栵紝鍙兘鏍规嵁鐘舵�佺爜閫愪竴鍒ゆ柇 + if (stateCodeStr == "SUCCESS") + { + var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginRes>(revertObj.ResponseData.ToString()); + var revertData = responseDataObj; + //鏍囪涓婁竴娆℃槸涓嶆槸鍚屼竴涓处鍙风櫥闄� + Config.Instance.TheSameLoginAccount = Config.Instance.Guid == revertData.Guid; + Config.Instance.Account = revertData.Account; + Config.Instance.Password = password; + Config.Instance.MD5PWD = revertData.MD5PWD; + Config.Instance.Guid = revertData.Guid; + Config.Instance.LoginDateTime = DateTime.Now; + Config.Instance.LoginToken = revertData.Token; + //涓婃姤璁惧ID + CommonPage.Instance.PushRegID(); + isLoginSuccess = 1; + } + else if (stateCodeStr == "YOUDATANOISLOCALREGION") + { + //涓嶅湪鏈尯鍩燂紝闇�瑕侀噸瀹氬悜鍖哄煙鍚庡啀娆¤姹傜櫥褰� + var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginLocalRegionRes>(revertObj.ResponseData.ToString()); + CommonPage.RequestHttpsHost = responseDataObj.RegionServer; + //鍐嶆鐧诲綍 + return this.LoginByPWDAsync(account, password, source, company); + } + if (stateCodeStr == "NOTVERIFY") + { + //鏈縺娲� + } + else if (stateCodeStr == "NOTENABLE") + { + //璇ョ敤鎴峰睘浜庤皟璇曡处鍙凤紝骞舵湭鍚敤 + } + else if (stateCodeStr == "PARAMETEROREMPTY") + { + //鎻愪緵鐨勫弬鏁伴敊璇� + } + else if (stateCodeStr == "USERNAMEORPWDERROR") + { + //璐﹀彿鎴栧瘑鐮侀敊璇� + isLoginSuccess = 0; + } + else if (stateCodeStr == "ACCOUNTNOEXISTS") + { + //璐﹀彿涓嶅瓨鍦� + isLoginSuccess = 0; + } + else if (stateCodeStr == "BERESTRICT") + { + //姝よ处鍙锋棤鏉冪櫥褰� + isLoginSuccess = 0; + } + return isLoginSuccess; + } } } -- Gitblit v1.8.0