From f500e14c0a994487070380c50c85e0929cbc8e63 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期二, 05 一月 2021 10:48:04 +0800
Subject: [PATCH] 2021-01-05 1.更新

---
 Crabtree/SmartHome/UI/SimpleControl/Phone/Register/ForgotPassword.cs |   65 ++++++++++++++++++++++++--------
 1 files changed, 48 insertions(+), 17 deletions(-)

diff --git a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/ForgotPassword.cs b/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/ForgotPassword.cs
index 3a17e88..71054df 100644
--- a/Crabtree/SmartHome/UI/SimpleControl/Phone/Register/ForgotPassword.cs
+++ b/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 鍒� [璋冪敤姝ゆ帴鍙f搷浣滄垚鍔焆, 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 ();

--
Gitblit v1.8.0