陈嘉乐
2020-12-01 e08a444a9d7acea0cf39f50d22d29179f6a59292
HDL_ON/UI/UI1-Login/LoginPageBLL.cs
@@ -5,6 +5,7 @@
using HDL_ON.UI.CSS;
using Shared;
using HDL_ON.Entity;
using HDL_ON.DAL.Server;
namespace HDL_ON.UI.UI1Login
{
@@ -24,6 +25,25 @@
            LoadPage_RegisterPage();
            GetVerificationCode();
            LoadMethod_ForgetPassword();
        }
        /// <summary>
        /// 检测当前配置域名是否一致,不一致则替换
        /// </summary>
        /// <param name="result"></param>
        void CheckAndSetUserRequestHost(ResponsePackNew result)
        {
            try
            {
                var mGlobalRegionListObj = Newtonsoft.Json.JsonConvert.DeserializeObject<GlobalRegionListRes>(result.Data.ToString());
                if (UserInfo.Current.RequestHttpsHost != mGlobalRegionListObj.regionUrl)
                {
                    UserInfo.Current.RequestHttpsHost = mGlobalRegionListObj.regionUrl;
                    UserInfo.Current.GlobalRegion = mGlobalRegionListObj;
                    UserInfo.Current.SaveUserInfo();
                }
            }
            catch { }
        }
        /// <summary>
@@ -50,7 +70,7 @@
                        btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
                        return;
                    }
                    if (!Regex.IsMatch(account, @"^[1]+\d{10}") || (account.Length != 11))
                    if (!Utlis.CheckPhoneNumber(phoneNumber, phoneZoneCode))
                    {
                        var tip = new Tip()
                        {
@@ -64,82 +84,68 @@
                        btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
                        return;
                    }
                    btnGetVerificationCode.IsSelected = false ;
                    btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1;
                    int time = 60;
                    new Thread(() =>
                    {
                        while (time > 0)
                        //1.先检查账号是否注册过
                        var result = pm.GetRegionByAccount(account);
                        if (result.Code != StateCode.SUCCESS)
                        {
                            time--;
                            Application.RunOnMainThread(() =>
                            {
                                btnGetVerificationCode.Text = time.ToString() + "s";
                            });
                            Thread.Sleep(1000);
                            IMessageCommon.Current.ShowErrorInfoAlter(result.Code);
                            ShowBtnAccountViewBottomLineError();
                            return;
                        }
                        Application.RunOnMainThread(() =>
                        {
                            btnGetVerificationCode.IsSelected = true;
                            btnGetVerificationCode.TextID = StringId.GetVerificationCode;
                        });
                    })
                    { IsBackground = true }.Start();
                    new Thread(() =>
                    {
                        //获取验证码
                        var result = pm.GetLoginVerCode(phoneNumber);
                        if (result.StateCode.ToUpper() == "SUCCESS")
                        {
                        }
                        //登录失败
                        else
                        {
                            string tipStr = "Sever erorr";
                            switch (result.StateCode.ToUpper())
                            //检测当前配置域名是否一致,不一致则替换
                            CheckAndSetUserRequestHost(result);
                            //2.1请求获取验证码
                            var resultObj = pm.VerificationCodeSend(VerifyType.VERIFY_LOGIN, account, true, phoneZoneCode);
                            if (resultObj.Code != StateCode.SUCCESS)
                            {
                                case "USERNAMEORPWDERROR":
                                    tipStr = Language.StringByID(StringId.LoginFailed_AccountOrPasswordError);
                                    Application.RunOnMainThread(() =>
                                    {
                                        btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
                                        btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
                                    });
                                    break;
                                case "ACCOUNTNOEXISTS":
                                    tipStr = Language.StringByID(StringId.ACCOUNTNOEXISTS);
                                    Application.RunOnMainThread(() =>
                                    {
                                        btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
                                        btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
                                    });
                                    break;
                                case "SENDFAIL":
                                    tipStr = Language.StringByID(StringId.FailedToSendVerificationCode);
                                    Application.RunOnMainThread(() =>
                                    {
                                        btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
                                        btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
                                    });
                                    break;
                                case "Self:Net_Error":
                                    tipStr = Language.StringByID(StringId.NetworkAnomaly);
                                    break;
                            }
                            Application.RunOnMainThread(() =>
                            {
                                //提示原因
                                var tip = new Tip()
                                //2.2请求获取验证码失败
                                Application.RunOnMainThread(() =>
                                {
                                    Text = tipStr,
                                    CloseTime = 1,
                                    Direction = AMPopTipDirection.None
                                };
                                tip.Show(bodyView);
                            });
                                    btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
                                    btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
                                });
                                // 提示错误
                                IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code);
                            }
                            else
                            {
                                Application.RunOnMainThread(() =>
                                {
                                    btnGetVerificationCode.IsSelected = false;
                                    btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1;
                                });
                                new Thread(() =>
                                {
                                    while (time > 0)
                                    {
                                        time--;
                                        Application.RunOnMainThread(() =>
                                        {
                                            btnGetVerificationCode.Text = time.ToString() + "s";
                                        });
                                        Thread.Sleep(1000);
                                    }
                                    Application.RunOnMainThread(() =>
                                    {
                                        btnGetVerificationCode.IsSelected = true;
                                        btnGetVerificationCode.TextID = StringId.GetVerificationCode;
                                    });
                                })
                                { IsBackground = true }.Start();
                            }
                        }
                    })
                    { IsBackground = true }.Start();
                }
            };
        }
@@ -241,8 +247,8 @@
                //if (btnGetVerificationCode.Parent != null)
                //{
                    //btnGetVerificationCode.RemoveFromParent();
                    btnGetVerificationCode.Visible = false;
                //btnGetVerificationCode.RemoveFromParent();
                btnGetVerificationCode.Visible = false;
                //}
                //隐藏密码
                etPassword.SecureTextEntry = true;
@@ -273,8 +279,8 @@
                    btnPasswordIcon.IsSelected = false;
                    //if (btnGetVerificationCode.Parent != null)
                    //{
                        //btnGetVerificationCode.RemoveFromParent();
                        btnGetVerificationCode.Visible = false;
                    //btnGetVerificationCode.RemoveFromParent();
                    btnGetVerificationCode.Visible = false;
                    //}
                    //隐藏密码
                    etPassword.SecureTextEntry = true;
@@ -339,7 +345,7 @@
                        return;
                    if (loginType == 0)
                    {
                        if (!Regex.IsMatch(account, @"^[1]+\d{10}") || (account.Length != 11))
                        if (!Utlis.CheckPhoneNumber(registerPhone, phoneZoneCode))
                        {
                            var tip = new Tip()
                            {
@@ -362,7 +368,7 @@
                    }
                    else
                    {
                        if (!Regex.IsMatch(account, "([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,5})+"))
                        if (!Utlis.CheckEmail(registerEmail))
                        {
                            var tip = new Tip()
                            {
@@ -437,12 +443,15 @@
            {
                if (btnLogin.IsSelected)
                {
                    //判断是否同意了隐私政策
                    if (CheckPrivacyPolicy() == false) return;
                    account = etAccount.Text.Trim();
                    password = etPassword.Text.Trim();
                    if (loginType == 0)
                    {
                        if (!Regex.IsMatch(account, @"^[1]+\d{10}") && account.Length == 11)
                        if (!Utlis.CheckPhoneNumber(account, phoneZoneCode))
                        {
                            var tip = new Tip()
                            {
@@ -456,7 +465,7 @@
                    }
                    else
                    {
                        if (!Regex.IsMatch(account, "([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,5})+"))
                        if (!Utlis.CheckEmail(account))
                        {
                            var tip = new Tip()
                            {
@@ -487,7 +496,7 @@
                {
                    btnLogin.IsSelected = false;
                }
                if (Regex.IsMatch(account, @"^[1]+\d{10}") )//&& account.Length == 11)
                if (Regex.IsMatch(account, @"^[1]+\d{10}"))//&& account.Length == 11)
                {
                    btnGetVerificationCode.IsSelected = true;
                    btnGetVerificationCode.TextColor = CSS_Color.MainBackgroundColor;
@@ -521,9 +530,27 @@
            {
                try
                {
                    //如果是账号密码登录,先检查一次账号是否注册过
                    if (logintMode == 0)
                    {
                        //1.先检查账号是否注册过
                        var result = pm.GetRegionByAccount(account);
                        if (result.Code != StateCode.SUCCESS)
                        {
                            IMessageCommon.Current.ShowErrorInfoAlter(result.Code);
                            ShowBtnAccountViewBottomLineError();
                            return;
                        }
                        else
                        {
                            //设置用户所注册地区的域名,用户相关操作都用这个域名
                            CheckAndSetUserRequestHost(result);
                        }
                    }
                    //登录
                    var loginResult = LoadMethod_Login();
                    if( !string.IsNullOrEmpty (verAccount))//验证登录账号
                    if (!string.IsNullOrEmpty(verAccount))//验证登录账号
                    {
                        Application.RunOnMainThread(() =>
                        {
@@ -559,7 +586,7 @@
                                OnAppConfig.Instance.RefreshUserConfig();
                                DB_ResidenceData.InitRoomFunction();
                            }
                            if (MainPage.LoginUser.userEmailInfo == "464027401@qq.com")
                            if (UserInfo.Current.userEmailInfo == "464027401@qq.com")
                            {
                                DB_ResidenceData.residenceData.floors.Add(new Floor() { name = "1F", sid = "09888" });
                                var r111 = new Room() { sid = "0001", name = "Room-1", floorId = "09888", backgroundImage = "Classification/Room/Roombg.png" };
@@ -570,11 +597,11 @@
                                {
                                    sid = "030101123456780604010001ABCD",
                                    name = "空调",
                                    function = new List<Trait>() {
                                                                new Trait { name="on_off", max=1,min = 0, value_key= new List<string> { "on","off"} },
                                                                new Trait { name="mode", max = 2,min =0,value_key = new List<string>{ "auto", "heat", "cool","dry" } },
                                                                new Trait { name = "fan",max = 3,min =0,value_key = new List<string>{ "low", "medium", "high" ,"auto"} },
                                                                new Trait { name = "set_temperature", max = 32,min=16,value_key = new List<string>{"up","down" } },
                                    function = new List<FunctionAttributes>() {
                                                                new FunctionAttributes { key="on_off", max=1,min = 0, value= new List<string> { "on","off"} },
                                                                new FunctionAttributes { key="mode", max = 2,min =0,value = new List<string>{ "auto", "heat", "cool","dry" } },
                                                                new FunctionAttributes { key = "fan",max = 3,min =0,value = new List<string>{ "low", "medium", "high" ,"auto"} },
                                                                new FunctionAttributes { key = "set_temperature", max = 32,min=16,value = new List<string>{"up","down" } },
                                                            },
                                    roomIdList = new List<string>() { "0001" },
                                    lastState = "制冷 中风 18°C",
@@ -589,8 +616,8 @@
                                {
                                    sid = "030101123456780202020002ABCD",
                                    name = "调光灯",
                                    function = new List<Trait>() {
                                                                new Trait { name="brightness", max=100,min = 0, value_key= new List<string> { "up","down"} },
                                    function = new List<FunctionAttributes>() {
                                                                new FunctionAttributes { key="brightness", max=100,min = 0, value= new List<string> { "up","down"} },
                                                            },//"brightness",
                                    roomIdList = new List<string>() { "0001" },
                                    lastState = "20%",
@@ -607,8 +634,8 @@
                                    sid = "030101123456780303010003ABCD",
                                    name = "窗帘模块",
                                    roomIdList = new List<string>() { "0001" },
                                    function = new List<Trait>() {
                                                                new Trait { name="on_off", max=2,min = 0, value_key= new List<string> { "on","off","stop"} },
                                    function = new List<FunctionAttributes>() {
                                                                new FunctionAttributes { key="on_off", max=2,min = 0, value= new List<string> { "on","off","stop"} },
                                                            },// "curtain",
                                    lastState = "开",
                                    bus_Data = new BusData
@@ -623,8 +650,8 @@
                                    sid = "030101123456780303030011ABCD",
                                    name = "开合帘",
                                    roomIdList = new List<string>() { "0001" },
                                    function = new List<Trait>() {
                                                                new Trait { name="on_off", max=100,min = 0, value_key= new List<string> { "on","off","stop"} },
                                    function = new List<FunctionAttributes>() {
                                                                new FunctionAttributes { key="on_off", max=100,min = 0, value= new List<string> { "on","off","stop"} },
                                                            },//"curtaintype",
                                    lastState = "20%",
                                    bus_Data = new BusData
@@ -639,9 +666,9 @@
                                    sid = "030101123456780503040012ABCD",
                                    name = "卷帘",
                                    roomIdList = new List<string>() { "0001" },
                                    function = new List<Trait>() {
                                                                new Trait { name="on_off", max=2,min = 0, value_key= new List<string> { "on","off","stop"} },
                                                                new Trait { name="percent", max=100,min = 0, value_key= new List<string> { "percent" } },
                                    function = new List<FunctionAttributes>() {
                                                                new FunctionAttributes { key="on_off", max=2,min = 0, value= new List<string> { "on","off","stop"} },
                                                                new FunctionAttributes { key="percent", max=100,min = 0, value= new List<string> { "percent" } },
                                                            },// "rollingshutter",
                                    lastState = "20%",
@@ -657,10 +684,10 @@
                                    sid = "030101123456780404020004ABCD",
                                    name = "地热",
                                    roomIdList = new List<string>() { "0001" },
                                    function = new List<Trait>() {
                                                                new Trait { name="on_off", max=1,min = 0, value_key= new List<string> { "on","off"} },
                                                                new Trait { name="mode", max = 2,min =0,value_key = new List<string>{ "normal", "day", "night","timer","away" } },
                                                                new Trait { name = "set_temperature", max = 32,min=5,value_key = new List<string>{"up","down" } },
                                    function = new List<FunctionAttributes>() {
                                                                new FunctionAttributes { key="on_off", max=1,min = 0, value= new List<string> { "on","off"} },
                                                                new FunctionAttributes { key="mode", max = 2,min =0,value = new List<string>{ "normal", "day", "night","timer","away" } },
                                                                new FunctionAttributes { key = "set_temperature", max = 32,min=5,value = new List<string>{"up","down" } },
                                                            },//
                                    lastState = "自动 25°C",
                                    bus_Data = new BusData
@@ -674,8 +701,8 @@
                                {
                                    sid = "030101123456780202010005ABCD",
                                    name = "吊灯",
                                    function = new List<Trait>() {
                                                                new Trait { name="on_off", max=100,min = 0, value_key= new List<string> { "on","off"} },
                                    function = new List<FunctionAttributes>() {
                                                                new FunctionAttributes { key="on_off", max=100,min = 0, value= new List<string> { "on","off"} },
                                                            },//"on_off",
                                    roomIdList = new List<string>() { "0001" },
                                    bus_Data = new BusData
@@ -689,9 +716,9 @@
                                {
                                    sid = "030101123456780202040006ABCD",
                                    name = "RGB灯",
                                    function = new List<Trait>() {
                                                                new Trait { name="brightness", max=100,min = 0, value_key= new List<string> { "on","off"} },
                                                                new Trait { name="color", max=100,min = 0, value_key= new List<string> { "255", "255", "255" } },
                                    function = new List<FunctionAttributes>() {
                                                                new FunctionAttributes { key="brightness", max=100,min = 0, value= new List<string> { "on","off"} },
                                                                new FunctionAttributes { key="color", max=100,min = 0, value= new List<string> { "255", "255", "255" } },
                                                            },
                                    roomIdList = new List<string>() { "0001" },
                                    bus_Data = new BusData
@@ -705,9 +732,9 @@
                                {
                                    sid = "030101123456781010020006ABCD",
                                    name = "风扇",
                                    function = new List<Trait>() {
                                                            new Trait { name="on_off", max=1,min = 0, value_key= new List<string> { "on","off"} },
                                                            new Trait { name="percent", max=7,min = 0, value_key= new List<string> { "percent" } },
                                    function = new List<FunctionAttributes>() {
                                                            new FunctionAttributes { key="on_off", max=1,min = 0, value= new List<string> { "on","off"} },
                                                            new FunctionAttributes { key="percent", max=7,min = 0, value= new List<string> { "percent" } },
                                                        },
                                    roomIdList = new List<string>() { "0001" },
                                    bus_Data = new BusData
@@ -721,8 +748,8 @@
                                {
                                    sid = "030101123456781010020006ABCD",
                                    name = "电视",
                                    function = new List<Trait>() {
                                                            new Trait { name="on_off", max=1,min = 0, value_key= new List<string> { "on","off"} },
                                    function = new List<FunctionAttributes>() {
                                                            new FunctionAttributes { key="on_off", max=1,min = 0, value= new List<string> { "on","off"} },
                                                        },
                                    roomIdList = new List<string>() { "0001" },
                                    bus_Data = new BusData
@@ -736,8 +763,8 @@
                                {
                                    sid = "030101123456780101020006ABCD",
                                    name = "插座",
                                    function = new List<Trait>() {
                                                            new Trait { name="on_off", max=1,min = 0, value_key= new List<string> { "on","off"} },
                                    function = new List<FunctionAttributes>() {
                                                            new FunctionAttributes { key="on_off", max=1,min = 0, value= new List<string> { "on","off"} },
                                                        },
                                    roomIdList = new List<string>() { "0001" },
                                    bus_Data = new BusData
@@ -752,8 +779,8 @@
                                    sid = "030101123456781005060006ABCD",
                                    name = "PM2.5",
                                    roomIdList = new List<string>() { "0001" },
                                    function = new List<Trait>() {
                                                            new Trait { name="values", max=1,min = 0, value_key= new List<string> { "22"} },
                                    function = new List<FunctionAttributes>() {
                                                            new FunctionAttributes { key="values", max=1,min = 0, value= new List<string> { "22"} },
                                                        },
                                    bus_Data = new BusData
                                    {
@@ -767,8 +794,8 @@
                                    sid = "030101123456781005070006ABCD",
                                    name = "CO2",
                                    roomIdList = new List<string>() { "0001" },
                                    function = new List<Trait>() {
                                                            new Trait { name="values", max=1,min = 0, value_key= new List<string> { "1352"} },
                                    function = new List<FunctionAttributes>() {
                                                            new FunctionAttributes { key="values", max=1,min = 0, value= new List<string> { "1352"} },
                                                        },
                                    bus_Data = new BusData
                                    {
@@ -782,8 +809,8 @@
                                    sid = "030101123456781005020006ABCD",
                                    name = "温度",
                                    roomIdList = new List<string>() { "0001" },
                                    function = new List<Trait>() {
                                                            new Trait { name="values", max=1,min = 0, value_key= new List<string> { "28"} },
                                    function = new List<FunctionAttributes>() {
                                                            new FunctionAttributes { key="values", max=1,min = 0, value= new List<string> { "28"} },
                                                        },
                                    bus_Data = new BusData
                                    {
@@ -797,8 +824,8 @@
                                    sid = "030101123456781005050006ABCD",
                                    name = "TVOC",
                                    roomIdList = new List<string>() { "0001" },
                                    function = new List<Trait>() {
                                                            new Trait { name="values", max=1,min = 0, value_key= new List<string> { "0.3"} },
                                    function = new List<FunctionAttributes>() {
                                                            new FunctionAttributes { key="values", max=1,min = 0, value= new List<string> { "0.3"} },
                                                        },
                                    bus_Data = new BusData
                                    {
@@ -812,8 +839,8 @@
                                    sid = "030101123456781005030006ABCD",
                                    name = "湿度",
                                    roomIdList = new List<string>() { "0001" },
                                    function = new List<Trait>() {
                                                            new Trait { name="values", max=1,min = 0, value_key= new List<string> { "15"} },
                                    function = new List<FunctionAttributes>() {
                                                            new FunctionAttributes { key="values", max=1,min = 0, value= new List<string> { "15"} },
                                                        },
                                    bus_Data = new BusData
                                    {
@@ -829,6 +856,15 @@
                                //跳转页面----
                                MainPage.GoUserPage();
                            });
                        }
                        else
                        {
                            //2020-11-13 待确认
                            //获取住宅失败,重新标记为未登录状态
                             UserInfo.Current.LastTime = DateTime.MinValue;
                             UserInfo.Current.SaveUserInfo();
                            //登录失败,请先添加住宅!
                            Utlis.ShowAlertOnMainThread(Language.StringByID(StringId.FailedGetHomeList));
                        }
                    }
                }
@@ -858,7 +894,7 @@
        bool LoadMethod_Login()
        {
            var result = false;
            ResponsePack loginResult;
            ResponsePackNew loginResult;
            if (logintMode == 0 || loginType == 1)
            {
                //调用登录接口
@@ -869,23 +905,29 @@
                //调用验证码登录接口
                loginResult = pm.LoginValidCode(account, password);
            }
            if (loginResult.StateCode.ToUpper() == "SUCCESS")
            if (loginResult.Code == StateCode.SUCCESS)
            {
                var loginDataStr = Newtonsoft.Json.Linq.JObject.FromObject(loginResult.ResponseData);
                //记录用户数据
                MainPage.LoginUser = new UserInfo
                {
                    ID = (int)loginDataStr.GetValue("UserID"),
                    masterID = (int)loginDataStr.GetValue("MainUserID"),
                    accountType = (int)loginDataStr.GetValue("UserType"),
                    loginTokenString = loginDataStr.GetValue("Token").ToString(),
                    accountString = account,
                    password = password,
                    lastTime = DateTime.Now,
                    userName = loginDataStr.GetValue("Remark").ToString(),
                };
                MainPage.LoginUser.SaveUserInfo();
                var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes>(loginResult.Data.ToString());
                // UserInfo.Current = new UserInfo
                //{
                //    userType = revertData.userType,
                //    accountString = account,
                //    password = password,
                //    lastTime = DateTime.Now,
                //    ID = revertData.userId,
                //    loginTokenString = revertData.headerPrefix + revertData.accessToken,
                //    refreshToken = revertData.refreshToken,
                //    userName = revertData.name
                //};
                UserInfo.Current.userType = revertData.userType;
                UserInfo.Current.AccountString = account;
                //UserInfo.Current.password = password;
                UserInfo.Current.LastTime = DateTime.Now;
                UserInfo.Current.ID = revertData.userId;
                UserInfo.Current.LoginTokenString = revertData.headerPrefix + revertData.accessToken;
                UserInfo.Current.RefreshToken = revertData.refreshToken;
                UserInfo.Current.userName = revertData.name;
                UserInfo.Current.SaveUserInfo();
                MainPage.Log("登录成功。");
                result = true;
                //获取用户信息
@@ -898,53 +940,30 @@
            //登录失败
            else
            {
                string tipStr = "Sever erorr";
                switch (loginResult.StateCode)
                {
                    case "ValidCodeAndPhoneNoEqual":
                        tipStr = Language.StringByID(StringId.VerificationCodeError);
                        Application.RunOnMainThread(() =>
                        {
                            btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
                            btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
                        });
                        break;
                    case "USERNAMEORPWDERROR":
                        tipStr = Language.StringByID(StringId.LoginFailed_AccountOrPasswordError);
                        Application.RunOnMainThread(() =>
                        {
                            btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
                            btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
                        });
                        break;
                    case "ACCOUNTNOEXISTS":
                        tipStr = Language.StringByID(StringId.ACCOUNTNOEXISTS);
                        Application.RunOnMainThread(() =>
                        {
                            btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
                            btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
                        });
                        break;
                    case "NoRecord":
                        tipStr = Language.StringByID(StringId.PlsGetTheVerificationCode);
                        break;
                    case "Self:Net_Error":
                        tipStr = Language.StringByID(StringId.NetworkAnomaly);
                        break;
                }
                //账号或者密码错误
                Application.RunOnMainThread(() =>
                {
                    waitPage.Hide();
                    //提示原因
                    var tip = new Tip()
                    if (loginResult.Code == "10008")
                    {
                        Text = tipStr,
                        CloseTime = 1,
                        Direction = AMPopTipDirection.None
                    };
                    tip.Show(bodyView);
                        //用户名或密码错误
                        btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
                        btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
                    }
                    else if (loginResult.Code == "10010")
                    {
                        //用户不存在
                        btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
                        btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
                    }
                    else if (loginResult.Code == "14")
                    {
                        btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
                        btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
                    }
                    waitPage.Hide();
                });
                IMessageCommon.Current.ShowErrorInfoAlter(loginResult.Code);
            }
            return result;
        }
@@ -956,31 +975,19 @@
        {
            var result = false;
            var responsePack = pm.GetHomePager();
            if (responsePack == "Success")
            if (responsePack == StateCode.SUCCESS)
            {
                result = true;
                //2020-11-13 待确认,没有住宅,不算登录成功
                if (UserInfo.Current.regionList != null && UserInfo.Current.regionList.Count > 0)
                {
                    result = true;
                }
                //result = true;
            }
            else
            {
                var tipStr = "Server erorr";
                switch (responsePack)
                {
                    case "NoLogin":
                        tipStr = Language.StringByID(StringId.InvalidLoginCertificate);
                        break;
                }
                Application.RunOnMainThread(() =>
                {
                    //提示原因
                    var tip = new Tip()
                    {
                        Text = tipStr,
                        CloseTime = 1,
                        Direction = AMPopTipDirection.None
                    };
                    tip.Show(bodyView);
                });
                // 提示错误
                IMessageCommon.Current.ShowErrorInfoAlter(responsePack);
            }
            return result;
        }
@@ -1006,6 +1013,9 @@
                //        }
                //    });
                //};
                //判断是否同意了隐私政策
                if (CheckPrivacyPolicy() == false) return;
                var registerPage = new RegisterPage();
                registerPage.Show();
@@ -1040,5 +1050,18 @@
            };
        }
        /// <summary>
        /// 用户不存在
        /// </summary>
        void ShowBtnAccountViewBottomLineError()
        {
            Application.RunOnMainThread(() =>
            {
                //用户不存在
                btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
                btnAccountViewBottomLine.Height = Application.GetRealHeight(2);
            });
        }
    }
}