wei
2020-12-22 1b5ec1190a27ebe66f74ca9513020f805d3ec61c
HDL_ON/UI/MainPage.cs
@@ -26,7 +26,7 @@
        /// <summary>
        /// 版本号
        /// </summary>
        public static string VersionString = "1.0.0924";
        public static string VersionString = "1.0.1220";
        ///// <summary>
        ///// 客户端类型
        ///// </summary>
@@ -44,15 +44,19 @@
        /// 无登录模式
        /// </summary>
        public static bool NoLoginMode = false;
        /// <summary>
        /// 远程模式
        /// </summary>
        public static bool IsRemote = false;
        ///// <summary>
        ///// 远程模式
        ///// </summary>
        //public static bool IsRemote = false;
        /// <summary>
        /// 网络连接状态
        /// 0:无网络
        /// </summary>
        public static int InternetStatus = 2;
        /// <summary>
        /// 是否进入后台
        /// </summary>
        public static bool IsEnterBackground = false;
        ///// <summary>
        ///// 公司代码
@@ -91,32 +95,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();
                    //启动密码验证
                    new AppUnlockPage().LoadPage();
                    ///初始化app数据
                    InitializationData();
                        GoUserPage(true);
                    }
                }
            }
            catch (Exception ex)
            {
@@ -146,37 +150,31 @@
        /// <summary>
        /// 进入主页
        /// </summary>
        public static void GoUserPage()
        /// <param name="isFirstOpen">如果是第一次启动 检测校验密码</param>
        /// <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(() =>
                    {
@@ -207,15 +205,29 @@
                        };
                        BaseView.AddChidren(BasePageView);
                    //跳转页面----
                    var userPage = new UserPage();
                        //跳转页面----
                        var userPage = new UserPage();
                        BasePageView.AddChidren(userPage);
                        userPage.LoadPage();
                        BasePageView.PageIndex = 0;
                        if (isFirstOpen)
                        {
                            //启动密码验证
                            new AppUnlockPage().LoadPage(isFirstOpen);
                        }
                        //主页加载完成,回调事件
                        pageShowEvent?.Invoke();
                        pageShowEvent = null;
                    });
                }catch(Exception ex)
                }
                catch (Exception ex)
                {
                    MainPage.Log($"GoUserPage : {ex.Message}");
                }finally
                {
                    ///初始化app数据
                    InitializationData();
                }
            }).Start();
        }
@@ -229,8 +241,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);
                    }
@@ -239,6 +250,7 @@
                        break;
                    }
                }
                //System.Threading.Thread.Sleep(2000);
                #region 读取云端数据--
                //todo数据覆盖处理
                //读取云端房间、楼层数据
@@ -247,6 +259,8 @@
                Entity.FunctionList.List.DownloadFunctionList();
                //读取云端场景数据
                Entity.FunctionList.List.DownloadSceneList();
                //读取逻辑列表
                UI.UI2.Intelligence.Automation.MainView.GetLogicList();
                #endregion
            })