黄学彪
2020-04-15 23532fa8ad34c89b6d24b01eaef6475fd0aad898
ZigbeeApp/Shared/Phone/UserView/HomePage.cs
@@ -4,7 +4,7 @@
namespace Shared.Phone.UserView
{
    /// <summary>
    /// Home page.
    /// Home page.第二版呀
    /// </summary>
    public class HomePage : PageLayout
    {
@@ -49,10 +49,9 @@
                }
            };
            //*******待改*****
            UserPage.Instance.Fresh();
            if (Config.Instance.IsLogin)
            {
                ShowLoginLoadView();
                CommonPage.Loading.Start();
                Action action = async () =>
                {
@@ -62,19 +61,18 @@
                    {
                        new System.Threading.Thread(async () =>
                        {
                            ZigBee.Common.Application.Init();
                            //登录成功
                            var homes = await House.GetHomeLists();
                            //刷新个人中心的内存及线程
                            await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
                            await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
                            //启动ZigBee
                            ZigBee.Common.Application.Init();
                            Room.canInitAllRoom = true;
                            Room.InitAllRoom();
                            UserCenter.HdlRoomLogic.Current.InitAllRoom();
                            Application.RunOnMainThread(() =>
                            {
                                CommonPage.Instance.RemoveViewByTag("Login");
                                UserPage.Instance.Fresh(); 
                                CommonPage.Loading.Hide();
                            });
@@ -94,19 +92,18 @@
                        //登录失败,也直接进入主页
                        new System.Threading.Thread(async () =>
                        {
                            ZigBee.Common.Application.Init();
                            //登录成功
                            var homes = await House.GetHomeLists();
                            //刷新个人中心的内存及线程
                            await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
                            await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
                            //启动ZigBee
                            ZigBee.Common.Application.Init();
                            Room.canInitAllRoom = true;
                            Room.InitAllRoom();
                            UserCenter.HdlRoomLogic.Current.InitAllRoom();
                            Application.RunOnMainThread(() =>
                            {
                                CommonPage.Instance.RemoveViewByTag("Login");
                                UserPage.Instance.Fresh();
                                CommonPage.Loading.Hide();
                            });
@@ -120,10 +117,19 @@
            else
            {
                //未登录弹出登录界面
                var accountLogin = new Device.Account.AccountLogin { };
                var accountLogin = new Login.AccountLogin { };
                Shared.Common.CommonPage.Instance.AddChidren(accountLogin);
                accountLogin.Show();
                //accountLogin.ShowForm();
            }
        }
        public void ShowLoginLoadView()
        {
            var loginLoad = new LoginLoading { };
            CommonPage.Instance.AddChidren(loginLoad);
            loginLoad.Show();
        }
        /// <summary>
@@ -146,9 +152,6 @@
                    Source = source,
                    Company = company
                };
                //将管理员标识复原
                Config.Instance.isAdministrator = false;
                var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj);
                var revertObj = await CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/Login", System.Text.Encoding.UTF8.GetBytes(requestJson));
                if (revertObj == null)
@@ -164,26 +167,17 @@
                    {
                        return -1;
                    }
                    //初始化管理员权限信息(里面有特殊判断了,可以直接调用)
                    await UserCenter.UserCenterLogic.InitAdministratorInfo();
                    var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginRes>(revertObj.ResponseData.ToString());
                    var revertData = responseDataObj;
                    Config.Instance.UserID = revertData.UserID;
                    Config.Instance.MasterID = revertData.MainUserID;
                    Config.Instance.AccountType = revertData.UserType;
                    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.MqttKey = revertData.MqttKey;
                    Config.Instance.LoginDateTime = DateTime.Now;
                    Config.Instance.ConnectZigbeeMqttBrokerPwd = revertData.ConnectZigbeeMqttBrokerPwd;
                    Config.Instance.ConnectZigbeeMqttClientId = revertData.ConnectZigbeeMqttClientId;
                    Config.Instance.ZigbeeMqttBrokerLoadSubDomain = revertData.ZigbeeMqttBrokerLoadSubDomain;
                    if (Config.Instance.AccountList.Find((obj) => obj == revertData.Account) == null)
                    {
                        Config.Instance.AccountList.Add(revertData.Account);
                    }
                    Config.Instance.LoginToken = revertData.Token;
                    isLoginSuccess = 1;
                    var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID();
                    System.Console.WriteLine($"后台登录成功--{Config.Instance.LoginDateTime}");