From f9181a9c8125136f597add7c30cb2ff508d54ba7 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 25 七月 2024 17:34:32 +0800 Subject: [PATCH] 2024年07月25日17:33:40 --- HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs | 257 +++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 199 insertions(+), 58 deletions(-) diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs index 68285b6..66a4f2a 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs @@ -1,10 +1,12 @@ -锘縰sing System; +锘�#if __Android__ + +using System; using HDL_ON.UI.CSS; using Shared; -using Com.Hdl.Hdllinphonesdk.Dialog; using HDL_ON.DAL.Server; using System.Collections.Generic; using Com.Hdl.Hdllinphonesdk.Utils; +using Com.Hdl.Hdllinphonesdk.Dialog; namespace HDL_ON.UI.UI2.PersonalCenter.Visitor { @@ -17,46 +19,61 @@ private Button randomBtn;//闅忔満瀵嗙爜Btn private FrameLayout codeLayout; private ImageView codeIV;// 浜岀淮鐮� + private Button codeSaveTipBtn; private Button codeTip;//浜岀淮鐮佹湁鏁堟湡鎻愮ず private Button visitorVoucherBtn; private VisitorTempPassword tempPassword; + + Action backAction;// 鍚庨��鎸夐敭锛屽埛鏂癠I public VisitorQRCodePage() { bodyView = this; } - public VisitorQRCodePage(VisitorTempPassword pwd) + public VisitorQRCodePage(Action action,VisitorTempPassword pwd) { bodyView = this; this.tempPassword = pwd; + backAction = action; + } + + public override void RemoveFromParent() + { + this.tempPassword = null; + backAction?.Invoke(); + base.RemoveFromParent(); } public void LoadPage() { - #region 椤堕儴瀵艰埅鏍� - if (tempPassword == null) +#region 椤堕儴瀵艰埅鏍� + if (tempPassword == null || tempPassword.id == null) { tempPassword = new VisitorTempPassword(); Action click = () => { - VisitorHistoryPage page = new VisitorHistoryPage(); + Action action = () => + { + LoadPage(); + }; + VisitorHistoryPage page = new VisitorHistoryPage(action); MainPage.BasePageView.AddChidren(page); page.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; bodyView.BackgroundColor = CSS_Color.BackgroundColor; - new TopViewDiv(bodyView, "璁垮閭�璇�").LoadTopView_SettingText(click, "娴嬭瘯璁板綍"); - + new TopViewDiv(bodyView, Language.StringByID(StringId.VisitorInvitation)) + .LoadTopView_SettingText(click, Language.StringByID(StringId.VisitorRecord)); } else { bodyView.BackgroundColor = CSS_Color.BackgroundColor; - new TopViewDiv(bodyView, "璁垮閭�璇�").LoadTopView(); + new TopViewDiv(bodyView, Language.StringByID(StringId.VisitorInvitation)).LoadTopView(); } - #endregion +#endregion bodyScrolView = new VerticalScrolViewLayout() { @@ -69,7 +86,7 @@ // 鎻愮ず鏂囧瓧 bodyScrolView.AddChidren(new Button() { - Text = "*鎮ㄥ彂璧疯瀹簩缁寸爜鍚庯紝璇ヤ簩缁寸爜灏嗗湪鎮ㄨ缃殑鏈夋晥鏈熷唴锛屽彲鑷敱鍒风爜杩涜杩涘嚭锛岃璋ㄦ厧鍒嗕韩璇ヤ簩缁寸爜銆�", + Text = Language.StringByID(StringId.VisitorTip), IsMoreLines = true, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextColor = CSS_Color.PromptingColor1, @@ -78,10 +95,10 @@ Height = Application.GetRealHeight(60), }); - #region 鎵嬫満鍙� +#region 鎵嬫満鍙� bodyScrolView.AddChidren(new Button() { - Text = "鎵嬫満鍙�", + Text = Language.StringByID(StringId.PhoneNumber), Y = Application.GetRealWidth(10), TextSize = CSS_FontSize.SubheadingFontSize, TextColor = CSS_Color.FirstLevelTitleColor, @@ -97,12 +114,15 @@ Width = Application.GetRealWidth(335), TextSize = CSS_FontSize.TextFontSize, TextColor = CSS_Color.FirstLevelTitleColor, - PlaceholderText = "杈撳叆璁垮鎵嬫満鍙�", + + PlaceholderText = Language.StringByID(StringId.InputPhoneNumberOfTheVisitor), Text = tempPassword.phone, IsNumberKeyboardType = true, PlaceholderTextColor = CSS_Color.PromptingColor1, }; bodyScrolView.AddChidren(phoneNumberEditText); + //phoneNumberEditText.Foucs = true; + // 鍒嗗壊绾� bodyScrolView.AddChidren(new Button() { @@ -111,13 +131,13 @@ Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor, }); - #endregion +#endregion - #region 鍔ㄦ�佸瘑鐮� +#region 鍔ㄦ�佸瘑鐮� bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(10), }); bodyScrolView.AddChidren(new Button() { - Text = "鍔ㄦ�佸瘑鐮�", + Text = Language.StringByID(StringId.linshimima), TextSize = CSS_FontSize.SubheadingFontSize, TextColor = CSS_Color.FirstLevelTitleColor, Height = Application.GetRealHeight(20), @@ -137,8 +157,8 @@ TextSize = CSS_FontSize.TextFontSize, TextColor = CSS_Color.FirstLevelTitleColor, Width = Application.GetRealWidth(335), - PlaceholderText = "杈撳叆璁�6浣嶅瘑鐮�", - Text = tempPassword.tempPwd, + PlaceholderText = Language.StringByID(StringId.Input6_DigitsTemporaryPassword), + IsNumberKeyboardType = true, PlaceholderTextColor = CSS_Color.PromptingColor1, }; pwdLayout.AddChidren(pwdEditText); @@ -148,18 +168,13 @@ { X = Application.GetRealWidth(275), Width = Application.GetRealWidth(80), - Text = "闅忔満鐢熸垚", + Text = Language.StringByID(StringId.RandomGeneration), TextAlignment = TextAlignment.CenterRight, TextColor = CSS_Color.MainColor, TextSize = CSS_FontSize.TextFontSize, }; pwdLayout.AddChidren(randomBtn); bodyScrolView.AddChidren(pwdLayout); - randomBtn.MouseUpEventHandler += (sender, e) => - { - string tPwd = getRandomPwd(); - pwdEditText.Text = tPwd; - }; // 鍒嗗壊绾� bodyScrolView.AddChidren(new Button() @@ -169,19 +184,18 @@ Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor, }); - #endregion +#endregion - #region 浜岀淮鐮佺敓鏁堟椂闂� +#region 浜岀淮鐮佺敓鏁堟椂闂� FrameLayout startLayout = new FrameLayout() { Height = Application.GetRealHeight(40), Y = Application.GetRealWidth(10), - BackgroundColor = CSS_Color.BackgroundColor, }; startLayout.AddChidren(new Button() { - Text = "浜岀淮鐮佺敓鏁堟椂闂�", + Text = Language.StringByID(StringId.EffectiveTime), X = Application.GetRealWidth(20), Width = Application.GetRealWidth(130), TextSize = CSS_FontSize.SubheadingFontSize, @@ -199,7 +213,7 @@ }; if (tempPassword.tempPwd == null || tempPassword.tempPwd == "") { - startTimeText.Text = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + startTimeText.Text = "";// System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); } else { @@ -221,7 +235,7 @@ // dialog鍥炶皟 Action<string> startTimeAction = (str) => { - startTimeText.Text = str +":00"; + startTimeText.Text = str + ":00"; }; startTimeBtn.MouseUpEventHandler += (sender, e) => { @@ -244,9 +258,9 @@ BackgroundColor = CSS_Color.DividingLineColor, }); - #endregion +#endregion - #region 浜岀淮鐮佸け鏁堟椂闂� +#region 浜岀淮鐮佸け鏁堟椂闂� FrameLayout endLayout = new FrameLayout() { Height = Application.GetRealHeight(40), @@ -255,7 +269,7 @@ endLayout.AddChidren(new Button() { - Text = "浜岀淮鐮佸け鏁堟椂闂�", + Text = Language.StringByID(StringId.FailureTime), X = Application.GetRealWidth(20), Width = Application.GetRealWidth(130), TextSize = CSS_FontSize.SubheadingFontSize, @@ -274,7 +288,7 @@ }; if (tempPassword.tempPwd == null || tempPassword.tempPwd == "") { - endTimeText.Text = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); + endTimeText.Text = "";// System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); } else { @@ -317,9 +331,9 @@ string error = ex.Message; } }; - #endregion +#endregion - #region 浜岀淮鐮� +#region 浜岀淮鐮� bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(33), }); codeLayout = new FrameLayout() { @@ -337,16 +351,18 @@ codeLayout.AddChidren(codeIV); bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(20), }); - bodyScrolView.AddChidren(new Button() + codeSaveTipBtn = new Button() { X = Application.GetRealWidth(16), Width = Application.GetRealWidth(343), Height = Application.GetRealWidth(20), - Text = "闀挎寜鍙互鎶婁簩缁寸爜淇濆瓨鍒扮浉鍐�", + Text = Language.StringByID(StringId.LongPressQRCodeSave), TextAlignment = TextAlignment.Center, TextColor = CSS_Color.FirstLevelTitleColor, - }); - #endregion + Visible = false, + }; + bodyScrolView.AddChidren(codeSaveTipBtn); +#endregion bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(28), }); visitorVoucherBtn = new Button() @@ -362,7 +378,6 @@ }; bodyScrolView.AddChidren(visitorVoucherBtn); - // Action voucher_action = () => { if (codeIV.ImageBytes == null) @@ -384,21 +399,67 @@ }; visitorVoucherBtn.MouseUpEventHandler += (sender, e) => { - if (phoneNumberEditText.Text == "" || pwdEditText.Text == "") + if (startTimeText.Text.Trim() == "") { + var tip_dialog = new Tip() + { + Text = Language.StringByID(StringId.VisitorStartTime), + CloseTime = 2, + Direction = AMPopTipDirection.None + }; + tip_dialog.Show(MainPage.BaseView); return; } + + if (endTimeText.Text.Trim() == "") + { + var tip_dialog = new Tip() + { + Text = Language.StringByID(StringId.VisitorEndTime), + CloseTime = 2, + Direction = AMPopTipDirection.None + }; + tip_dialog.Show(MainPage.BaseView); + return; + } + + if (phoneNumberEditText.Text.Trim() == "" || phoneNumberEditText.Text.Trim().Length != 11) + { + var tip_dialog = new Tip() + { + Text = Language.StringByID(StringId.PhoneNumberErrorTip), + CloseTime = 2, + Direction = AMPopTipDirection.None + }; + tip_dialog.Show(MainPage.BaseView); + phoneNumberEditText.Foucs = true; + return; + } + + if (pwdEditText.Text.Trim() == "" || pwdEditText.Text.Trim().Length != 6) + { + var tip_dialog = new Tip() + { + Text = Language.StringByID(StringId.Input6_DigitsTemporaryPassword), + CloseTime = 2, + Direction = AMPopTipDirection.None + }; + tip_dialog.Show(MainPage.BaseView); + pwdEditText.Foucs = true; + return; + } + string tip = ""; string message = ""; if (codeIV.ImageBytes == null) { - tip = "璁垮鍑瘉"; - message = "鐢熸垚璁垮浜岀淮鐮佸苟灏嗕复鏃跺瘑鐮佸彂閫佽嚦璁垮鎵嬫満."; + tip = Language.StringByID(StringId.tip); + message = Language.StringByID(StringId.VisitorTipContent); } else { - tip = "璁垮鍑瘉"; - message = "纭畾鍒犻櫎璁垮鍑瘉锛�"; + tip = Language.StringByID(StringId.tip); + message = Language.StringByID(StringId.VisitorDelTipContent); } new LpTipDialog(Application.Activity, tip, message, new LpTipDialogCallBack(voucher_action)).Show(); }; @@ -413,17 +474,74 @@ string msg = ""; if (bol) { - msg = "淇濆瓨鎴愬姛锛�"; + msg = Language.StringByID(StringId.SavedSuccessfully); } else { - msg = "淇濆瓨澶辫触锛�"; + msg = Language.StringByID(StringId.saveFail); } - EmptyTipView tipView = new EmptyTipView(msg, 160); - tipView.Gravity = Gravity.CenterHorizontal; - bodyView.AddChidren(tipView); + + var tip_dialog = new Tip() + { + Text = msg, + CloseTime = 2, + Direction = AMPopTipDirection.None + }; + tip_dialog.Show(MainPage.BaseView); #endif }; + + if (tempPassword != null && tempPassword.id != null && tempPassword.id != "") + { + pwdEditText.Text = tempPassword.tempPwd; + pwdEditText.PlaceholderText = Language.StringByID(StringId.TemporaryPasswordInvalid); + pwdEditText.Enable = false; + phoneNumberEditText.Enable = false; + randomBtn.Visible = false; + startTimeBtn.Enable = false; + endTimeBtn.Enable = false; + } + else + { + pwdEditText.FoucsChanged = (sender, e) => + { + if (!pwdEditText.Foucs) + { + // 6浣嶅瘑鐮侀獙璇� + var tip_dialog = new Tip() + { + Text = Language.StringByID(StringId.Input6_DigitsTemporaryPassword), + CloseTime = 2, + Direction = AMPopTipDirection.None + }; + tip_dialog.Show(MainPage.BaseView); + } + }; + + randomBtn.MouseUpEventHandler += (sender, e) => + { + string tPwd = getRandomPwd(); + pwdEditText.Text = tPwd; + }; + + phoneNumberEditText.FoucsChanged = (sender, e) => + { + if (!phoneNumberEditText.Foucs) + { + //鎵嬫満鍙风爜閿欒鎻愮ず + if (!Utlis.CheckPhoneNumber(phoneNumberEditText.Text.Trim(), "86")) + { + var tip_dialog = new Tip() + { + Text = Language.StringByID(StringId.PhoneNumberErrorTip), + CloseTime = 2, + Direction = AMPopTipDirection.None + }; + tip_dialog.Show(MainPage.BaseView); + } + } + }; + } RefreshVisitorVoucherBtn(); } @@ -433,9 +551,11 @@ /// </summary> private void RefreshVisitorVoucherBtn() { + if (tempPassword == null) return; + if (tempPassword.tempPwd != null && tempPassword.tempPwd != "") { - codeIV.ImageBytes = Scan.BytesFromText(pwdEditText.Text, codeIV.Width, codeIV.Height); + codeIV.ImageBytes = Scan.BytesFromText(tempPassword.tempPwd, codeIV.Width, codeIV.Height); //鍒ゆ柇浜岀淮鐮佹槸鍚﹀け鏁� DateTime endTime = DateTime.Parse(tempPassword.validEndTime); DateTime currentTime = DateTime.Now; @@ -447,15 +567,17 @@ TextAlignment = TextAlignment.Center, TextColor = CSS_Color.textWhiteColor, BackgroundColor = CSS_Color.DialogTransparentColor1, - Text = "浜岀淮鐮佸凡澶辨晥", + Text = Language.StringByID(StringId.QRcodeIsInvalid), }; codeLayout.AddChidren(codeTip); + visitorVoucherBtn.Visible = false; } - visitorVoucherBtn.Text = "鍒犻櫎璁垮鍑瘉"; + visitorVoucherBtn.Text = Language.StringByID(StringId.CancleVisitorCredentials); } else { - visitorVoucherBtn.Text = "鐢熸垚璁垮鍑瘉"; + visitorVoucherBtn.Visible = true; + visitorVoucherBtn.Text = Language.StringByID(StringId.GenerateVisitorCredentials); } } @@ -488,9 +610,19 @@ { pwd.id = pack.Data.ToString(); codeIV.ImageBytes = Scan.BytesFromText(pwdEditText.Text, codeIV.Width, codeIV.Height); + codeSaveTipBtn.Visible = true; + RefreshVisitorVoucherBtn(); + } + else { + var tip_dialog = new Tip() + { + Text = pack.message, + CloseTime = 2, + Direction = AMPopTipDirection.None + }; + tip_dialog.Show(MainPage.BaseView); } } - RefreshVisitorVoucherBtn(); return result; } @@ -534,4 +666,13 @@ return pwd; } } -} \ No newline at end of file +} +#else +using Shared; + +namespace HDL_ON.UI.UI2.PersonalCenter.Visitor +{ + public class VisitorQRCodePage : FrameLayout + { } +} +#endif \ No newline at end of file -- Gitblit v1.8.0