陈嘉乐
2020-01-08 bbc74a6dae2e90a811b2507c5896fe89aa29ccc0
Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountRegistration.cs
@@ -261,9 +261,12 @@
                        Application.RunOnMainThread (() => {
                            MainPage.Loading.Start ("Please wait...");
                        });
                        string isExistingAccount = "{\"Account\":\"" + account + "\"}";
                        var isExistingAccountObj = MainPage.RequestHttps ("IsExistingAccount", isExistingAccount, false);
                        if (isExistingAccountObj.StateCode == "EXIST") {
                        //string isExistingAccount = "{\"Account\":\"" + account + "\"}";
                        var detectionAccountObj = new DetectionAccountObj () { Account = account };
                        var postJson = Newtonsoft.Json.JsonConvert.SerializeObject (detectionAccountObj);
                        var isExistingAccountObj = MainPage.RequestHttps (API.DetectionAccount, postJson, false);
                        if (isExistingAccountObj.StateCode == "AccountExists") {
                            string sssd = "这个账号已经注册。";
                            if (Language.CurrentLanguage == "English")
                                sssd = "This account has been registered.";
@@ -272,15 +275,18 @@
                            });
                            return;
                        } else {
                            var requestObj = new SignInObj () { Account = account, Password = passwordText, Contact = userName, Language = Language.CurrentLanguage, Company = MainPage.SoftSmsType };
                            var requestObj = new YdRegisterAccountObj () { Account = account, Password = passwordText, Contact = userName, Language = Language.CurrentLanguage, Company = MainPage.SoftSmsType };
                            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
                            var revertObj = MainPage.RequestHttps ("SignIn", requestJson, false);
                            if (revertObj.StateCode == "SUCCESS") {
                            var revertObj = MainPage.RequestHttps (API.YdRegisterAccount, requestJson, false);
                            if (revertObj.StateCode.ToUpper() == "SUCCESS") {
                                Application.RunOnMainThread (() => {
                                    new Alert ("", Language.StringByID (R.MyInternationalizationString.AuthenticationMail), Language.StringByID (R.MyInternationalizationString.Close)).Show ();
                                    Close ();
                                    new AccountLogin (account, passwordText).Show ();
                                });
                            } else {
                                //注册失败提示
                                ShowErrorInfo (revertObj.StateCode);
                            }
                        }
                    } catch {
@@ -326,5 +332,28 @@
            };
        }
        void ShowErrorInfo (string stateCodeStr)
        {
            string mes = "";
            //2020-01-06 代补充
            if (stateCodeStr == "AccountExists") {
                mes = "This account has been registered.";
            } 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 ();
                });
            }
        }
    }
}