wxr
2023-06-06 592974441a4df95fffd9167c90192da1a390b1c2
HDL_ON/UI/MainPage.cs
@@ -26,7 +26,7 @@
        /// <summary>
        /// 版本号
        /// </summary>
        public static string VersionString = "1.6.3";
        public static string VersionString = "1.8.0";
        ///// <summary>
        ///// 客户端类型
        ///// </summary>
@@ -35,7 +35,7 @@
        /// <summary>
        /// 
        /// </summary>
        public static Entity.CityInfo cityInfo = new Entity.CityInfo();
        public static CityInfo cityInfo = new CityInfo();
        /// <summary>
        /// 城市天气信息antion
        /// </summary>
@@ -120,7 +120,7 @@
            SPK.AirFreshStandard,SPK.HvacAirFresh,
            SPK.AirSwitch,
            SPK.PanelSocket,SPK.ElectricSocket,
            SPK.MechanicalArm,
            SPK.MechanicalArm,SPK.IpCam_Imou,
        };
@@ -136,11 +136,12 @@
                {
                    _RoomNotSupportFunctionList = new List<string>();
                    _RoomNotSupportFunctionList.Add(SPK.EnergyStandard);
                    _RoomNotSupportFunctionList.Add(SPK.MusicStandard);
                    _RoomNotSupportFunctionList.Add(SPK.AvMusic);
                    //_RoomNotSupportFunctionList.Add(SPK.MusicStandard);
                    //_RoomNotSupportFunctionList.Add(SPK.AvMusic);
                    _RoomNotSupportFunctionList.Add(SPK.AirSwitch);
                    _RoomNotSupportFunctionList.Add(SPK.ElectricEnergy);
                    _RoomNotSupportFunctionList.Add(SPK.OtherCommon);
                    //_RoomNotSupportFunctionList.Add(SPK.OtherCommon);
                    _RoomNotSupportFunctionList.Add(SPK.SensorLight);
                    _RoomNotSupportFunctionList.AddRange(SPK.EnvironDeviceSpkList());
                    //_RoomNotSupportFunctionList.AddRange(SPK.ArmSensorSpkList());
                }
@@ -156,7 +157,6 @@
                Application.DesignHeight = 667;
                //设置语言环境 防止string转 double出现逗号,todouble异常等问题
                System.Globalization.CultureInfo.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("zh-CN");
                BaseView = Application.MainPage;
                Application.MainPage.BackgroundColor = CSS_Color.MainBackgroundColor;
@@ -204,6 +204,52 @@
                //    Application.HideSoftInput();
                //});
            }
            try
            {
                CommonClass.excptionAction = (obj) =>
                {
                    Application.RunOnMainThread(() =>
                    {
                        Stan.HdlMessageLogic.Current.ShowAppProgramIsError(obj);
                    });
                };
            }
            catch (Exception ex)
            {
            }
#if __ANDROID__
            new System.Threading.Thread(async () =>
            {
                int i = 0;
                while (i < 10) {
                    try
                    {
                        var location_android = await HDL_ON_Android.LocationUtils.GetCurrentLocationAsync();
                        if (location_android != null)
                        {
                            MainPage.cityInfo.lat = location_android.Latitude.ToString();
                            MainPage.cityInfo.lon = location_android.Longitude.ToString();
                            new HDL_ON.DAL.Server.HttpServerRequest().GetCityWeatherInfo(MainPage.cityInfo.lon.Replace(",", "."), MainPage.cityInfo.lat.ToString().Replace(",", "."));
                            i = 100;
                            Application.RunOnMainThread(() => {
                                HomePage.LoadEvent_RefreshAir();
                            });
                        }
                        else
                        {
                            i++;
                        }
                    } catch (Exception ex)
                    {
                        Log($"经纬度获取异常: {ex.Message}");
                    }
                }
            })
            { IsBackground = true }.Start();
#endif
        }
        /// <summary>
@@ -211,7 +257,14 @@
        /// </summary>
        public static void GoLoginPage(UserInfo userInfo = null)
        {
            BaseView.RemoveAll();
            try
            {
                for (int i = 0; i < BaseView.ChildrenCount; i++)
                {
                    BaseView.GetChildren(i).RemoveFromParent();
                }
            }
            catch { }
            BaseView.BackgroundColor = CSS_Color.BackgroundColor;
            var fisrtView = new UI.UI1Login.LoginPage();
            fisrtView.BackgroundColor = CSS_Color.MainBackgroundColor;
@@ -226,7 +279,14 @@
        /// <param name="pageShowEvent">主页显示之后触发的事件(没有住宅的话,则不会触发)</param>
        public static void GoUserPage(bool downloadData, bool isFirstOpen = false, Action pageShowEvent = null)
        {
            BaseView.RemoveAll();
            try
            {
                for (int i = 0; i < BaseView.ChildrenCount; i++)
                {
                    BaseView.GetChildren(i).RemoveFromParent();
                }
            }
            catch { }
            #region 后退事件
            BasePageView = new PageLayout();
            BasePageView.ScrollEnabled = false;
@@ -394,36 +454,38 @@
                addResidencePage.LoadView();
                return;
            }
            new System.Threading.Thread(async () =>
            new System.Threading.Thread(() =>
            {
                try
                {
                    Entity.FunctionList.List.Clear();
                    Entity.FunctionList.List.ClearDatas();
                    Entity.SpatialInfo.CurrentSpatial.Clear();
              ///等待获取住宅信息
              Application.RunOnMainThread(() =>
              {
                    if (waitPage != null)
                    ///等待获取住宅信息
                    Application.RunOnMainThread(() =>
                    {
                        waitPage.RemoveFromParent();
                        waitPage = null;
                    }
                        if (waitPage != null)
                        {
                            waitPage.Hide();
                            waitPage.RemoveFromParent();
                            waitPage = null;
                        }
              //跳转页面----
              UserBasePage = new UserPage();
                    BasePageView.AddChidren(UserBasePage);
                    UserBasePage.LoadPage();
                    BasePageView.PageIndex = 0;
                        //跳转页面----
                        UserBasePage = new UserPage();
                        BasePageView.AddChidren(UserBasePage);
                        UserBasePage.LoadPage();
                        BasePageView.PageIndex = 0;
                    if (isFirstOpen)
                    {
                  //启动密码验证
                  new AppUnlockPage().LoadPage(isFirstOpen);
                    }
              //主页加载完成,回调事件
              pageShowEvent?.Invoke();
                    pageShowEvent = null;
                });
                        if (isFirstOpen)
                        {
                            //启动密码验证
                            new AppUnlockPage().LoadPage(isFirstOpen);
                        }
                        //主页加载完成,回调事件
                        pageShowEvent?.Invoke();
                        pageShowEvent = null;
                    });
                }
                catch (Exception ex)
                {
@@ -432,14 +494,14 @@
                finally
                {
                    Application.RunOnMainThread(() =>
              {
                    if (downloadData)
                    {
                        DB_ResidenceData.Instance.EixtAccount();
                  ///初始化app数据
                  Common.ApiUtlis.Ins.DownloadData();
                    };
                });
                      {
                          if (downloadData)
                          {
                              DB_ResidenceData.Instance.EixtAccount();
                              ///初始化app数据
                              Common.ApiUtlis.Ins.DownloadData();
                          };
                      });
                }
            }).Start();