From acb2b278663952ce555b06a2e821f359225f15e0 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期五, 10 七月 2020 09:41:15 +0800
Subject: [PATCH] 备份
---
ZigbeeApp/Shared/Phone/UserView/HomePage.cs | 191 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 191 insertions(+), 0 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserView/HomePage.cs b/ZigbeeApp/Shared/Phone/UserView/HomePage.cs
new file mode 100755
index 0000000..960d44d
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserView/HomePage.cs
@@ -0,0 +1,191 @@
+锘縰sing System;
+using Shared.Common;
+
+namespace Shared.Phone.UserView
+{
+ /// <summary>
+ /// Home page.绗簩鐗堝憖
+ /// </summary>
+ public class HomePage : PageLayout
+ {
+ static HomePage homePage;
+ /// <summary>
+ /// Gets the instance.
+ /// </summary>
+ /// <value>The instance.</value>
+ public static HomePage Instance
+ {
+ get
+ {
+ if (homePage == null)
+ {
+ homePage = new HomePage { IsShowPoint = false };
+ }
+ return homePage;
+ }
+ }
+ /// <summary>
+ /// Inits the page.
+ /// </summary>
+ public void InitPage()
+ {
+ if (0 < ChildrenCount)
+ {
+ return;
+ }
+
+ AddChidren(UserPage.Instance);
+ UserPage.Instance.InitPage();
+
+ this.PageChange += (sender, e) =>
+ {
+ while (e < this.ChildrenCount - 1)
+ {
+ this.GetChildren(this.ChildrenCount - 1).RemoveFromParent();
+ }
+ if (e == 0)
+ {
+ this.ScrollEnabled = true;
+ }
+ };
+
+ //鐩存帴鐧诲綍
+ if (Config.Instance.IsLogin)
+ {
+ //鏄剧ず鍚姩椤�
+ this.ShowLoginLoadView();
+ CommonPage.Loading.Start();
+
+ UserCenter.HdlThreadLogic.Current.RunThread(async () =>
+ {
+ //鐧诲綍
+ var loginSuccess = await LoginByPWDAsync(Config.Instance.Account, Config.Instance.Password);
+ //鐧诲綍鎴愬姛,鎴栬�呮病鏈夌綉缁滈兘鍙互鐧诲綍
+ if (loginSuccess == 1 || loginSuccess == 2)
+ {
+ var homes = await UserCenter.HdlResidenceLogic.Current.GetHomeListsFromDb();
+ //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
+ await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
+ //鍚姩ZigBee
+ ZigBee.Common.Application.Init();
+
+ UserCenter.HdlThreadLogic.Current.RunMain(() =>
+ {
+ CommonPage.Instance.RemoveViewByTag("Login");
+ UserPage.Instance.ReFreshControl();
+ CommonPage.Loading.Hide();
+ });
+ }
+ else
+ {
+ //璁惧畾涓�涓椂闂�
+ Config.Instance.LoginDateTime = new DateTime(1970, 1, 1);
+ Config.Instance.Save();
+
+ UserCenter.HdlThreadLogic.Current.RunMain(() =>
+ {
+ CommonPage.Loading.Hide();
+ CommonPage.Instance.RemoveViewByTag("Login");
+ //鐧诲綍寮瑰嚭鐧诲綍鐣岄潰
+ var accountLogin = new Login.AccountLoginForm { };
+ Shared.Common.CommonPage.Instance.AddChidren(accountLogin);
+ accountLogin.ShowForm();
+ });
+ }
+ });
+ }
+ else
+ {
+ //鏈櫥褰曞脊鍑虹櫥褰曠晫闈�
+ var accountLogin = new Login.AccountLoginForm { };
+ 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;
+ //鏍囪涓婁竴娆℃槸涓嶆槸鍚屼竴涓处鍙风櫥闄�
+ 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
+ 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