JLChen
2021-01-05 f500e14c0a994487070380c50c85e0929cbc8e63
Crabtree/SmartHome/UI/SimpleControl/Phone/Register/ForgotPassword.cs
@@ -69,7 +69,7 @@
                if (bodyPageView.ChildrenCount - 2 == e) {
                    bodyPageView.RemoveAt (bodyPageView.ChildrenCount - 1);
                }
                Console.WriteLine ("D" + e.ToString ());
                Utlis.WriteLine ("D" + e.ToString ());
            };
            FrameLayout bodyView = new FrameLayout ();
@@ -139,14 +139,15 @@
        void EmailForgot (FrameLayout FrameLayoutView)
        {
            FrameLayoutView.RemoveAll ();
            var viewX = (Application.GetRealWidth (640) - Application.GetMinRealAverage (500)) / 2;
            EditText Register_Email_Address = new EditText () {
                Width = Application.GetRealWidth (500),
                Height = Application.GetRealHeight (85),
                X = Application.GetRealWidth (70),
                Width = Application.GetMinRealAverage (500),
                Height = Application.GetMinRealAverage (85),
                X = viewX,
                Y = Application.GetRealHeight (100),
                UnSelectedImagePath = "Register/Register_Email_Address.png",
                PlaceholderText = Language.StringByID (R.MyInternationalizationString.EmailAddress),
                PlaceholderTextColor = SkinStyle.Current.PlaceholderTextColor,
                PlaceholderText = Language.StringByID (R.MyInternationalizationString.EmailAddress),
                TextAlignment = TextAlignment.Center,
                Radius = (uint)Application.GetRealHeight (0),
                TextColor = SkinStyle.Current.TextColor1,
@@ -178,6 +179,7 @@
            Register_Send.MouseUpEventHandler += (sender, e) => {
                MainPage.Loading.Start ("Please wait...");
                string emailAccount = Register_Email_Address.Text.Trim ();
                Register_Send.Enable = false;
                new System.Threading.Thread (() => {
                    System.Threading.Thread.Sleep (10000);
@@ -191,25 +193,27 @@
                System.Threading.Tasks.Task.Run (() => {
                    try {
                        Register_Send.IsSelected = false;
                        string emailAccount = Register_Email_Address.Text.Trim ();
                        var reg = new Regex ("^\\s*([A-Za-z0-9_-]+(\\.\\w+)*@(\\w+\\.)+\\w{2,5})\\s*$");
                        var ss = reg.Match (emailAccount);
                        //var reg = new Regex ("^\\s*([A-Za-z0-9_-]+(\\.\\w+)*@(\\w+\\.)+\\w{2,5})\\s*$");
                        //var ss = reg.Match (emailAccount);
                        if (!ss.Success) {
                        if (!CommonUtlis.Current.CheckEmail (emailAccount)) {
                            Application.RunOnMainThread (() => {
                                new Alert ("", Language.StringByID (R.MyInternationalizationString.PleaseCheckEmailAddressCorrectly),
                                                         Language.StringByID (R.MyInternationalizationString.Close)).Show ();
                            });
                        } else {
                            var requestObj = new ForgetPasswordObj () { Account = emailAccount, Company = MainPage.SoftSmsType };
                            var requestObj = new YdForgetPasswordObj () { Account = emailAccount, Company = MainPage.SoftSmsType };
                            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
                            var requestRevertObj = MainPage.RequestHttps ("ForgetPassword", requestJson, false);
                            if (requestRevertObj.StateCode == "SUCCESS") {
                            var requestRevertObj = MainPage.RequestHttps (API.YdForgetPassword, requestJson);
                            if (requestRevertObj.StateCode.ToUpper() == "SUCCESS") {
                                Application.RunOnMainThread (() => {
                                    this.Close ();
                                    new Alert ("", "A reset link has been sent to you email ID, Please check.", Language.StringByID (R.MyInternationalizationString.Close)).Show ();
                                    new AccountLogin (emailAccount, "").Show ();
                                });
                            } else {
                                ShowYdForgetPasswordErrorInfo (requestRevertObj.StateCode);
                            }
                        }
                    } catch {
@@ -223,6 +227,33 @@
                    }
                });
            };
        }
        /// <summary>
        ///* (1)Success 则 [调用此接口操作成功], ResponseData则为null<br/>         ///* (2)ParameterOrEmpty,则响应字段中 [ErrorInfo] 为错误信息, ResponseData则为null<br/>         ///* (3)AccountNoExists,则响应字段中 [ErrorInfo] 为错误信息 [帐号不存在!], ResponseData则为null<br/>          ///* (4)SendEmailFail,则响应字段中 [ErrorInfo] 为错误信息 [发送邮件失败!], ResponseData则为null<br/>
        /// </summary>
        /// <param name="stateCodeStr"></param>
        void ShowYdForgetPasswordErrorInfo (string stateCodeStr)
        {
            string mes = "";
            //2020-01-06 待补充
            if (stateCodeStr == "AccountNoExists") {
                mes = ErrorCode.ACCOUNTNOEXISTS;
            } else if (stateCodeStr == "SendEmailFail") {
                mes = ErrorCode.SendEmailFail;
            } else if (stateCodeStr == ErrorCode.NetworkError) {
                mes = ErrorCode.NetworkError;
            } else {
                mes = ErrorCode.OperationFailed + ErrorCode.Reason + stateCodeStr;
            }
            if (!string.IsNullOrEmpty (mes)) {
                Application.RunOnMainThread (() => {
                    new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show ();
                });
            }
        }
        void PhoneReagistrationView (FrameLayout registrationView)
@@ -284,7 +315,7 @@
                        var requestObj = new SignPhoneObj () { Phone = phoneNum, Company = MainPage.SoftSmsType };
                        var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
                        var requestRevertObj = MainPage.RequestHttps ("SignPhone", requestJson);
                        if (requestRevertObj.StateCode == "SUCCESS") {
                        if (requestRevertObj.StateCode.ToUpper() == "SUCCESS") {
                            Application.RunOnMainThread (() => {
                                InitSMSView (phoneNum);
                                bodyPageView.PageIndex = bodyPageView.ChildrenCount - 1;
@@ -383,8 +414,8 @@
                    try {
                        var requestObj = new ValidateSmsCodeObj () { Phone = mobileNumber, Code = vCode };
                        var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
                        var requestRevertObj = MainPage.RequestHttps ("ValidateSmsCode", requestJson, false);
                        if (requestRevertObj.StateCode == "SUCCESS") {
                        var requestRevertObj = MainPage.RequestHttps ("ValidateSmsCode", requestJson);
                        if (requestRevertObj.StateCode.ToUpper() == "SUCCESS") {
                            Application.RunOnMainThread (() => {
                                InitMobilePasswrod (mobileNumber);
                                bodyPageView.PageIndex = bodyPageView.ChildrenCount - 1;
@@ -486,8 +517,8 @@
                    try {
                        var requestObj = new ForgetPasswordActionObj () { Account = mobileNumber, Password = newpw };
                        var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
                        var revertObj = MainPage.RequestHttps ("ForgetPasswordAction", requestJson, false);
                        if (revertObj.StateCode == "SUCCESS") {
                        var revertObj = MainPage.RequestHttps ("ForgetPasswordAction", requestJson);
                        if (revertObj.StateCode.ToUpper() == "SUCCESS") {
                            Application.RunOnMainThread (() => {
                                new Alert ("", Language.StringByID (R.MyInternationalizationString.ThePerationWasSuccessful),
                                           Language.StringByID (R.MyInternationalizationString.Close)).Show ();