wei
2020-12-19 c5a873df96e4a797426e4dd5eafe5b43f7aea564
HDL_ON/UI/MainPage.cs
old mode 100644 new mode 100755
@@ -91,31 +91,32 @@
                BaseView = Application.MainPage;
                Application.MainPage.BackgroundColor = CSS_Color.MainBackgroundColor;
                //LoginUser = Newtonsoft.Json.JsonConvert.DeserializeObject<UserInfo>(System.Text.Encoding.UTF8.GetString(FileUtils.ReadFile("UserInfo_File")));
                //判断需不需要登录,有没有登录,或者登录是否过期,
                if (UserInfo.Current == null || !UserInfo.Current.IsLogin)
                if (string.IsNullOrEmpty(OnAppConfig.Instance.LastLoginUserId))
                {
                    GoLoginPage(UserInfo.Current);
                    GoLoginPage();
                }
                else
                {
                    new System.Threading.Thread(() =>
                    //判断需不需要登录,有没有登录,或者登录是否过期,
                    if (UserInfo.Current == null || !UserInfo.Current.IsLogin)
                    {
                        var pm = new DAL.Server.HttpServerRequest();
                        pm.RefreshToken();//刷新Token
                        pm.GetHomePager();//刷新住宅信息
                        pm.GetUserInfo();//刷新个人信息
                    })
                    { IsBackground = true }.Start();
                        GoLoginPage(UserInfo.Current);
                    }
                    else
                    {
                        new System.Threading.Thread(() =>
                        {
                            var pm = new DAL.Server.HttpServerRequest();
                            pm.RefreshToken();//刷新Token
                            pm.GetHomePager();//刷新住宅信息
                            pm.GetUserInfo();//刷新个人信息
                        })
                        { IsBackground = true }.Start();
                    GoUserPage(true);
                    ///初始化app数据
                    InitializationData();
                        GoUserPage(true);
                    }
                }
            }
            catch (Exception ex)
            {
@@ -146,37 +147,30 @@
        /// 进入主页
        /// </summary>
        /// <param name="isFirstOpen">如果是第一次启动 检测校验密码</param>
        public static void GoUserPage(bool isFirstOpen = false)
        /// <param name="pageShowEvent">主页显示之后触发的事件(没有住宅的话,则不会触发)</param>
        public static void GoUserPage(bool isFirstOpen = false, Action pageShowEvent = null)
        {
            //加载Loading效果
            var waitPage = new Loading();
            BaseView.AddChidren(waitPage);
            waitPage.Start(Language.StringByID(StringId.PleaseWait));
            //当没有住宅时,不能让它往下走
            if (UserInfo.Current.regionList.Count == 0)
            {
                waitPage.Hide();
                var addResidencePage = new BindingResidencePage();
                BaseView.AddChidren(addResidencePage);
                addResidencePage.LoadView();
                return;
            }
            new System.Threading.Thread(() =>
            {
                try
                {
                    if (UserInfo.Current.regionList.Count == 0)
                    {
                        bool loadPage = true;
                        var pm = new DAL.Server.HttpServerRequest();
                        while (UserInfo.Current.regionList.Count == 0)
                        {
                            pm.GetHomePager();//刷新住宅信息
                            System.Threading.Thread.Sleep(3000);
                            if (loadPage)
                            {
                                loadPage = false;
                                Application.RunOnMainThread(() =>
                                {
                                    waitPage.Hide();
                                    var addResidencePage = new BindingResidencePage();
                                    BaseView.AddChidren(addResidencePage);
                                    addResidencePage.LoadDialog();
                                });
                            }
                        }
                    }
                    Entity.FunctionList.List.Clear();
                    Entity.SpatialInfo.CurrentSpatial.Clear();
                    ///等待获取住宅信息
                    Application.RunOnMainThread(() =>
                    {
@@ -218,11 +212,18 @@
                            //启动密码验证
                            new AppUnlockPage().LoadPage(isFirstOpen);
                        }
                        //主页加载完成,回调事件
                        pageShowEvent?.Invoke();
                        pageShowEvent = null;
                    });
                }
                catch (Exception ex)
                {
                    MainPage.Log($"GoUserPage : {ex.Message}");
                }finally
                {
                    ///初始化app数据
                    InitializationData();
                }
            }).Start();
        }
@@ -236,8 +237,7 @@
            {
                while (true)
                {
                    if (Entity.DB_ResidenceData.residenceData == null ||
                    Entity.DB_ResidenceData.residenceData.HomeGateway == null)
                    if (Entity.DB_ResidenceData.Instance == null )//|| Entity.DB_ResidenceData.residenceData.HomeGateway == null)
                    {
                        System.Threading.Thread.Sleep(100);
                    }
@@ -246,6 +246,7 @@
                        break;
                    }
                }
                //System.Threading.Thread.Sleep(2000);
                #region 读取云端数据--
                //todo数据覆盖处理
                //读取云端房间、楼层数据