From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 09:07:13 +0800 Subject: [PATCH] 新云端Ver1.3 --- ZigbeeApp/Shared/Phone/UserView/HomePage.cs | 121 +++++++++------------------------------- 1 files changed, 27 insertions(+), 94 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserView/HomePage.cs b/ZigbeeApp/Shared/Phone/UserView/HomePage.cs index cfe69a0..d1f02f8 100755 --- a/ZigbeeApp/Shared/Phone/UserView/HomePage.cs +++ b/ZigbeeApp/Shared/Phone/UserView/HomePage.cs @@ -50,30 +50,48 @@ }; //鐩存帴鐧诲綍 - if (Config.Instance.IsLogin) + if (Config.Instance.CanAutoLogin) { //鏄剧ず鍚姩椤� - this.ShowLoginLoadView(); CommonPage.Loading.Start(); - UserCenter.HdlThreadLogic.Current.RunThread(async () => + HdlThreadLogic.Current.RunThread(() => { //鐧诲綍 - var loginSuccess = await LoginByPWDAsync(Config.Instance.Account, Config.Instance.Password); + var loginSuccess = HdlAccountLogic.Current.AutoLoginByRefreshToken(); //鐧诲綍鎴愬姛,鎴栬�呮病鏈夌綉缁滈兘鍙互鐧诲綍 - if (loginSuccess == 1 || loginSuccess == 2) + if (loginSuccess == AccountStatu.Sucess || loginSuccess == AccountStatu.NotNetWork) { - var homes = await House.GetHomeLists(); //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼ - await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread(); + bool result = HdlUserCenterLogic.Current.InitUserCenterMenmoryAndThread(true); //鍚姩ZigBee ZigBee.Common.Application.Init(); - UserCenter.HdlThreadLogic.Current.RunMain(() => + HdlThreadLogic.Current.RunMain(() => { CommonPage.Instance.RemoveViewByTag("Login"); - UserPage.Instance.Fresh(); CommonPage.Loading.Hide(); + if (result == true) + { + //false:寮�鍚簡璋冭瘯鍔熻兘 + UserPage.Instance.ReFreshControl(); + } + }); + } + else + { + //璁惧畾涓�涓椂闂� + Config.Instance.LoginDateTime = new DateTime(1970, 1, 1); + Config.Instance.Save(); + + HdlThreadLogic.Current.RunMain(() => + { + CommonPage.Loading.Hide(); + CommonPage.Instance.RemoveViewByTag("Login"); + //鐧诲綍寮瑰嚭鐧诲綍鐣岄潰 + var accountLogin = new Login.AccountLoginForm { }; + Shared.Common.CommonPage.Instance.AddChidren(accountLogin); + accountLogin.ShowForm(); }); } }); @@ -85,91 +103,6 @@ Shared.Common.CommonPage.Instance.AddChidren(accountLogin); accountLogin.ShowForm(); } - } - - /// <summary> - /// 鏄剧ず鍚姩椤� - /// </summary> - public void ShowLoginLoadView() - { - var loginLoad = new LoginLoading { }; - CommonPage.Instance.AddChidren(loginLoad); - loginLoad.Show(); - } - - /// <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 async System.Threading.Tasks.Task<int> LoginByPWDAsync(string account, string password, string source = "", int company = 0) - { - var isLoginSuccess = -1; - var requestObj = new SendDataToServer.LoginObj - { - Account = account, - Password = password, - Source = source, - Company = company - }; - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj); - var revertObj = await CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/Login", System.Text.Encoding.UTF8.GetBytes(requestJson)); - 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; - //鏍囪涓婁竴娆℃槸涓嶆槸鍚屼竴涓处鍙风櫥闄� - UserCenter.UserCenterResourse.ResidenceOption.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 - await 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 await 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; - } - return isLoginSuccess; } } } -- Gitblit v1.8.0