JLChen
2020-12-09 e87985ec1dcb69beedaf9f95e8e7aba14b7c08d6
HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -1,4 +1,5 @@
using System;
using System.Text.RegularExpressions;
using System.Threading;
using HDL_ON.DAL.Server;
using HDL_ON.UI.CSS;
@@ -142,11 +143,25 @@
        HttpServerRequest pm;
        #endregion
        string verAccount = "";
        /// <summary>
        ///
        /// </summary>
        string registerPhone;
        string registerEmail;
        /// <summary>
        /// 手机区号
        /// </summary>
        string phoneZoneCode = "86";
        /// <summary>
        /// 加载视图
        /// </summary>
        public void LoadView(string account = "")
        public void LoadView(UserInfo userInfo = null)
        {
            Language.CurrentLanguage = "Chinese";
            var btnIcon = new Button()
            {
                X = Application.GetRealWidth(28),
@@ -170,8 +185,9 @@
            btnIcon.MouseUpEventHandler += (sender, e) =>
            {
#if DEBUG
                etAccount.Text = "464027401@qq.com";
                etPassword.Text = "qqqqqq";
                etAccount.Text = "13375012446";// "18824864143";//"464027401@qq.com"; //"2791308028@qq.com";//
                etPassword.Text = "123456";
                //etPassword.Text = "qqqqqq";
                btnLogin.IsSelected = true;
#endif
            };
@@ -192,7 +208,7 @@
            btnEmailLogin = new Button()
            {
                X = btnPhoneLogin.Right,
                X = btnPhoneLogin.Right + Application.GetRealWidth(20),
                Y = Application.GetRealHeight(177),
                Width = Application.GetRealWidth(100),
                Height = Application.GetRealHeight(40),
@@ -219,11 +235,29 @@
                Width = Application.GetRealWidth(65),
                TextAlignment = TextAlignment.Center,
                TextColor = CSS_Color.FirstLevelTitleColor,
                Text = "+86",
                Text = "+" + phoneZoneCode,
                TextSize = CSS_FontSize.TextFontSize,
                Enable = true,
            };
            //跳转国家区号选择界面
            EventHandler<MouseEventArgs> eHandler = (sender, e) =>
            {
                JLCountrycode.CountryCodeView.Current.Show((countryName, code) =>
                {
                    if (!string.IsNullOrEmpty(code))
                    {
                        phoneZoneCode = code;
                        btnGlobalRoaming.Text = "+" + phoneZoneCode;
                    }
                });
            };
            btnGlobalRoaming.MouseUpEventHandler += eHandler;
            if (loginType == 0)
            {
                accountView.AddChidren(btnGlobalRoaming);
            }
            btnDividingLineVertical_AccountView = new Button()
            {
@@ -247,9 +281,10 @@
            };
            accountView.AddChidren(etAccount);
            if (account != "")
            if (userInfo != null)
            {
                etAccount.Text = account;
                registerEmail = userInfo.userEmailInfo;
                etAccount.Text = registerPhone = userInfo.userMobileInfo;
            }
            btnAccountViewBottomLine = new Button()
@@ -259,7 +294,6 @@
                Height = Application.GetRealHeight(1),
            };
            accountView.AddChidren(btnAccountViewBottomLine);
            btnAccountIcon = new Button()
            {
@@ -363,8 +397,11 @@
                SelectedTextColor = CSS_Color.MainColor,
                TextAlignment = TextAlignment.CenterRight,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextColor = CSS_Color.PromptingColor1,
                Visible = false,
                IsSelected = false,
            };
            passwordView.AddChidren(btnGetVerificationCode);
            #endregion
            btnPasswordViewBottomLine = new Button()
@@ -377,7 +414,6 @@
            passwordView.AddChidren(btnPasswordViewBottomLine);
            #endregion
            #region 注册与快捷登录
            btnRegister = new Button()
@@ -413,8 +449,8 @@
                Gravity = Gravity.CenterHorizontal,
                Y = Application.GetRealHeight(403),
                Width = Application.GetRealWidth(220),
                Height = Application.GetRealHeight(44),
                Radius = (uint)Application.GetRealHeight(22),
                Height = Application.GetRealWidth(44),
                Radius = (uint)Application.GetRealWidth(22),
                SelectedBackgroundColor = CSS_Color.MainColor,
                BackgroundColor = CSS_Color.PromptingColor1,
                TextID = StringId.Login,
@@ -424,9 +460,178 @@
            };
            bodyView.AddChidren(btnLogin);
            LoadEventList();
            account = etAccount.Text.Trim();
#if DEBUG1211
            //本地模式
            Button btnLocalMode = new Button()
            {
                Y = Application.GetRealHeight(600),
                Height = Application.GetRealHeight(67),
                Text = "Local Mode",
                TextAlignment = TextAlignment.Center,
                BackgroundColor  = CSS_Color.MainColor,
                TextColor = CSS_Color.TextualColor,
            };
            bodyView.AddChidren(btnLocalMode);
            btnLocalMode.MouseUpEventHandler = (sender, e) =>
            {
                MainPage.LocalMode = true;
                 UserInfo.Current = new UserInfo();
                MainPage.GoUserPage();
            };
            MainPage.Log("etAccount.TextAlignment : " + etAccount.TextAlignment.ToString());
#endif
            #region 隐私政策
            AddServiceAgreementControl(bodyView);
            #endregion
        }
        #region ■ 服务协议___________________________
        bool isAgreePrivacyPolicy = false;
        /// <summary>
        /// 添加服务协议控件
        /// </summary>
        /// <param name="frameBack"></param>
        private void AddServiceAgreementControl(FrameLayout frameLayout)
        {
            isAgreePrivacyPolicy = UserInfo.Current.isAgreePrivacyPolicy;
            var frameRow = new FrameLayout()
            {
                Height = Application.GetRealHeight(28),
                Y = Application.GetRealHeight(628),
            };
            frameLayout.AddChidren(frameRow);
            //同意按钮背景
            var agreeView = new FrameLayout()
            {
                Height = Application.GetRealHeight(28),
                Width = Application.GetRealWidth(28),
                X = Application.GetRealWidth(82),
            };
            frameRow.AddChidren(agreeView);
            //同意图标按钮
            var agreeBtn = new Button()
            {
                Width = Application.GetMinRealAverage(28),
                Height = Application.GetMinRealAverage(28),
                UnSelectedImagePath = "Public/ChooseIcon.png",
                SelectedImagePath = "Public/ChooseOnIcon.png",
                IsSelected = isAgreePrivacyPolicy,
                Gravity = Gravity.Center
            };
            agreeView.AddChidren(agreeBtn);
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
            {
                isAgreePrivacyPolicy = !isAgreePrivacyPolicy;
                agreeBtn.IsSelected = isAgreePrivacyPolicy;
                UserInfo.Current.isAgreePrivacyPolicy = isAgreePrivacyPolicy;
                UserInfo.Current.SaveUserInfo();
            };
            agreeBtn.MouseUpEventHandler = eventHandler;
            agreeView.MouseUpEventHandler = eventHandler;
            //int btnWidth = 0;
            //同意文本
            var agreeTextBtn = new TextButton()
            {
                X = agreeView.Right,
                Width = Application.GetRealWidth(28),
                Height = Application.GetRealHeight(28),
                TextColor = CSS_Color.TextualColor,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                TextID = StringId.Agree
            };
            frameRow.AddChidren(agreeTextBtn);
            agreeTextBtn.Width = Utlis.GetRealWidthByTextButton(agreeTextBtn);
            //用户协议按钮
            var userAgreementBtn = new TextButton()
            {
                X = agreeTextBtn.Right,
                Width = Application.GetRealWidth(28),
                Height = Application.GetRealHeight(28),
                TextColor = CSS_Color.MainColor,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                Text = "《" + Language.StringByID(StringId.UserAgreement) + "》"
            };
            frameRow.AddChidren(userAgreementBtn);
            userAgreementBtn.Width = Utlis.GetRealWidthByTextButton(userAgreementBtn);
            //和文本
            var andTextBtn = new TextButton()
            {
                X = userAgreementBtn.Right,
                Width = Application.GetRealWidth(28),
                Height = Application.GetRealHeight(28),
                TextColor = CSS_Color.TextualColor,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                TextID = StringId.And
            };
            frameRow.AddChidren(andTextBtn);
            andTextBtn.Width = Utlis.GetRealWidthByTextButton(andTextBtn);
            //隐私政策按钮
            var privacyPolicyBtn = new TextButton()
            {
                X = andTextBtn.Right,
                Width = Application.GetRealWidth(28),
                Height = Application.GetRealHeight(28),
                TextColor = CSS_Color.MainColor,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                Text = "《" + Language.StringByID(StringId.PrivacyPolicy) + "》"
            };
            frameRow.AddChidren(privacyPolicyBtn);
            privacyPolicyBtn.Width = Utlis.GetRealWidthByTextButton(privacyPolicyBtn);
            //打开用户协议
            userAgreementBtn.MouseUpEventHandler = (sender, e) =>
            {
                OpenWebViewPage(false);
            };
            //打开隐私政策
            privacyPolicyBtn.MouseUpEventHandler = (sender, e) =>
            {
                OpenWebViewPage(true);
            };
        }
        /// <summary>
        /// OpenWebViewPage
        /// </summary>
        /// <param name="isOpenPrivacyPolicy">是否隐私政策</param>
        private void OpenWebViewPage(bool isOpenPrivacyPolicy)
        {
            string url = isOpenPrivacyPolicy ? Constant.URL_PRIVACYPOLICY : Constant.URL_USERAGREEMENT;
            string titleStr = isOpenPrivacyPolicy ? Language.StringByID(StringId.PrivacyPolicy) : Language.StringByID(StringId.UserAgreement);
            new WebViewDialog().LoadPage(titleStr, url);
        }
        /// <summary>
        /// 检测隐私协议
        /// </summary>
        /// <returns></returns>
        private bool CheckPrivacyPolicy()
        {
            if (isAgreePrivacyPolicy == false)
            {
                //请同意《用户协议》和《隐私政策》
                Utlis.ShowTip(Language.StringByID(StringId.PleaseReadAndAgreePrivacyPolicyMsg));
                return false;
            }
            return true;
        }
        #endregion
    }
}