From 8b9ce384b26c414db32f98e94e088f5334869c2d Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期三, 13 十一月 2019 15:36:28 +0800 Subject: [PATCH] 全部合并了代码,安卓和 IOS 都测试通过了 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs | 136 ++++++++++++++++++++++++++++---------------- 1 files changed, 86 insertions(+), 50 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs index e5b8bcd..9f5fe85 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs @@ -1640,22 +1640,13 @@ /// </summary> public async Task<string> ShowInputUserPasswordForm() { - //鑾峰彇褰撳墠姝e湪婵�娲荤殑鐢婚潰 - var form = UserCenterLogic.GetNowActionForm(); - if (form == null) - { - //杩欑鎯呭喌搴旇涓嶅瓨鍦� - this.ShowErrorMsg("ERROR:Not Found The ActionForm!"); - return null; - } - - DialogInputFrameControl Dialogform = null; + NumberPswInputDialogForm Dialogform = null; bool isShowingProgressBar = false; string ProgressBarText = string.Empty; string pasword = null; - Application.RunOnMainThread(() => + HdlThreadLogic.Current.RunMain(() => { isShowingProgressBar = CommonPage.Loading.Visible; ProgressBarText = CommonPage.Loading.Text; @@ -1665,21 +1656,12 @@ CommonPage.Loading.Hide(); } - Dialogform = new DialogInputFrameControl(form, DialogFrameMode.OnlyPassword); - //鐢ㄦ埛瀵嗙爜 - Dialogform.SetTitleText(Language.StringByID(R.MyInternationalizationString.uSafetyPassword)); - //璁剧疆鎻愮ず淇℃伅:璇疯緭鍏ョ敤鎴峰瘑鐮� - Dialogform.SetTipText(Language.StringByID(R.MyInternationalizationString.uPleaseInputUserPassword)); + Dialogform = new NumberPswInputDialogForm(); + Dialogform.AddForm(Language.StringByID(R.MyInternationalizationString.uPleaseInputUserPassword), 4); //纭鎸夐挳 - Dialogform.ComfirmClickEvent += ((textValue) => + Dialogform.FinishInputEvent += ((textValue) => { - if (textValue == string.Empty) - { - this.ShowErrorMsg(Language.StringByID(R.MyInternationalizationString.uPleaseInputUserPassword)); - return; - } - Dialogform.CloseDialog(); - + Dialogform.CloseForm(); //鐢ㄦ埛瀵嗙爜 pasword = textValue; //鍔犲瘑瀵嗙爜 @@ -1874,36 +1856,66 @@ /// <summary> /// 璁剧疆鑳佽揩鐨勮仈绯讳汉鏂瑰紡 /// </summary> - /// <param name="dicPhone">keys:鑱旂郴鏂瑰紡 values:鍦板尯鐮�</param> + /// <param name="listPhone">鍦板尯鐮�-鑱旂郴鏂瑰紡</param> + /// <param name="listNote">鑱旂郴浜哄娉�</param> + /// <param name="addPhone">鏄惁鏄柊寤鸿仈绯讳汉,false鐨勬椂鍊�,鍙敼澶囨敞</param> /// <returns></returns> - public async Task<bool> SetCoercePhoneNumber(Dictionary<string, string> dicPhone) + public async Task<bool> SetCoercePhoneNumber(List<string> listPhone, List<string> listNote, bool addPhone = true) { - var Pra = new Safeguard.SetCoercePhoneNumberData(); - var Actonobj = new Safeguard.PushTargetActionObj(); - Actonobj.Type = 2; - Pra.Actions.Add(Actonobj); - Pra.LoginToken = this.GetLoginToken(); - - foreach (string phoneNum in dicPhone.Keys) + if (addPhone == true) { - var phoneInfo = new Safeguard.PushTargetInfo(); - Actonobj.PushTarget.Add(phoneInfo); - //鐢佃瘽鍙风爜 - phoneInfo.PushNumber = dicPhone[phoneNum] + "-" + phoneNum; - } + var Pra = new Safeguard.SetCoercePhoneNumberData(); + var Actonobj = new Safeguard.PushTargetActionObj(); + Actonobj.Type = 2; + Pra.Actions.Add(Actonobj); + Pra.LoginToken = this.GetLoginToken(); - var result = await Safeguard.SetCoercePhoneNumberAsync(Pra); - if (result == null || result.setCoercePhoneNumberResponseData == null || result.setCoercePhoneNumberResponseData.Result != 0) + for (int i = 0; i < listPhone.Count; i++) + { + var phoneInfo = new Safeguard.PushTargetInfo(); + Actonobj.PushTarget.Add(phoneInfo); + //鐢佃瘽鍙风爜 + phoneInfo.PushNumber = listPhone[i]; + } + var result = await Safeguard.SetCoercePhoneNumberAsync(Pra); + if (result == null || result.setCoercePhoneNumberResponseData == null || result.setCoercePhoneNumberResponseData.Result != 0) + { + //淇敼鑳佽揩鑱旂郴鏂瑰紡澶辫触 + string msg = Language.StringByID(R.MyInternationalizationString.uChangedCoercePhoneNumberFail); + //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg + msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, result); + + this.ShowErrorMsg(msg); + return false; + } + } + for (int i = 0; i < listNote.Count; i++) { - //淇敼鑳佽揩鑱旂郴鏂瑰紡澶辫触 - string msg = Language.StringByID(R.MyInternationalizationString.uChangedCoercePhoneNumberFail); - //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg - msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, result); - - this.ShowErrorMsg(msg); - return false; + var result = await Safeguard.SetCoercePhoneNumberNoteAsync(listPhone[i], listNote[i]); + if (result == null) + { + //淇敼澶囨敞淇℃伅澶辫触 + string msg = Language.StringByID(R.MyInternationalizationString.uEditorNoteInformationFail); + //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg + msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂"); + this.ShowErrorMsg(msg); + return false; + } + if (result.Result == -2) + { + //閿欒:缃戝叧瀵硅薄涓㈠け + string msg = Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg); + this.ShowErrorMsg(msg); + return false; + } + if (result.Result != 0) + { + //淇敼澶囨敞淇℃伅澶辫触 + string msg = Language.StringByID(R.MyInternationalizationString.uEditorNoteInformationFail); + this.ShowErrorMsg(msg); + return false; + } } - return true; } @@ -1939,6 +1951,29 @@ } return true; + } + + /// <summary> + /// 缁欒仈绯诲彿鐮佹坊鍔犲娉ㄧ殑淇℃伅 + /// </summary> + private class AddPushNumberNoteInfo + { + /// <summary> + /// 鍥哄畾253 + /// </summary> + public int ActionType = 253; + /// <summary> + /// LoginToken + /// </summary> + public string LoginToken = string.Empty; + /// <summary> + /// 鍦板尯鐮�-鑱旂郴鏂瑰紡 + /// </summary> + public string PushNumber = string.Empty; + /// <summary> + /// 鑱旂郴浜哄彿鐮佸娉紝鏈�澶�63byte + /// </summary> + public string PushNumberNote = string.Empty; } #endregion @@ -2201,10 +2236,11 @@ /// 鑾峰彇鐧婚檰鑰呯殑Token(濂藉儚绠$悊鍛樼櫥闄嗙殑鏃跺��,闇�瑕佸彉鏇碩oken,鎵�浠ユ殏涓斿畾涔変竴涓嚱鏁板嚭鏉�) /// </summary> /// <returns></returns> - private string GetLoginToken() + public string GetLoginToken() { //鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken - return UserCenterLogic.GetConnectMainToken(); + //return UserCenterLogic.GetConnectMainToken(); + return Config.Instance.Token; } #endregion -- Gitblit v1.8.0