From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 09:07:13 +0800 Subject: [PATCH] 新云端Ver1.3 --- ZigbeeApp/Shared/Phone/UserCenter/Password/CheckNewPhoneForm.cs | 197 +++++++++++++++--------------------------------- 1 files changed, 62 insertions(+), 135 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Password/CheckNewPhoneForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Password/CheckNewPhoneForm.cs index f85afd8..0539ccc 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Password/CheckNewPhoneForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Password/CheckNewPhoneForm.cs @@ -23,6 +23,10 @@ /// 鏂版墜鏈�(闃叉鎭舵剰鍙樻洿) /// </summary> private string newPhone = string.Empty; + /// <summary> + /// 鑳藉惁鍙戦�侀獙璇佺爜 + /// </summary> + private bool canSendCode = true; #endregion @@ -62,29 +66,32 @@ btnArea.TextColor = UserCenterColor.Current.TextGrayColor3; btnArea.Gravity = Gravity.CenterVertical; frame.AddChidren(btnArea); - btnArea.ButtonClickEvent += (sender, e) => - { - var form = new AreaCodeSelectForm(); - form.AddForm(); - form.FinishSelectEvent += (code) => - { - btnArea.Text = "+" + code; - }; - }; + //鐩墠鍙拡瀵�+86 + //btnArea.ButtonClickEvent += (sender, e) => + //{ + // var form = new AreaCodeSelectForm(); + // form.AddForm(); + // form.FinishSelectEvent += (code) => + // { + // btnArea.Text = "+" + code; + // }; + //}; //杈撳叆妗� - var txtValue = new TextInputControl(Application.GetRealWidth(510), frame.Height - ControlCommonResourse.BottomLineHeight, false); + var txtValue = new TextInputControl(Application.GetRealWidth(510), frame.Height - HdlControlResourse.BottomLineHeight, false); txtValue.X = btnArea.Right + Application.GetRealWidth(35); txtValue.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseInputNewPhoneNumber); frame.AddChidren(txtValue); //绾� - var btnLine = new NormalViewControl(frame.Width, ControlCommonResourse.BottomLineHeight, false); + var btnLine = new NormalViewControl(frame.Width, HdlControlResourse.BottomLineHeight, false); btnLine.Y = txtValue.Bottom; btnLine.BackgroundColor = UserCenterColor.Current.ButtomLine; frame.AddChidren(btnLine); + //鑱斿姩绾跨殑鐘舵�� + txtValue.btnLine = btnLine; - if (string.IsNullOrEmpty(UserCenterResourse.UserInfo.Phone) == false) + if (string.IsNullOrEmpty(HdlUserCenterResourse.UserInfo.UserPhone) == false) { //纭韬唤鎴愬姛锛岃缁戝畾鏂版墜鏈哄彿鐮� var btnMsg1 = new NormalViewControl(800, 49, false); @@ -110,8 +117,8 @@ }; btnCodeControl.FinishInputEvent += (value) => { - //鏍¢獙楠岃瘉鐮� - this.CheckVerificationCode(value); + //缁戝畾鏂版墜鏈� + this.SaveNewPhoneNumber(btnCodeControl, value); }; //楠岃瘉鐮侀敊璇紝璇烽噸鏂拌緭鍏� @@ -119,6 +126,7 @@ btnErrorMsg.Y = Application.GetRealHeight(677); btnErrorMsg.TextAlignment = TextAlignment.Center; btnErrorMsg.TextColor = 0xfff75858; + btnErrorMsg.IsBold = true; btnErrorMsg.TextID = R.MyInternationalizationString.uVerificationCodeErrorInputAgain; bodyFrameLayout.AddChidren(btnErrorMsg); btnErrorMsg.Visible = false; @@ -131,6 +139,9 @@ btnOk.CanClick = false; btnOk.ButtonClickEvent += (sender, e) => { + //娓呯┖杈撳叆鐨勫�� + btnCodeControl.ClearInputValue(); + this.btnErrorMsg.Visible = false; string areaCode = btnArea.Text.Substring(1); //妫�娴嬫墜鏈哄彿鐮� @@ -164,18 +175,18 @@ /// <summary> /// 鍙戦�侀獙璇佺爜鍒版墜鏈� /// </summary> - private async void SendCodeToPhone(BottomClickButton btnNext,string areaCode, string phoneNum) + private void SendCodeToPhone(BottomClickButton btnNext,string areaCode, string phoneNum) { - var sendCodePra = new SendCodePra(); - sendCodePra.Account = phoneNum; - sendCodePra.AreaCode = Convert.ToInt32(areaCode); - - bool flage = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/RegisterSendVerCode", false, sendCodePra); - if (flage == false) + var errorMsg = HdlAccountLogic.Current.SendVeriCodeToPhone(areaCode, phoneNum, VerCodeType.A缁戝畾); + if (errorMsg != null) { + //鏄剧ず閿欒 + this.btnErrorMsg.Visible = true; + this.btnErrorMsg.Text = errorMsg; return; } - + //涓嶈兘鍐嶅彂閫侀獙璇佺爜 + this.canSendCode = false; //鍙互寮�濮嬫牎楠岄獙璇佺爜浜� this.canCheckCode = true; //璁板綍璧疯繖涓墜鏈�,闃叉鎭舵剰鍙樻洿 @@ -184,89 +195,66 @@ btnNext.CanClick = false; //?s鍚庨噸鍙� string repeat = Language.StringByID(R.MyInternationalizationString.RepeatSend1); - //鏈夋晥鏃堕棿300绉� - int waitime = 300; + //鏈夋晥鏃堕棿60绉� + int waitime = 60; btnNext.Text = waitime + "s" + repeat; HdlThreadLogic.Current.RunThread(() => { - while (this.Parent != null) + while (this.Parent != null && this.canSendCode == false) { waitime--; System.Threading.Thread.Sleep(1000); if (waitime == 0) { - this.canCheckCode = false; - Application.RunOnMainThread(() => - { - if (btnNext != null) - { - //鑾峰彇楠岃瘉鐮� - btnNext.TextID = R.MyInternationalizationString.uGetVerificationCode; - //鎸夐敭鍙互鎸変笅 - btnNext.CanClick = true; - } - }); break; } - Application.RunOnMainThread(() => + HdlThreadLogic.Current.RunMain(() => { if (btnNext != null) { btnNext.Text = waitime + "s" + repeat; } - }); + }, ShowErrorMode.NO); } + Application.RunOnMainThread(() => + { + if (btnNext != null) + { + //鑾峰彇楠岃瘉鐮� + btnNext.TextID = R.MyInternationalizationString.uGetVerificationCode; + //鎸夐敭鍙互鎸変笅 + btnNext.CanClick = true; + } + }); }); } #endregion - #region 鈻� 鏍¢獙楠岃瘉鐮乢________________________ + #region 鈻� 鍙樻洿鎵嬫満___________________________ /// <summary> - /// 楠岃瘉楠岃瘉鐮� + /// 鍙樻洿鎵嬫満鍙� /// </summary> - /// <returns></returns> - private async void CheckVerificationCode(string code) + private void SaveNewPhoneNumber(VerificationCodeControl btnCodeControl, string code) { if (this.canCheckCode == false) { //楠岃瘉鐮侀敊璇紝璇烽噸鏂拌緭鍏� this.btnErrorMsg.Visible = true; this.btnErrorMsg.TextID = R.MyInternationalizationString.uVerificationCodeErrorInputAgain; + //娓呯┖杈撳叆鍊� + btnCodeControl.ClearInputValue(); return; } - var checkCodePra = new CheckCodePra(); - checkCodePra.Code = code; - checkCodePra.Account = newPhone; - - bool flage = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/ValidatorCode", false, checkCodePra); - if (flage == false) + //鎵ц缁戝畾 + var errorMsg = HdlAccountLogic.Current.BindAccount(this.newPhone, code); + if (errorMsg != null) { - //楠岃瘉鐮侀敊璇紝璇烽噸鏂拌緭鍏� - this.btnErrorMsg.Visible = true; - this.btnErrorMsg.TextID = R.MyInternationalizationString.uVerificationCodeErrorInputAgain; - return; - } - - //鍙樻洿鎵嬫満鍙� - this.SaveNewPhoneNumber(); - } - - /// <summary> - /// 鍙樻洿鎵嬫満鍙� - /// </summary> - private async void SaveNewPhoneNumber() - { - var pra = new SaveNewPhoneNumPra(); - pra.Account = newPhone; - - bool flage = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/BindAccount", false, pra); - if (flage == false) - { - //缁戝畾鎵嬫満澶辫触 - this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uBindPhoneFail)); + this.ShowMassage(ShowMsgType.Tip, errorMsg); + //鍙互閲嶆柊鍙戦�侀獙璇佺爜 + this.canSendCode = true; return; } @@ -285,12 +273,12 @@ private void RefreshUserInfoForm() { //濡傛灉淇敼鐨勬槸璐﹀彿鐨勮瘽,鍒欓噸鏂扮櫥褰� - if (UserCenterResourse.UserInfo.Phone == Shared.Common.Config.Instance.Account) + if (HdlUserCenterResourse.UserInfo.UserPhone == Shared.Common.Config.Instance.Account) { - UserCenterLogic.ReLoginAgain(newPhone); + HdlAccountLogic.Current.ReLoginAgain(newPhone); return; } - UserCenterResourse.UserInfo.Phone = newPhone; + HdlUserCenterResourse.UserInfo.UserPhone = newPhone; this.CloseForm(); } @@ -321,67 +309,6 @@ return false; } return true; - } - - #endregion - - #region 鈻� 缁撴瀯浣揰____________________________ - - /// <summary> - /// 鍙戦�侀獙璇佺爜鐨勫惎鍔ㄥ弬鏁� - /// </summary> - private class SendCodePra - { - /// <summary> - /// 鐢ㄦ埛璐﹀彿 - /// </summary> - public string Account = string.Empty; - /// <summary> - /// 鍏徃缂栧彿,鍥藉唴浣跨敤鎵嬫満鐭俊楠岃瘉鐮佹椂锛屾瀛楁濉叆0锛屽浗澶栨墜鏈虹煭淇¢獙璇佺爜锛屾瀛楁濉叆4 - /// </summary> - public int Company = Common.CommonPage.PhoneZoneStr == "86" ? 0 : 4; - /// <summary> - /// 璇█ - /// </summary> - public string Language = Shared.Language.CurrentLanguage; - /// <summary> - /// 鍥藉鍦板尯浠g爜锛屾墜鏈哄彿鍙戦�侀獙璇佺爜鏃朵娇鐢� - /// </summary> - public int AreaCode = 0; - } - - /// <summary> - /// 鍙戦�侀獙璇佺爜鐨勫惎鍔ㄥ弬鏁� - /// </summary> - private class CheckCodePra - { - /// <summary> - /// 鐢ㄦ埛璐﹀彿 - /// </summary> - public string Account = string.Empty; - /// <summary> - /// 楠岃瘉鐮� - /// </summary> - public string Code = "0"; - /// <summary> - /// 璇█ - /// </summary> - public string Language = Shared.Language.CurrentLanguage; - /// <summary> - /// 鍥藉鍦板尯浠g爜锛屾墜鏈哄彿鍙戦�侀獙璇佺爜鏃朵娇鐢� - /// </summary> - public int AreaCode = 0; - } - - /// <summary> - /// 淇濆瓨鏂版墜鏈哄彿鐨勫惎鍔ㄥ弬鏁� - /// </summary> - private class SaveNewPhoneNumPra - { - /// <summary> - /// 鏂扮敤鎴疯处鍙� - /// </summary> - public string Account = string.Empty; } #endregion -- Gitblit v1.8.0