wjc
2023-03-28 a9d1161b1df96e7ddad566335989a1444e433ef5
HDL_ON/UI/MainPage.cs
@@ -26,7 +26,7 @@
        /// <summary>
        /// 版本号
        /// </summary>
        public static string VersionString = "1.6.0";
        public static string VersionString = "1.6.4";
        ///// <summary>
        ///// 客户端类型
        ///// </summary>
@@ -36,6 +36,11 @@
        /// 
        /// </summary>
        public static Entity.CityInfo cityInfo = new Entity.CityInfo();
        /// <summary>
        /// 城市天气信息antion
        /// </summary>
        public static Action CityWeatherAction = null;
        /// <summary>
        /// 天气刷新action
        /// </summary>
@@ -53,6 +58,10 @@
        /// 0:无网络
        /// </summary>
        public static int InternetStatus = 2;
        /// <summary>
        /// 连接mqtt次数
        /// </summary>
        public static int LinkHdlMqttCount = 0;
        /// <summary>
        /// 是否进入后台
        /// </summary>
@@ -111,6 +120,7 @@
            SPK.AirFreshStandard,SPK.HvacAirFresh,
            SPK.AirSwitch,
            SPK.PanelSocket,SPK.ElectricSocket,
            SPK.MechanicalArm,SPK.IpCam_Imou,
        };
@@ -130,6 +140,8 @@
                    _RoomNotSupportFunctionList.Add(SPK.AvMusic);
                    _RoomNotSupportFunctionList.Add(SPK.AirSwitch);
                    _RoomNotSupportFunctionList.Add(SPK.ElectricEnergy);
                    _RoomNotSupportFunctionList.Add(SPK.OtherCommon);
                    _RoomNotSupportFunctionList.Add(SPK.SensorLight);
                    _RoomNotSupportFunctionList.AddRange(SPK.EnvironDeviceSpkList());
                    //_RoomNotSupportFunctionList.AddRange(SPK.ArmSensorSpkList());
                }
@@ -145,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;
@@ -256,6 +267,7 @@
            BaseView.AddChidren(BtnBackIcon);
            backView.MouseMoveEventHandler = (sender, e) =>
            {
                if (BasePageView.ChildrenCount <= 1)
                {
                    return;
@@ -285,6 +297,26 @@
            };
            backView.MouseUpEventHandler = (sender, e) =>
            {
                if (Inverter.Ins.H5Page.Parent != null)
                {
                    if (Inverter.Ins.PageIndex != "1")
                    {
                        Inverter.Ins.PageIndex = "1";
                        var status = new Dictionary<string, object> { ["method"] = "backPrePage", ["data"] = "" };
                        Inverter.Ins.H5Page.CallJS($"nativeToJs(\'{Newtonsoft.Json.JsonConvert.SerializeObject(status)}\')");
                        MainPage.Log($"up{e.X}");
                        StartX = 0;
                        BtnBackIcon.X = -Application.GetRealWidth(100);
                        return;
                    }
                    else
                    {
                        Inverter.Ins.PageIndex = "1";
                    }
                }
                MainPage.Log($"up{e.X}");
                StartX = 0;
                BtnBackIcon.X = -Application.GetRealWidth(100);
@@ -299,6 +331,28 @@
            };
            backView.MouseUpOutsideEventHandler = (sender, e) =>
            {
                if (Inverter.Ins.H5Page.Parent != null)
                {
                    if (Inverter.Ins.PageIndex != "1")
                    {
                        Inverter.Ins.PageIndex = "1";
                        List<AlinkStatusData> ddd = new List<AlinkStatusData>();
                        //var status = new Dictionary<string, object> { ["method"] = "status", ["data"] = ddd };
                        //var ddd3 = Newtonsoft.Json.JsonConvert.SerializeObject(status);
                        var status = new Dictionary<string, object> { ["method"] = "backPrePage", ["data"] = "" };
                        Inverter.Ins.H5Page.CallJS($"nativeToJs(\'{Newtonsoft.Json.JsonConvert.SerializeObject(status)}\')");
                        MainPage.Log($"up{e.X}");
                        StartX = 0;
                        BtnBackIcon.X = -Application.GetRealWidth(100);
                        return;
                    }
                    else
                    {
                        Inverter.Ins.PageIndex = "1";
                    }
                }
                MainPage.Log($"up{e.X}");
                StartX = 0;
                BtnBackIcon.X = -Application.GetRealWidth(100);
@@ -344,32 +398,32 @@
            {
                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.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)
                {
@@ -378,14 +432,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();
@@ -402,10 +456,28 @@
            int result = 0;
            Application.RunOnMainThread(() =>
            {
                if (Inverter.Ins.H5Page.Parent != null)
                {
                    if (Inverter.Ins.PageIndex != "1")
                    {
                        Inverter.Ins.PageIndex = "1";
                        var status = new Dictionary<string, object> { ["method"] = "backPrePage", ["data"] = "" };
                        Inverter.Ins.H5Page.CallJS($"nativeToJs(\'{Newtonsoft.Json.JsonConvert.SerializeObject(status)}\')");
                        StartX = 0;
                        BtnBackIcon.X = -Application.GetRealWidth(100);
                        return;
                    }
                    else
                    {
                        Inverter.Ins.PageIndex = "1";
                    }
                }
                if (BasePageView == null || BasePageView.ChildrenCount <= 1)
                {
                    result = 2;//无法再后退,可以执行退到桌面
          }
                }
                if (BasePageView.ChildrenCount > 1)
                {
                    int index = BasePageView.ChildrenCount - 1;
@@ -414,14 +486,14 @@
                    {
                        var loading = view as Loading;
                        if (loading.CurStatus == false)//有一些等待界面隐藏了,但是没有移除到,需要先移除
                  {
                        {
                            loading.RemoveFromParent();
                            result = LoadEvent_BackAction();
                        }
                        else
                        {
                            result = 1;//正在等待某些操作
                  }
                        }
                    }
                    else
                    {
@@ -448,7 +520,7 @@
                else
                {
                    result = 2;//无法再后退,可以执行退到桌面
          }
                }
            });
            return result;
        }
@@ -465,6 +537,17 @@
        }
        /// <summary>
        /// 自定义日志输出
        /// </summary>
        public static void Log(string tag,string msg)
        {
#if DEBUG
            Console.WriteLine($"{tag}-->{msg}");
#endif
        }
    }
}