From 3f6685c77beeb12baf840733fb890860f4c26e7c Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 25 七月 2024 17:25:59 +0800
Subject: [PATCH] 2024年07月25日17:24:45

---
 HDL_ON/UI/MainPage.cs |  324 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 260 insertions(+), 64 deletions(-)

diff --git a/HDL_ON/UI/MainPage.cs b/HDL_ON/UI/MainPage.cs
index 5121da4..a73d76b 100644
--- a/HDL_ON/UI/MainPage.cs
+++ b/HDL_ON/UI/MainPage.cs
@@ -26,7 +26,7 @@
         /// <summary>
         /// 鐗堟湰鍙�
         /// </summary>
-        public static string VersionString = "1.5.9";
+        public static string VersionString = "2.4.8";
         ///// <summary>
         ///// 瀹㈡埛绔被鍨�
         ///// </summary>
@@ -35,7 +35,12 @@
         /// <summary>
         /// 
         /// </summary>
-        public static Entity.CityInfo cityInfo = new Entity.CityInfo();
+        public static CityInfo cityInfo = new 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,13 @@
             SPK.AirFreshStandard,SPK.HvacAirFresh,
             SPK.AirSwitch,
             SPK.PanelSocket,SPK.ElectricSocket,
+            SPK.MechanicalArm,SPK.IpCam_Imou,
+            SPK.GroupControl,
+            SPK.AvMusic,
+            SPK.MusicStandard,
+            SPK.ElectricalTvHisense,
+            SPK.OtherCommon,
+            
         };
 
 
@@ -126,10 +142,13 @@
                 {
                     _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.AirSwitchP3);
                     _RoomNotSupportFunctionList.Add(SPK.ElectricEnergy);
+                    _RoomNotSupportFunctionList.Add(SPK.OtherCommon);
+                    _RoomNotSupportFunctionList.Add(SPK.SensorLight);
                     _RoomNotSupportFunctionList.AddRange(SPK.EnvironDeviceSpkList());
                     //_RoomNotSupportFunctionList.AddRange(SPK.ArmSensorSpkList());
                 }
@@ -146,9 +165,16 @@
                 //璁剧疆璇█鐜 闃叉string杞� double鍑虹幇閫楀彿锛宼odouble寮傚父绛夐棶棰�
                 System.Globalization.CultureInfo.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("zh-CN");
 
-
                 BaseView = Application.MainPage;
                 Application.MainPage.BackgroundColor = CSS_Color.MainBackgroundColor;
+                //Application.MainPage.BackgroundColor = 0xFFFF0000;// CSS_Color.MainBackgroundColor;
+                //BaseView = new FrameLayout()
+                //{
+                //    Y = Application.GetRealHeight(20),
+                //    Width = Application.GetRealWidth(376),
+                //    Height = Application.GetRealHeight(667),
+                //};
+                //Application.MainPage.AddChidren(BaseView);
                 Language.UpdateLanguage();
                 //#region 娴嬭瘯
                 //var ddd = new UI.test.TestDialog();
@@ -193,6 +219,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 = 10;
+//                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>
@@ -200,7 +272,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;
@@ -215,7 +294,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;
@@ -256,6 +342,7 @@
             BaseView.AddChidren(BtnBackIcon);
             backView.MouseMoveEventHandler = (sender, e) =>
             {
+
                 if (BasePageView.ChildrenCount <= 1)
                 {
                     return;
@@ -285,6 +372,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 +406,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);
@@ -340,36 +469,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)
                 {
@@ -378,17 +509,30 @@
                 finally
                 {
                     Application.RunOnMainThread(() =>
-              {
-                    if (downloadData)
-                    {
-                        DB_ResidenceData.Instance.EixtAccount();
-                  ///鍒濆鍖朼pp鏁版嵁
-                  Common.ApiUtlis.Ins.DownloadData();
-                    };
-                });
+                      {
+                          if (downloadData)
+                          {
+                              DB_ResidenceData.Instance.EixtAccount();
+                              ///鍒濆鍖朼pp鏁版嵁
+                              Common.ApiUtlis.Ins.DownloadData();
+                          };
+                      });
                 }
             }).Start();
 
+
+//            try
+//            {
+//#if __ANDROID__
+//                //Com.Chteam.Agent.BuglyAgentHelper.SetUserId(UserInfo.Current.AccountString);
+//#else
+//                //Bugly.Bugly.SetUserIdentifier(UserInfo.Current.AccountString);
+//#endif
+//            }
+//            catch (Exception ex)
+//            {
+//                MainPage.Log("Bugly error");
+//            }
         }
 
         /// <summary>
@@ -400,55 +544,83 @@
         public static int LoadEvent_BackAction()
         {
             int result = 0;
+            
             Application.RunOnMainThread(() =>
             {
-                if (BasePageView == null || BasePageView.ChildrenCount <= 1)
+                try
                 {
-                    result = 2;//鏃犳硶鍐嶅悗閫�锛屽彲浠ユ墽琛岄��鍒版闈�
-          }
-                if (BasePageView.ChildrenCount > 1)
-                {
-                    int index = BasePageView.ChildrenCount - 1;
-                    var view = BasePageView.GetChildren(index);
-                    if (view.GetType() == typeof(Loading))
+                    if (Inverter.Ins.H5Page.Parent != null)
                     {
-                        var loading = view as Loading;
-                        if (loading.CurStatus == false)//鏈変竴浜涚瓑寰呯晫闈㈤殣钘忎簡锛屼絾鏄病鏈夌Щ闄ゅ埌锛岄渶瑕佸厛绉婚櫎
-                  {
-                            loading.RemoveFromParent();
-                            result = LoadEvent_BackAction();
+                        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
                         {
-                            result = 1;//姝e湪绛夊緟鏌愪簺鎿嶄綔
-                  }
+                            Inverter.Ins.PageIndex = "1";
+                        }
+                    }
+
+
+                    if (BasePageView == null || BasePageView.ChildrenCount <= 1)
+                    {
+                        result = 2;//鏃犳硶鍐嶅悗閫�锛屽彲浠ユ墽琛岄��鍒版闈�
                     }
                     else
                     {
-                        if (view != null)
+                        if (BasePageView.ChildrenCount > 1)
                         {
-                            if (view.Tag != null)
+                            int index = BasePageView.ChildrenCount - 1;
+                            var view = BasePageView.GetChildren(index);
+                            if (view.GetType() == typeof(Loading))
                             {
-                                if (view.Tag.ToString() != "unlockpage")
+                                var loading = view as Loading;
+                                if (loading.CurStatus == false)//鏈変竴浜涚瓑寰呯晫闈㈤殣钘忎簡锛屼絾鏄病鏈夌Щ闄ゅ埌锛岄渶瑕佸厛绉婚櫎
                                 {
-                                    view.RemoveFromParent();
+                                    loading.RemoveFromParent();
+                                    result = LoadEvent_BackAction();
                                 }
                                 else
                                 {
-                                    result = 2;
+                                    result = 1;//姝e湪绛夊緟鏌愪簺鎿嶄綔
                                 }
                             }
                             else
                             {
-                                view.RemoveFromParent();
+                                if (view != null)
+                                {
+                                    if (view.Tag != null)
+                                    {
+                                        if (view.Tag.ToString() != "unlockpage")
+                                        {
+                                            view.RemoveFromParent();
+                                        }
+                                        else
+                                        {
+                                            result = 2;
+                                        }
+                                    }
+                                    else
+                                    {
+                                        view.RemoveFromParent();
+                                    }
+                                }
                             }
                         }
+                        else
+                        {
+                            result = 2;//鏃犳硶鍐嶅悗閫�锛屽彲浠ユ墽琛岄��鍒版闈�
+                        }
                     }
-                }
-                else
+                }catch(Exception ex)
                 {
-                    result = 2;//鏃犳硶鍐嶅悗閫�锛屽彲浠ユ墽琛岄��鍒版闈�
-          }
+                    MainPage.Log($"鍔犺浇瀹夊崜鍚庨��寮傚父:{ex.Message}");
+                }
             });
             return result;
         }
@@ -460,11 +632,35 @@
         public static void Log(string msg)
         {
 #if DEBUG
-            Console.WriteLine(msg);
+            if (msg.Contains("鏀跺埌")
+                //|| msg.Contains("鍙戦��")
+                //|| msg.Contains("鎺ユ敹")
+                || true
+                )
+                Console.WriteLine(msg);
 #endif
         }
 
 
+        /// <summary>
+        /// 鑷畾涔夋棩蹇楄緭鍑�
+        /// </summary>
+        public static void Log(string tag,string msg)
+        {
+#if DEBUG
+            Console.WriteLine($"{tag}-->{msg}");
+#endif
+            if (tag == "error")
+            {
+                new System.Threading.Thread(async () =>
+                {
+                    await Common.AliyunLog.AliyunLogClient.PostLogs("鑷畾涔塃rror鏃ュ織", msg);
+                })
+                { IsBackground = true }.Start();
+            }
+        }
+
+
     }
 
 }
\ No newline at end of file

--
Gitblit v1.8.0