JLChen
2021-02-05 de344cadaa299a585d20488c4ce393f7ec797461
HDL_ON/UI/UI1-Login/LoginPageBLL.cs
@@ -6,6 +6,8 @@
using Shared;
using HDL_ON.Entity;
using HDL_ON.DAL.Server;
using System.Security.Cryptography;
using System.Text;
namespace HDL_ON.UI.UI1Login
{
@@ -598,7 +600,7 @@
                            if (verAccount == etPassword.Text.Trim())
                            {
                                //跳转页面----
                                MainPage.GoUserPage();
                                MainPage.GoUserPage(true);
                                return;
                            }
                        });
@@ -629,8 +631,10 @@
                            //}
                            Application.RunOnMainThread(() =>
                            {
                                //20201223-登录成功之后,将下载数据完成标记标记为false,防止主页提前加载
                                Common.ApiUtlis.Ins.DownloadDataComplete = false;
                                //跳转页面----
                                MainPage.GoUserPage();
                                MainPage.GoUserPage(true);
                            });
                        }
                        else
@@ -754,10 +758,11 @@
                        btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2;
                        btnPasswordViewBottomLine.Height = Application.GetRealHeight(2);
                    }
                    else if (loginResult.Code == "10019")
                    else if (loginResult.Code == StateCode.AccountLoginLock)
                    {
                        var tipStr = Language.StringByID(StringId.AccountLoginLock) + "\r\n" + Language.StringByID(StringId.PleaseTryToForgetPassword);
                        Utlis.ShowTip(tipStr);
                        ShowAccountLoginLockTip(loginResult);
                        //var tipStr = Language.StringByID(StringId.AccountLoginLock) + "\r\n" + Language.StringByID(StringId.PleaseTryToForgetPassword);
                        //Utlis.ShowTip(tipStr);
                        return;
                    }
                    IMessageCommon.Current.ShowErrorInfoAlter(loginResult.Code);
@@ -766,6 +771,40 @@
            
            }
            return result;
        }
        /// <summary>
        /// 解析提示用户解锁时间
        /// 密码错误次数过多,账号被锁定!请通过忘记密码找回密码或{0}分钟后重试.
        /// </summary>
        /// <param name="loginResult"></param>
        void ShowAccountLoginLockTip(ResponsePackNew loginResult)
        {
            //密码错误次数过多,账号被锁定!
            var tipStr = Language.StringByID(StringId.AccountLoginLock);
            try
            {
                if (loginResult.extra != null)
                {
                    //请通过忘记密码找回密码或{0}分钟后重试.
                    var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<AccountLoginLockExtraRes>(loginResult.extra.ToString());
                    string msg = Language.StringByID(StringId.PleaseTryToForgetPassword);
                    //var unlockTime = Utlis.UnixToDateTimeWithFormatMS(revertData.unlockTime, "HH:mm");
                    //msg = msg.Replace("{0}", unlockTime);
                    var unlockDatetime = Utlis.UnixToDateTimeMS(revertData.unlockTime);
                    var unlockTimeInt = unlockDatetime.Minute - DateTime.Now.Minute;
                    if(unlockTimeInt <= 0)
                    {
                        unlockTimeInt = 1;
                    }
                    msg = msg.Replace("{0}", unlockTimeInt.ToString());
                    tipStr = tipStr + "\r\n" + msg;
                }
            }
            catch { }
            Utlis.ShowTip(tipStr);
        }
        /// <summary>
@@ -800,6 +839,15 @@
        {
            btnRegister.MouseUpEventHandler += (sender, e) =>
            {
                //2020-12-22 增加点击隐藏键盘事件
                Application.HideSoftInput();
#if DEBUG
                TestEZSDK();
                return;
#endif
                //判断是否同意了隐私政策
                if (CheckPrivacyPolicy() == false) return;
@@ -814,11 +862,65 @@
                        MainPage.Log($"login callBackAction : {ex.Message}");
                    }
                };
                var registerPage = new RegisterPage(autoLoginAction);
                registerPage.Show();
                registerPage.ShowDialog();
            };
        }
        void TestESVideo()
        {
#if __Android__
#else
            //EZSDK.IOS.EZSDK.Go2EZvizMonitor();
            Shared.ESVideoInfo eSVideoInfo = new Shared.ESVideoInfo();
            eSVideoInfo.DeviceName = "室外机88";
            eSVideoInfo.ESVideoUUID = "JJY000019VPLLF";
            eSVideoInfo.ESRoomID = 801;
            eSVideoInfo.RoomName = "0801";
            Shared.ESVideo.ShowESVideoMonitor(eSVideoInfo);
            return;
#endif
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="signstr"></param>
        /// <returns></returns>
        static string SignMD5Encrypt(string s)
        {
            byte[] sign = MD5.Create().ComputeHash(UTF8Encoding.UTF8.GetBytes(s));
            string signstr = string.Empty;
            foreach (byte item in sign)
            {
                signstr += item.ToString("X2");
            }
            return signstr.ToLower();
        }
        void TestEZSDK()
        {
#if __Android__
#else
            //设置子账号AccessToken方案
            EZSDK.IOS.EZSDK.SetEZAccessToken("ra.cekz6j9y1zg7mqgj3rmb099p49fuf6w3-9keosamseq-00wktld-brmhuciz1");
            EZSDK.IOS.EZSDK.Go2EZvizMonitor();
            //var psw = SignMD5Encrypt("1aa98a90489b4838b966b57018b4b04b#123456");
            //Utlis.WriteLine("MD5 psw: " + psw);
            return;
#endif
        }
        /// <summary>
@@ -828,6 +930,14 @@
        {
            btnForgetPassword.MouseUpEventHandler += (sender, e) =>
            {
                //2020-12-22 增加点击隐藏键盘事件
                Application.HideSoftInput();
#if DEBUG
                TestESVideo();
                return;
#endif
                //判断是否同意了隐私政策
                if (CheckPrivacyPolicy() == false) return;
@@ -843,6 +953,7 @@
                        MainPage.Log($"login callBackAction : {ex.Message}");
                    }
                };
                var forgetPasswordDialog = new ForgetPasswordPage(autoLoginAction);
                forgetPasswordDialog.Show();
                forgetPasswordDialog.ShowDialog();