HDL Home App 第二版本 旧平台金堂用 正在使用
hxb
2022-08-30 25429f085093d89d543a0b90e30d0d62d1b7dac9
ZigbeeApp/Shared/Phone/UserView/HomePage.cs
old mode 100755 new mode 100644
@@ -53,27 +53,46 @@
            if (Config.Instance.IsLogin)
            {
                //显示启动页
                this.ShowLoginLoadView();
                CommonPage.Loading.Start();
                UserCenter.HdlThreadLogic.Current.RunThread(async () =>
                UserCenter.HdlThreadLogic.Current.RunThread(() =>
                {
                    //登录
                    var loginSuccess = await LoginByPWDAsync(Config.Instance.Account, Config.Instance.Password);
                    var loginSuccess = LoginByPWDAsync(Config.Instance.Account, Config.Instance.Password);
                    //登录成功,或者没有网络都可以登录
                    if (loginSuccess == 1 || loginSuccess == 2)
                    {
                        var homes = await House.GetHomeLists();
                        var homes = UserCenter.HdlResidenceLogic.Current.GetHomeListsFromDb(true);
                        //刷新个人中心的内存及线程
                        await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
                        bool result = UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
                        //启动ZigBee
                        ZigBee.Common.Application.Init();
                        UserCenter.HdlThreadLogic.Current.RunMain(() =>
                        {
                            CommonPage.Instance.RemoveViewByTag("Login");
                            UserPage.Instance.Fresh();
                            CommonPage.Loading.Hide();
                            if (result == true)
                            {
                                //false:开启了调试功能
                                UserPage.Instance.ReFreshControl();
                            }
                        });
                    }
                    else
                    {
                        //设定一个时间
                        Config.Instance.LoginDateTime = new DateTime(1970, 1, 1);
                        Config.Instance.Save();
                        UserCenter.HdlThreadLogic.Current.RunMain(() =>
                        {
                            CommonPage.Loading.Hide();
                            CommonPage.Instance.RemoveViewByTag("Login");
                            //登录弹出登录界面
                            var accountLogin = new Login.AccountLoginForm { };
                            Shared.Common.CommonPage.Instance.AddChidren(accountLogin);
                            accountLogin.ShowForm();
                        });
                    }
                });
@@ -87,16 +106,6 @@
            }
        }
        /// <summary>
        /// 显示启动页
        /// </summary>
        public void ShowLoginLoadView()
        {
            var loginLoad = new LoginLoading { };
            CommonPage.Instance.AddChidren(loginLoad);
            loginLoad.Show();
        }
        /// <summary>
        /// 1:登录成功 0:密码错误 -1:其他异常 2:无法联网
        /// </summary>
@@ -105,18 +114,17 @@
        /// <param name="password">Password.</param>
        /// <param name="source">Source.</param>
        /// <param name="company">Company.</param>
        public async System.Threading.Tasks.Task<int> LoginByPWDAsync(string account, string password, string source = "", int company = 0)
        public int LoginByPWDAsync(string account, string password, string source = "", int company = 0)
        {
            var isLoginSuccess = -1;
            var requestObj = new SendDataToServer.LoginObj
            {
                Account = account,
                Password = password,
                Source = source,
                Company = company
                Password = password
            };
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj);
            var revertObj = await CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/Login", System.Text.Encoding.UTF8.GetBytes(requestJson));
            //登陆接口特殊,需要快一点访问,设置3秒超时
            var revertObj = CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/Login", System.Text.Encoding.UTF8.GetBytes(requestJson), 3);
            if (revertObj == null)
            {
                return 2;
@@ -128,7 +136,7 @@
                var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginRes>(revertObj.ResponseData.ToString());
                var revertData = responseDataObj;
                //标记上一次是不是同一个账号登陆
                UserCenter.UserCenterResourse.ResidenceOption.TheSameLoginAccount = Config.Instance.Guid == revertData.Guid;
                Config.Instance.TheSameLoginAccount = Config.Instance.Guid == revertData.Guid;
                Config.Instance.Account = revertData.Account;
                Config.Instance.Password = password;
                Config.Instance.MD5PWD = revertData.MD5PWD;
@@ -136,8 +144,13 @@
                Config.Instance.LoginDateTime = DateTime.Now;
                Config.Instance.LoginToken = revertData.Token;
                //上报设备ID
                await CommonPage.Instance.PushRegID();
                isLoginSuccess = 1;
                CommonPage.Instance.PushRegID();
                isLoginSuccess = 1;
//#if iOS
//                //初始化全视通
//                Shared.IOS.HDLFVSDK.Video.Init("",revertData.UserID.ToString());
//#endif
            }
            else if (stateCodeStr == "YOUDATANOISLOCALREGION")
            {
@@ -145,7 +158,7 @@
                var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginLocalRegionRes>(revertObj.ResponseData.ToString());
                CommonPage.RequestHttpsHost = responseDataObj.RegionServer;
                //再次登录
                return await this.LoginByPWDAsync(account, password, source, company);
                return this.LoginByPWDAsync(account, password, source, company);
            }
            if (stateCodeStr == "NOTVERIFY")
            {
@@ -169,6 +182,11 @@
                //账号不存在
                isLoginSuccess = 0;
            }
            else if (stateCodeStr == "BERESTRICT")
            {
                //此账号无权登录
                isLoginSuccess = 0;
            }
            return isLoginSuccess;
        }
    }