CrabtreeOn,印度客户定制APP,迁移2.0平台版本
1
wxr
2023-03-31 d53e6af2c5f17838fa79659614b15a2a1f383399
Crabtree/SmartHome/UI/SimpleControl/Phone/User/UserMiddle.cs
@@ -220,7 +220,30 @@
            UserMiddle.updateSensorhreadList.Clear ();
        }
        //2020-01-11
        /// <summary>
        /// 移除GuidePageView
        /// </summary>
        static void removeGuidePageView ()
        {
            if (guidePageView != null) {
                if (guidePageView.Parent != null) {
                    Utlis.WriteLine ("移除GuidePageView Parent 不为");
                }
                guidePageView.RemoveFromParent ();
            }
        }
        /// <summary>
        /// 是否刷新过住宅信息 2022-06-22 14:16:27
        /// </summary>
        static bool refreshHomeData = false;
        /// <summary>
        /// 2020-01-11
        /// </summary>
        /// <param name="isGuide">是否Guide</param>
        /// <param name="bFromLogin">是否来自登录界面</param>
        public static void Init (bool isGuide = false, bool bFromLogin = false)
        {
            if (MainPage.LoginUser == null)
@@ -230,14 +253,49 @@
                new AccountLogin ().Show ();
                UserConfig.Instance.TipVersionBackup = UserConfig.Instance.VersionNumber;
            } else {
                //2021-03-23 移除GuidePageView
                removeGuidePageView ();
                //if (UserConfig.Instance.GatewayList.Count == 0) {
                //2020-01-11 Mac没绑定 是否来只登录界面
                if (bFromLogin) {
                    if (!UserConfig.Instance.CheckHomeGatewaysNotEmpty ()) {
                        if (guidePageView != null) {
                            guidePageView.RemoveAll ();
                            guidePageView.RemoveFromParent ();
                        #region 多次迁移住宅导致网关被移除的情况
                        if (!refreshHomeData) {
                            refreshHomeData = true;
                            //获取住宅列表
                            var revertObjCode = HttpServerRequest.Current.GetHomePager ();
                            if (revertObjCode == StateCode.SUCCESS) {
                                var mHomeLists = UserConfig.Instance.HomeLists;
                                if (mHomeLists != null && mHomeLists.Count > 0) {
                                    var bFind = false;
                                    foreach (var mHome in mHomeLists) {
                                        if (mHome.isBindGateway) {
                                            bFind = true;
                                            UserConfig.Instance.CurrentRegion = mHome;
                                            break;
                                        }
                                    }
                                    if (!bFind) {
                                        var findRoom2 = mHomeLists.Find ((obj) => obj.IsOthreShare == false);
                                        if (findRoom2 != null) {
                                            UserConfig.Instance.CurrentRegion = findRoom2;
                                        } else {
                                            UserConfig.Instance.CurrentRegion = mHomeLists [0];
                                        }
                                    }
                                    IO.FileUtils.DeleteAllFile ();
                                }
                                SaveUserConfig (mHomeLists);
                            }
                            return;
                        }
                        #endregion
                        UserHomePage.FrameLayoutMain.AddChidren (guidePageView);
                        var guide = new GuideAddResidence ();
                        guide.IsHideBack = true;
@@ -338,12 +396,10 @@
        /// </summary>
        static void InitHomePageView ()
        {
            //SystemRemote.LinkRemote ("", "", "",true);
            //SystemRemote.LinkRemote ("", "", "",true);
            if (null != UserPageView.Parent) {
                if (guidePageView.Parent != null) {
                    guidePageView.RemoveAll ();
                    guidePageView.RemoveFromParent ();
                }
                CleanPageView (FavoriteBodyView);
                UserPageView.AddChidren (FavoritePageView);
                FavoritePageView.AddChidren (FavoriteBodyView);
@@ -416,9 +472,15 @@
            //LightEnergySocket sddd = new LightEnergySocket () { LoopID = 1, SubnetID = 100, DeviceID = 122,   Name = "测试插座" };
            //IO.FileUtils.SaveEquipmentMessage (sddd, "1");
            //var ud = new UniversalDevice () { LoopID = 1,SubnetID = 42,DeviceID = 6,ActionType = 2,Name = "Universal-1",obj1 = 1,TargetType = 0};
            //ud.SendBytes = new List<byte> () { 1 ,0};
            //IO.FileUtils.SaveEquipmentMessage (ud, "1");
            //var ud = new UniversalDevice () { LoopID = 1, SubnetID = 1, DeviceID = 100, ActionType = 2, Name = "通用开关", obj1 = 1, TargetType = 0 };
            //ud.SendBytes = new List<byte> () { 1, 0 };
            //IO.FileUtils.SaveEquipmentMessage (ud, ud.LoopID.ToString());
            //var ud2 = new UniversalDevice () { LoopID = 2, SubnetID = 1, DeviceID = 100, ActionType = 2, Name = "通用开关2", obj1 = 1, TargetType = 0 };
            //ud.SendBytes = new List<byte> () { 1, 255 };
            //IO.FileUtils.SaveEquipmentMessage (ud, ud.LoopID.ToString ());
            //var ud2 = new UniversalDevice () { LoopID = 2, SubnetID = 42, DeviceID = 6, ActionType = 0, Name = "Universal-2", obj1 = 1,TargetType = 1};
            //ud2.SendBytes = new List<byte> () { 2 ,0};
            //IO.FileUtils.SaveEquipmentMessage (ud2, "2");
@@ -518,6 +580,7 @@
            #endregion
        }
        public static void ShowSettingView ()
@@ -553,7 +616,7 @@
            UserDeviceToFH.readAllStatus (isRefresh);
        }
        ///// <summary>
        ///// 登录成功后,查询刷新一次当前住宅 网关列表
@@ -582,5 +645,29 @@
        //    }
        //}
        /// <summary>
        /// 保存数据 并加载页面
        /// </summary>
        /// <param name="revertRoomData"></param>
        static void SaveUserConfig (List<RegionInfoRes> revertRoomData)
        {
            UserConfig.Instance.SaveUserConfig ();
            MainPage.LoginUser.LastTime = DateTime.Now;
            if (UserConfig.Instance.CheckHomeGatewaysNotEmpty ()) {
                MainPage.LoginUser.SaveUserInfo ();
                Scene.Refresh ();
                A31MusicModel.Refresh ();
                Application.RunOnMainThread (() => {
                    Init (false, true);
                    EquipmentPublicClass.CheckLinkRemote (UserConfig.Instance.internetStatus);
                });
            } else {
                Application.RunOnMainThread (() => {
                    Init (false, true);
                });
            }
        }
    }
}