陈嘉乐
2020-01-08 bbc74a6dae2e90a811b2507c5896fe89aa29ccc0
Crabtree/SmartHome/UI/SimpleControl/Phone/Register/ForgotPassword.cs
@@ -178,6 +178,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,7 +192,7 @@
                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);
@@ -201,15 +202,17 @@
                                                         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, false);
                            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 +226,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 +314,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;
@@ -384,7 +414,7 @@
                        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") {
                        if (requestRevertObj.StateCode.ToUpper() == "SUCCESS") {
                            Application.RunOnMainThread (() => {
                                InitMobilePasswrod (mobileNumber);
                                bodyPageView.PageIndex = bodyPageView.ChildrenCount - 1;
@@ -487,7 +517,7 @@
                        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") {
                        if (revertObj.StateCode.ToUpper() == "SUCCESS") {
                            Application.RunOnMainThread (() => {
                                new Alert ("", Language.StringByID (R.MyInternationalizationString.ThePerationWasSuccessful),
                                           Language.StringByID (R.MyInternationalizationString.Close)).Show ();