mac
2024-07-25 f9181a9c8125136f597add7c30cb2ff508d54ba7
HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs
@@ -1,10 +1,12 @@
using 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
{
@@ -22,27 +24,41 @@
        private Button visitorVoucherBtn;
        private VisitorTempPassword tempPassword;
        Action backAction;// 后退按键,刷新UI
        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;
@@ -51,14 +67,13 @@
                bodyView.BackgroundColor = CSS_Color.BackgroundColor;
                new TopViewDiv(bodyView, Language.StringByID(StringId.VisitorInvitation))
                    .LoadTopView_SettingText(click, Language.StringByID(StringId.VisitorRecord));
            }
            else
            {
                bodyView.BackgroundColor = CSS_Color.BackgroundColor;
                new TopViewDiv(bodyView, Language.StringByID(StringId.VisitorInvitation)).LoadTopView();
            }
            #endregion
#endregion
            bodyScrolView = new VerticalScrolViewLayout()
            {
@@ -80,7 +95,7 @@
                Height = Application.GetRealHeight(60),
            });
            #region 手机号
#region 手机号
            bodyScrolView.AddChidren(new Button()
            {
                Text = Language.StringByID(StringId.PhoneNumber),
@@ -99,13 +114,15 @@
                Width = Application.GetRealWidth(335),
                TextSize = CSS_FontSize.TextFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
                PlaceholderText = Language.StringByID(StringId.InputPhoneNumberOfTheVisitor),
                Text = tempPassword.phone,
                IsNumberKeyboardType = true,
                PlaceholderTextColor = CSS_Color.PromptingColor1,
            };
            bodyScrolView.AddChidren(phoneNumberEditText);
            //phoneNumberEditText.Foucs = true;
            // 分割线
            bodyScrolView.AddChidren(new Button()
            {
@@ -114,9 +131,9 @@
                Height = Application.GetRealHeight(1),
                BackgroundColor = CSS_Color.DividingLineColor,
            });
            #endregion
#endregion
            #region 动态密码
#region 动态密码
            bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(10), });
            bodyScrolView.AddChidren(new Button()
            {
@@ -141,7 +158,7 @@
                TextColor = CSS_Color.FirstLevelTitleColor,
                Width = Application.GetRealWidth(335),
                PlaceholderText = Language.StringByID(StringId.Input6_DigitsTemporaryPassword),
                Text = tempPassword.tempPwd,
                IsNumberKeyboardType = true,
                PlaceholderTextColor = CSS_Color.PromptingColor1,
            };
            pwdLayout.AddChidren(pwdEditText);
@@ -158,11 +175,6 @@
            };
            pwdLayout.AddChidren(randomBtn);
            bodyScrolView.AddChidren(pwdLayout);
            randomBtn.MouseUpEventHandler += (sender, e) =>
            {
                string tPwd = getRandomPwd();
                pwdEditText.Text = tPwd;
            };
            // 分割线
            bodyScrolView.AddChidren(new Button()
@@ -172,14 +184,13 @@
                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()
@@ -247,9 +258,9 @@
                BackgroundColor = CSS_Color.DividingLineColor,
            });
            #endregion
#endregion
            #region 二维码失效时间
#region 二维码失效时间
            FrameLayout endLayout = new FrameLayout()
            {
                Height = Application.GetRealHeight(40),
@@ -320,9 +331,9 @@
                    string error = ex.Message;
                }
            };
            #endregion
#endregion
            #region 二维码
#region 二维码
            bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(33), });
            codeLayout = new FrameLayout()
            {
@@ -351,7 +362,7 @@
                Visible = false,
            };
            bodyScrolView.AddChidren(codeSaveTipBtn);
            #endregion
#endregion
            bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(28), });
            visitorVoucherBtn = new Button()
@@ -367,7 +378,6 @@
            };
            bodyScrolView.AddChidren(visitorVoucherBtn);
            //
            Action voucher_action = () =>
            {
                if (codeIV.ImageBytes == null)
@@ -430,7 +440,7 @@
                {
                    var tip_dialog = new Tip()
                    {
                        Text = Language.StringByID(StringId.linshimima),
                        Text = Language.StringByID(StringId.Input6_DigitsTemporaryPassword),
                        CloseTime = 2,
                        Direction = AMPopTipDirection.None
                    };
@@ -470,11 +480,68 @@
                {
                    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();
        }
@@ -484,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;
@@ -501,11 +570,13 @@
                        Text = Language.StringByID(StringId.QRcodeIsInvalid),
                    };
                    codeLayout.AddChidren(codeTip);
                    visitorVoucherBtn.Visible = false;
                }
                visitorVoucherBtn.Text = Language.StringByID(StringId.CancleVisitorCredentials);
            }
            else
            {
                visitorVoucherBtn.Visible = true;
                visitorVoucherBtn.Text = Language.StringByID(StringId.GenerateVisitorCredentials);
            }
        }
@@ -595,4 +666,13 @@
            return pwd;
        }
    }
}
}
#else
using Shared;
namespace HDL_ON.UI.UI2.PersonalCenter.Visitor
{
    public class VisitorQRCodePage : FrameLayout
    { }
}
#endif