using System; using System.Collections.Generic; using System.Text; namespace Shared.Phone.UserCenter.Safety { /// /// 编辑胁迫密码的界面 /// public class CoercePswEditorForm : EditorCommonForm { #region ■ 变量声明___________________________ /// /// 用户账号 /// private int pswNo = 5; /// /// 密码 /// private string password = string.Empty; /// /// 密码提示 /// private string passwordTip = string.Empty; /// /// 列表的桌布控件 /// private FrameLayout frameTable = null; /// /// 当前的联系人列表 /// private List listPhoneData = null; #endregion #region ■ 初始化_____________________________ /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// /// 用户密码 /// 用户密码提示 public void ShowForm(string i_password, string i_passwordTip) { this.password = i_password; this.passwordTip = i_passwordTip; //设置头部信息 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uCoercePassword)); //初始化中部信息 this.InitMiddleFrame(i_password); } /// /// 初始化中部信息 /// /// 用户密码 private void InitMiddleFrame(string i_password) { //清空bodyFrame this.ClearBodyFrame(); this.frameTable = new FrameLayout(); frameTable.Height = bodyFrameLayout.Height; bodyFrameLayout.AddChidren(frameTable); var frameback = new FrameLayout(); frameback.Y = Application.GetRealHeight(179); frameback.Height = Application.GetRealHeight(395); frameback.Width = Application.GetRealWidth(717); frameback.Gravity = Gravity.CenterHorizontal; frameback.BackgroundImagePath = "Safeguard/SafeguardPasswordGround.png"; bodyFrameLayout.AddChidren(frameback); //当前使用密码 var btnNowTip = new NormalViewControl(frameback.Width, Application.GetRealHeight(50), false); btnNowTip.Y = Application.GetRealHeight(81); btnNowTip.TextSize = 12; btnNowTip.TextAlignment = TextAlignment.Center; btnNowTip.TextColor = UserCenterColor.Current.TextGrayColor3; btnNowTip.TextID = R.MyInternationalizationString.uNowUsePassword; frameback.AddChidren(btnNowTip); var btnPassword = new NormalViewControl(frameback.Width, Application.GetRealHeight(90), false); btnPassword.TextAlignment = TextAlignment.Center; btnPassword.Y = Application.GetRealHeight(150); btnPassword.TextSize = 24; btnPassword.TextColor = 0xfffc744b; btnPassword.Text = i_password; btnPassword.IsBold = true; frameback.AddChidren(btnPassword); //初始化列表控件 this.InitListViewControl(); } /// /// 初始化列表控件 /// private void InitListViewControl() { this.frameTable.RemoveAll(); //初始化桌布 var tableContr = new InformationEditorControl(); var listview = tableContr.InitControl(this.frameTable, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 711, 1025); //备注信息 string caption = Language.StringByID(R.MyInternationalizationString.uNoteInformation); var rowNote = new FrameCaptionInputControl(caption, passwordTip, listview.rowSpace / 2); rowNote.txtInput.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPlesaeInputNoteInformation); rowNote.txtInput.MaxByte = 90; listview.AddChidren(rowNote); rowNote.InitControl(); rowNote.AddBottomLine(); rowNote.txtInput.FinishInputEvent += () => { if (rowNote.Text == string.Empty) { rowNote.Text = passwordTip; return; } if (passwordTip != rowNote.Text) { //修改密码备注 this.EditorPassworTip(password, rowNote.Text); } }; //修改密码 var rowPsw = new FrameRowControl(listview.rowSpace / 2); listview.AddChidren(rowPsw); rowPsw.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uChangedPassword), 300); rowPsw.AddRightArrow(); rowPsw.AddBottomLine(); rowPsw.ButtonClickEvent += (sender, e) => { var form = new CoercePswAddNewForm(); form.AddForm(rowNote.Text); }; HdlThreadLogic.Current.RunThread(async () => { //开启进度条 this.ShowProgressBar(); //获取联系方式 var result = await HdlSafeguardLogic.Current.GetCoercePhoneNumber(); if (result == null) { //关闭进度条 this.CloseProgressBar(ShowReLoadMode.YES); return; } //关闭进度条 this.CloseProgressBar(); HdlThreadLogic.Current.RunMain(() => { this.listPhoneData = new List(); //联系人 var rowContact = new FrameRowControl(listview.rowSpace / 2); rowContact.UseClickStatu = false; listview.AddChidren(rowContact); rowContact.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uContactPersion), 300); var btnAdd = rowContact.AddMostRightEmptyIcon(81, 81); btnAdd.UnSelectedImagePath = "Item/Add.png"; rowContact.ButtonClickEvent += (sender, e) => { var form = new CoercePswAddContactForm(); form.AddForm(listPhoneData); }; if (result.Actions.Count > 0) { listPhoneData = result.Actions[0].PushTarget; foreach (var data in listPhoneData) { //添加联系人行 this.AddPhoneNumRowLayout(listview, data); } } else { //没有联系人的话,添加个底线 rowContact.AddBottomLine(); } }); }); } #endregion #region ■ 添加联系人行_______________________ /// /// 添加联系人行 /// /// /// private void AddPhoneNumRowLayout(VerticalListControl listview, ZigBee.Device.Safeguard.PushTargetInfo data) { var strArry = data.PushNumber.Split(new string[] { "-" }, StringSplitOptions.RemoveEmptyEntries); if (strArry.Length != 2) { return; } string areaCode2 = strArry[0]; string phoneNum = strArry[1]; string strPhone = "+" + areaCode2 + " " + phoneNum; if (phoneNum.Length >= 11) { phoneNum = phoneNum.Substring(0, 3) + "".PadLeft(phoneNum.Length - 7, '*') + phoneNum.Substring(phoneNum.Length - 4, 4); strPhone = "+" + areaCode2 + " " + phoneNum; } else if (phoneNum.Length >= 5) { //或许这是国外的手机吧 phoneNum = phoneNum.Substring(0, 3) + "".PadLeft(phoneNum.Length - 5, '*') + phoneNum.Substring(phoneNum.Length - 2, 2); strPhone = "+" + areaCode2 + " " + phoneNum; } var rowContact = new RowLayoutControl(); rowContact.frameTable.UseClickStatu = false; listview.AddChidren(rowContact); //联系方式 rowContact.frameTable.AddLeftCaption(strPhone + " (" + data.PushNumberNote + ")", 800); rowContact.frameTable.AddBottomLine(); //删除 var btnDetete = rowContact.AddDeleteControl(); btnDetete.ButtonClickEvent += (sender, e) => { string[] Arry = data.PushNumber.Split(new string[] { "-" }, StringSplitOptions.RemoveEmptyEntries); string PNumber = string.Empty; string areaCode = string.Empty; if (Arry.Length == 1) { PNumber = Arry[0]; } else { areaCode = Arry[0]; PNumber = Arry[1]; } string msg = Language.StringByID(R.MyInternationalizationString.uShowDoDeleteMsg); this.ShowMassage(ShowMsgType.Confirm, msg, () => { //删除联系人方式 this.DeleteCoercePhoneNumber(areaCode, PNumber, rowContact); }); }; } /// /// 删除联系人方式 /// /// /// /// public async void DeleteCoercePhoneNumber(string areaCode, string phone, RowLayoutControl rowContact) { bool result = await HdlSafeguardLogic.Current.DeleteCoercePhoneNumber(areaCode, phone); if (result == true) { rowContact.RemoveFromParent(); //移除缓存 string checkKeys = areaCode + "-" + phone; for (int i = 0; i < this.listPhoneData.Count; i++) { if (listPhoneData[i].PushNumber == checkKeys) { listPhoneData.RemoveAt(i); } } } } #endregion #region ■ 修改备注___________________________ /// /// 修改密码备注 /// /// 用户密码 /// 用户密码提示 private async void EditorPassworTip(string i_password, string i_passwordTip) { var result = await HdlSafeguardLogic.Current.AddPassWordTips(this.pswNo, i_password, i_passwordTip); if (result == true) { //修改备注信息成功! string msg = Language.StringByID(R.MyInternationalizationString.uEditorNoteInformationSuccess); this.ShowMassage(ShowMsgType.Tip, msg); this.passwordTip = i_passwordTip; } } #endregion #region ■ 界面重新激活事件___________________ /// /// 自身的上层界面关闭后,它自身处于最上层时,触发的事件 /// public override int FormActionAgainEvent() { //初始化列表控件 this.InitListViewControl(); return 1; } #endregion } }