JLChen
2021-01-11 5a5a2b696866f947b6025d26c3302e8ffef46435
Crabtree/SmartHome/UI/SimpleControl/Phone/User/UserMiddle.cs
@@ -24,43 +24,42 @@
        public static FrameLayout UserPageView = new FrameLayout ();
        //public static Button LinkStatusTip = new Button () {
        //    Height = Application.GetRealHeight (36),
        //    Width = Application.GetRealWidth (640),
        //    BackgroundColor = SkinStyle.Current.LinkStatusTipColor
        //};
        public static Button LinkStatusTip = new Button () {
            Height = Application.GetRealHeight (Convert.ToInt32 (36 * MainPage.PixelScale)),
            BackgroundColor = SkinStyle.Current.MainColor
        };
        public static PageLayout FavoritePageView = new PageLayout () {
            IsShowPoint = false,
        };
        public static FrameLayout FavoriteBodyView = new FrameLayout () {
            Width = Application.GetRealWidth (640),
            Height = Application.GetRealHeight (1136)
            //Width = Application.GetRealWidth (Application.DesignWidth),
            //Height = Application.GetRealHeight (Application.DesignHeight)
        };
        public static UserRoom FavoriteRoom = new UserRoom () {
            Width = Application.GetRealWidth (640),
            Height = Application.GetRealHeight (1136 - 90)
            //Width = Application.GetRealWidth (Application.DesignWidth),
            Height = Application.GetRealHeight (Application.DesignHeight - userMenuItemHeight)
        };
        public static PageLayout DevicePageView = new PageLayout () {
            IsShowPoint = false,
        };
        public static FrameLayout DeviceBodyView = new FrameLayout () {
            Width = Application.GetRealWidth (640),
            Height = Application.GetRealHeight (1136)
            //Width = Application.GetRealWidth (Application.DesignWidth),
            Height = Application.GetRealHeight (Application.DesignHeight)
        };
        public static VerticalScrolViewLayout DeviceView = new VerticalScrolViewLayout () {
            Y = Application.GetRealHeight (126),
            Width = Application.GetRealWidth (640),
            Height = Application.GetRealHeight (1136 - 126 - 90),
            //Width = Application.GetRealWidth (Application.DesignWidth),
            Height = Application.GetRealHeight (Application.DesignHeight - 126 - userMenuItemHeight),
        };
        public static PageLayout RoomPageView = new PageLayout () {
            IsShowPoint = false,
        };
        public static FrameLayout RoomBodyView = new FrameLayout () {
            Width = Application.GetRealWidth (640),
            Height = Application.GetRealHeight (1136)
            Width = Application.GetRealWidth (Application.DesignWidth),
            Height = Application.GetRealHeight (Application.DesignHeight)
        };
        public static PageLayout SettingPageView = new PageLayout () {
@@ -68,18 +67,18 @@
        };
        public static FrameLayout SettingBodyView = new FrameLayout () {
            BackgroundColor = SkinStyle.Current.MainColor,
            Height = Application.GetRealHeight (1136)
            Height = Application.GetRealHeight (Application.DesignHeight)
        };
        public static VerticalScrolViewLayout SettingView = new VerticalScrolViewLayout () {
            Y = Application.GetRealHeight (126),
            Width = Application.GetRealWidth (640),
            Height = Application.GetRealHeight (1136 - 126 - 90 - 90),
            Width = Application.GetRealWidth (Application.DesignWidth),
            Height = Application.GetRealHeight (Application.DesignHeight - 126 - userMenuItemHeight - 90),
            BackgroundColor = SkinStyle.Current.ViewColor,
            //ScrollEnabled = true
        };
        public static Button btnVersion = new Button () {
            Y = Application.GetRealHeight (1136 - 90 - 90),
            Width = Application.GetRealWidth (640),
            Y = Application.GetRealHeight (Application.DesignHeight - userMenuItemHeight - 90),
            Width = Application.GetRealWidth (Application.DesignWidth),
            Height = Application.GetRealHeight (90),
            Text = Language.StringByID (R.MyInternationalizationString.Version) + " : " + MainPage.RequestVersion,
            TextColor = SkinStyle.Current.TextColor1,
@@ -88,8 +87,8 @@
        };
        public static FrameLayout UserMenuItem = new FrameLayout () {
            Y = Application.GetRealHeight (Application.DesignHeight - 90),
            Height = Application.GetRealHeight (95),
            Y = Application.GetRealHeight (Application.DesignHeight - userMenuItemHeight),
            Height = Application.GetMinRealAverage (userMenuItemHeight+5),
            BackgroundColor = SkinStyle.Current.MainColor
        };
@@ -102,14 +101,15 @@
        public static Button btnLinkStatus = new Button () {
            Y = Application.GetRealHeight (10),
            Width = Application.GetRealWidth (131),
            Height = Application.GetRealHeight (80),
            Width = Application.GetMinRealAverage (131),
            Height = Application.GetMinRealAverage (80),
            UnSelectedImagePath = MainPage.WiFiStatus,
        };
        #region ---Bottom Button----
        public static Button btnFavorite = new Button () {
            Width = Application.GetRealWidth (160),
            Height = MainPage.GetDesignHeight (90),
            TextID = R.MyInternationalizationString.Favorite,
            TextColor = SkinStyle.Current.TextColor1,
            SelectedTextColor = SkinStyle.Current.SelectedColor,
@@ -125,6 +125,7 @@
        public static Button btnDevice = new Button () {
            X = Application.GetRealWidth (160),
            Width = Application.GetRealWidth (160),
            Height = MainPage.GetDesignHeight (90),
            TextID = R.MyInternationalizationString.Category,
            SelectedTextColor = SkinStyle.Current.SelectedColor,
            TextColor = SkinStyle.Current.TextColor1,
@@ -138,6 +139,7 @@
        public static Button btnRoom = new Button () {
            X = Application.GetRealWidth (160 * 2),
            Width = Application.GetRealWidth (160),
            Height = MainPage.GetDesignHeight (90),
            TextID = R.MyInternationalizationString.Rooms,
            SelectedTextColor = SkinStyle.Current.SelectedColor,
            TextColor = SkinStyle.Current.TextColor1,
@@ -151,6 +153,7 @@
        public static Button btnSetting = new Button () {
            X = Application.GetRealWidth (160 * 3),
            Width = Application.GetRealWidth (160),
            Height = MainPage.GetDesignHeight (90),
            TextID = R.MyInternationalizationString.Setting,
            SelectedTextColor = SkinStyle.Current.SelectedColor,
            TextColor = SkinStyle.Current.TextColor1,
@@ -256,24 +259,33 @@
                //后台验证账号
                System.Threading.Tasks.Task.Run (() => {
                    try {
                        var requestObj = new LoginObj () { Account = MainPage.LoginUser.AccountString, Password = MainPage.LoginUser.Password, Company = MainPage.SoftSmsType };
                        var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
                        var revertObj = MainPage.RequestHttps (API.Login, requestJson);
                        var revertObj = HttpServerRequest.Current.LoginByPassword (MainPage.LoginUser.AccountString, MainPage.LoginUser.Password);
                        if (revertObj != null) {
                            Application.RunOnMainThread (() => {
                                if (revertObj.StateCode.ToUpper () == "SUCCESS") {
                                    var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes> (revertObj.ResponseData.ToString ());
                                    MainPage.LoginUser.AllVisionRegisterDevUserNameGuid = revertData.AllVisionRegisterDevUserNameGuid;
                                    MainPage.LoginUser.LastTime = DateTime.Now;
                                    MainPage.LoginUser.SaveUserInfo ();
                                    //2020-01-14 登录成功后,刷新一次当前住宅网关
                                    GetNowHomeGatewayAfterLoginSuccess ();
                                } else if (!string.IsNullOrEmpty (revertObj.StateCode)) {
                            //Application.RunOnMainThread (() => {
                            if (revertObj.Code == StateCode.SUCCESS) {
                                var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes> (revertObj.Data.ToString ());
                                //MainPage.LoginUser.AllVisionRegisterDevUserNameGuid = revertData.AllVisionRegisterDevUserNameGuid;
                                MainPage.LoginUser.LoginTokenString = revertData.headerPrefix + revertData.accessToken;
                                MainPage.LoginUser.RefreshToken = revertData.refreshToken;
                                MainPage.LoginUser.LastTime = DateTime.Now;
                                MainPage.LoginUser.SaveUserInfo ();
                                //2020-01-14 验证账号通过后
                                if (!bFromLogin) {
                                    HttpServerRequest.Current.GetHomeGatewayList ();
                                }
                            } else if (!string.IsNullOrEmpty (revertObj.Code)) {
                                if (revertObj.Code != StateCode.NETWORK_ERROR && revertObj.Code != StateCode.DATA_EXCEPTION) {
                                    MainPage.LoginUser.LastTime = DateTime.Now.AddDays (-30);
                                    MainPage.LoginUser.SaveUserInfo ();
                                    new AccountLogin ().Show ();
                                    //提示错误原因
                                    IMessageCommon.Current.ShowErrorInfoAlter (revertObj.Code);
                                    Application.RunOnMainThread (() => {
                                        new AccountLogin ().Show ();
                                    });
                                }
                            });
                            }
                            //});
                        }
                    } catch { } finally {
                        UserConfig.Instance.SaveUserConfig ();
@@ -319,6 +331,8 @@
        }
        /// <summary>
        /// 加载用户界面
        /// </summary>
@@ -359,8 +373,8 @@
            //IO.FileUtils.SaveEquipmentMessage (mCurtainModel1, mCurtainModel1.LoopID.ToString ());
            ////var mCurtainModel2 = new CurtainModel () { LoopID = 2, DeviceID = 9, SubnetID = 42, Name = "窗帘2" };
            ////IO.FileUtils.SaveEquipmentMessage (mCurtainModel2, mCurtainModel2.LoopID.ToString ());
            ////var mCurtainModel3 = new CurtainModel () { LoopID = 1, DeviceID = 2, SubnetID = 42, Name = "窗帘3" };
            ////IO.FileUtils.SaveEquipmentMessage (mCurtainModel3, mCurtainModel3.LoopID.ToString ());
            //var mCurtainModel3 = new CurtainModel () { LoopID = 1, DeviceID = 2, SubnetID = 42, Name = "窗帘3" };
            //IO.FileUtils.SaveEquipmentMessage (mCurtainModel3, mCurtainModel3.LoopID.ToString ());
            //var mCurtainRoller = new CurtainRoller () { LoopID = 1, DeviceID = 88, SubnetID = 42, Name = "窗帘CurtainRoller" };
            //IO.FileUtils.SaveEquipmentMessage (mCurtainRoller, mCurtainRoller.LoopID.ToString ());
@@ -369,7 +383,7 @@
            //IO.FileUtils.SaveEquipmentMessage (mCurtainTrietex, mCurtainTrietex.LoopID.ToString ());
            //var s1 = new LightEnergySocket () { LoopID = 1, DeviceID = 1, SubnetID = 44, Name = "EnergySocket" };
            //IO.FileUtils.SaveEquipmentMessage (s1, s1.LoopID.ToString ());
@@ -413,7 +427,7 @@
            //IO.FileUtils.SaveEquipmentMessage (ud3, "3");
#endif
            UserHomePage.FrameLayoutMain.AddChidren (UserPageView);
            //UserHomePage.FrameLayoutMain.AddChidren (LinkStatusTip);
            UserHomePage.FrameLayoutMain.AddChidren (LinkStatusTip);
            UserPageView.AddChidren (FavoritePageView);
            FavoritePageView.AddChidren (FavoriteBodyView);
@@ -541,32 +555,32 @@
     
        /// <summary>
        /// 登录成功后,查询刷新一次当前住宅 网关列表
        /// 2020-01-11
        /// </summary>
        static void GetNowHomeGatewayAfterLoginSuccess ()
        {
            var requestObj3 = new GetSingleHomeGatewayPaggerObj ();
            requestObj3.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString;
            requestObj3.ReqDto.HomeId = UserConfig.Instance.CurrentRegion.Id;
            requestObj3.ReqDto.PageSetting.Page = 1;
            requestObj3.ReqDto.PageSetting.PageSize = 10;
            string urlHead = MainPage.RequestHttpsHost;
            if (requestObj3.IsOtherAccountCtrl) {
                urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
                requestObj3.ReqDto.LoginAccessToken = UserConfig.Instance.MasterAccountToken;
            }
        ///// <summary>
        ///// 登录成功后,查询刷新一次当前住宅 网关列表
        ///// 2020-01-11
        ///// </summary>
        //static void GetNowHomeGatewayAfterLoginSuccess ()
        //{
        //    var requestObj3 = new GetSingleHomeGatewayPaggerObj ();
        //    requestObj3.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString;
        //    requestObj3.ReqDto.HomeId = UserConfig.Instance.CurrentRegion.Id;
        //    requestObj3.ReqDto.PageSetting.Page = 1;
        //    requestObj3.ReqDto.PageSetting.PageSize = 10;
        //    string urlHead = MainPage.RequestHttpsHost;
        //    if (requestObj3.IsOtherAccountCtrl) {
        //        urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl;
        //        requestObj3.ReqDto.LoginAccessToken = UserConfig.Instance.MasterAccountToken;
        //    }
            var requestJson3 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj3);
            var revertObj3 = MainPage.RequestHttps (API.GetSingleHomeGatewayPagger, requestJson3, urlHead);
            if (revertObj3.StateCode.ToUpper () == "SUCCESS") {
                var infoResult = Newtonsoft.Json.JsonConvert.DeserializeObject<GetGatewayResult> (revertObj3.ResponseData.ToString ());
                //2020-01-11
                UserConfig.Instance.SetNowHomeGateways (infoResult.PageData);
        //    var requestJson3 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj3);
        //    var revertObj3 = MainPage.RequestHttps (API.GetSingleHomeGatewayPagger, requestJson3, urlHead);
        //    if (revertObj3.StateCode.ToUpper () == StateCode.SUCCESS) {
        //        var infoResult = Newtonsoft.Json.JsonConvert.DeserializeObject<GetGatewayResult> (revertObj3.ResponseData.ToString ());
        //        //2020-01-11
        //        UserConfig.Instance.SetNowHomeGateways (infoResult.PageData);
            }
        }
        //    }
        //}
    }
}