From 691dbe24f5724f153e07947c7b75bdfea5f0b6d5 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期二, 24 九月 2024 16:15:15 +0800
Subject: [PATCH] 离线控制模式

---
 HDL_ON/UI/MainPage.cs |  254 ++++++++++++++++++++++++++++++++++----------------
 1 files changed, 172 insertions(+), 82 deletions(-)

diff --git a/HDL_ON/UI/MainPage.cs b/HDL_ON/UI/MainPage.cs
index 66ae421..5abbe13 100644
--- a/HDL_ON/UI/MainPage.cs
+++ b/HDL_ON/UI/MainPage.cs
@@ -26,7 +26,7 @@
         /// <summary>
         /// 鐗堟湰鍙�
         /// </summary>
-        public static string VersionString = "1.6.1";
+        public static string VersionString = "2.7.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>
@@ -58,6 +58,10 @@
         /// 0:鏃犵綉缁�
         /// </summary>
         public static int InternetStatus = 2;
+        /// <summary>
+        /// 杩炴帴mqtt娆℃暟
+        /// </summary>
+        public static int LinkHdlMqttCount = 0;
         /// <summary>
         /// 鏄惁杩涘叆鍚庡彴
         /// </summary>
@@ -112,10 +116,17 @@
             SPK.LightCCT,SPK.LightDimming,SPK.LightSwitch,SPK.LightRGB,
             SPK.CurtainRoller,SPK.CurtainSwitch,SPK.CurtainTrietex,SPK.CurtainDream,
             SPK.AcIr,SPK.AcStandard,SPK.HvacAC,
-            SPK.FloorHeatStandard,SPK.HvacFloorHeat,
+            SPK.FloorHeatStandard,SPK.HvacFloorHeat,SPK.HvacFloorHeatPanel,
             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,
+            
         };
 
 
@@ -131,11 +142,17 @@
                 {
                     _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.Add(SPK.AcstParent);
+                    _RoomNotSupportFunctionList.Add(SPK.AcstSub);
+                    _RoomNotSupportFunctionList.Add(SPK.WaterHeaterJinmao);
+                    _RoomNotSupportFunctionList.Add(SPK.InverterJinmao);
                     _RoomNotSupportFunctionList.AddRange(SPK.EnvironDeviceSpkList());
                     //_RoomNotSupportFunctionList.AddRange(SPK.ArmSensorSpkList());
                 }
@@ -152,46 +169,31 @@
                 //璁剧疆璇█鐜 闃叉string杞� double鍑虹幇閫楀彿锛宼odouble寮傚父绛夐棶棰�
                 System.Globalization.CultureInfo.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("zh-CN");
 
-
                 BaseView = Application.MainPage;
                 Application.MainPage.BackgroundColor = CSS_Color.MainBackgroundColor;
                 Language.UpdateLanguage();
-                //#region 娴嬭瘯
-                //var ddd = new UI.test.TestDialog();
-                //ddd.InitView();
-                //return;
-                //#endregion
 
                 if (string.IsNullOrEmpty(OnAppConfig.Instance.LastLoginUserId))
                 {
-                    GoLoginPage();
+                    GoLoginPage(UserInfo.Current);
                 }
                 else
                 {
                     //鍒ゆ柇闇�涓嶉渶瑕佺櫥褰曪紝鏈夋病鏈夌櫥褰曪紝鎴栬�呯櫥褰曟槸鍚﹁繃鏈燂紝
-                    if (UserInfo.Current == null || !UserInfo.Current.IsLogin)
+                    if (UserInfo.Current == null)// || !UserInfo.Current.IsLogin)
                     {
                         GoLoginPage(UserInfo.Current);
                     }
                     else
                     {
-                        //new System.Threading.Thread(() =>
-                        //{
-                        //    var pm = new DAL.Server.HttpServerRequest();
-                        //    pm.RefreshToken();//鍒锋柊Token
-                        //    pm.GetHomePager();//鍒锋柊浣忓畢淇℃伅
-                        //    pm.GetUserInfo();//鍒锋柊涓汉淇℃伅
-                        //})
-                        //{ IsBackground = true }.Start();
                         Common.ApiUtlis.Ins.DownloadData();
-
                         GoUserPage(false, true);
                     }
                 }
             }
             catch (Exception ex)
             {
-                Log("root erorr : " + ex.Message);
+                Log("Error", "root erorr : " + ex.StackTrace);
             }
             finally
             {
@@ -199,6 +201,22 @@
                 //    Application.HideSoftInput();
                 //});
             }
+
+            try
+            {
+                CommonClass.excptionAction = (obj) =>
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        Stan.HdlMessageLogic.Current.ShowAppProgramIsError(obj);
+                    });
+                };
+            }
+            catch (Exception ex)
+            {
+
+            }
+
         }
 
         /// <summary>
@@ -206,7 +224,16 @@
         /// </summary>
         public static void GoLoginPage(UserInfo userInfo = null)
         {
-            BaseView.RemoveAll();
+            try
+            {
+                for (int i = 0; i < BaseView.ChildrenCount; i++)
+                {
+                    BaseView.GetChildren(i).RemoveFromParent();
+                }
+            }
+            catch { }
+            OnAppConfig.Instance.LastLoginUserId = "";
+            UserInfo.Current.ClearUserInfo();
             BaseView.BackgroundColor = CSS_Color.BackgroundColor;
             var fisrtView = new UI.UI1Login.LoginPage();
             fisrtView.BackgroundColor = CSS_Color.MainBackgroundColor;
@@ -221,7 +248,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;
@@ -389,36 +423,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)
                 {
@@ -427,17 +463,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>
@@ -449,55 +498,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;
         }
@@ -509,7 +586,12 @@
         public static void Log(string msg)
         {
 #if DEBUG
-            Console.WriteLine(msg);
+            if (msg.Contains("鏀跺埌")
+                //|| msg.Contains("鍙戦��")
+                //|| msg.Contains("鎺ユ敹")
+                || true
+                )
+                Console.WriteLine(msg);
 #endif
         }
 
@@ -522,6 +604,14 @@
 #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();
+            }
         }
 
 

--
Gitblit v1.8.0