JLChen
2020-11-18 7153e420d66bce0a06b7e972ac3a5c34197fa2e5
HDL_ON/UI/UI2/4-PersonalCenter/AccountBindInfo/ChangeBindAccountPage.cs
@@ -1,17 +1,36 @@
using System;
using Shared;
using HDL_ON.UI.CSS;
using System.Threading;
using HDL_ON.DAL.Server;
namespace HDL_ON.UI
{
    /// <summary>
    /// 修改绑定或者解绑--发送验证码页面
    /// </summary>
    public partial class ChangeBindAccountPage : FrameLayout
    {
        /// <summary>
        ///
        /// </summary>
        FrameLayout bodyView;
        /// <summary>
        ///
        /// </summary>
        Action<string> action;
        /// <summary>
        /// 操作目标类型 1:邮箱,2:手机
        /// </summary>
        int optionType;
        /// <summary>
        /// 是否为解绑验证
        /// </summary>
        public bool isUnbind;
        /// <summary>
        /// ChangeBindAccountPage
        /// </summary>
        public ChangeBindAccountPage()
        {
            bodyView = this;
@@ -23,10 +42,19 @@
        /// <param name="optionType">操作目标类型 1:邮箱,2:手机</param>
        /// <param name="titleId"></param>
        /// <param name="contentTitleId"></param>
        public void LoadPage(Action<string> act,int opt,int titleId,int contentTitleId)
        public void LoadPage(Action<string> act, int opt, int titleId, int contentTitleId)
        {
            action = act;
            optionType = opt;
            string account;
            if (optionType == 0)
            {
                account = MainPage.LoginUser.userEmailInfo;
            }
            else
            {
                account = MainPage.LoginUser.userMobileInfo;
            }
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
            new TopViewDiv(bodyView, Language.StringByID(titleId)).LoadTopView();
@@ -77,7 +105,8 @@
            };
            bodyView.AddChidren(btnChangeBind);
            if (!string.IsNullOrEmpty(MainPage.LoginUser.userMobileInfo))
            //同时绑定邮箱或者手机才显示"更换验证方式"
            if (!string.IsNullOrEmpty(MainPage.LoginUser.userMobileInfo) && !string.IsNullOrEmpty(MainPage.LoginUser.userEmailInfo))
            {
                Button btnChangeGetVer = new Button()
                {
@@ -92,10 +121,11 @@
                };
                bodyView.AddChidren(btnChangeGetVer);
                LoadEvent_ChangeVerificationMethod(btnChangeGetVer,btnTitle, btnContent);
                LoadEvent_ChangeVerificationMethod(btnChangeGetVer, btnTitle, btnContent);
            }
            LoadEvent_GetVerification(btnChangeBind,titleId);
            LoadEvent_GetVerification(btnChangeBind, titleId);
        }
    }
@@ -123,45 +153,76 @@
            };
        }
        int time = 0;
        /// <summary>
        /// 点击获取验证码
        /// </summary>
        void LoadEvent_GetVerification(Button button,int titleId)
        void LoadEvent_GetVerification(Button button, int titleId)
        {
            button.MouseUpEventHandler = (sender, e) =>
            {
                new System.Threading.Thread(() =>
                if (button.Text == Language.StringByID(StringId.GetVerificationCode))
                {
                    if (optionType == 1)
                    new Thread(() =>
                    {
                        var result = new DAL.Server.HttpServerRequest().GetLoginVerCode(MainPage.LoginUser.userEmailInfo);
                    }
                    else if (optionType == 2)
                    {
                        var result = new DAL.Server.HttpServerRequest().GetLoginVerCode(MainPage.LoginUser.userMobileInfo);
                    }
                })
                { IsBackground = true }.Start();
                var vcp = new VerificationCodePage();
                MainPage.BasePageView.AddChidren(vcp);
                //if (titleId == StringId.ModifyBindingEmail)
                //{
                //    vcp.LoadPage(action, StringId.ModifyBindingEmail);
                //}
                //else if (titleId == StringId.UnbindEmail)
                //{
                //    vcp.LoadPage(action, StringId.UnbindEmail);
                //}
                //else if(titleId == StringId.ModifyBindingPhone)
                //{
                //    vcp.LoadPage(action, StringId.ModifyBindingPhone);
                //}
                //else if(titleId == StringId.UnbindPhone)
                //{
                //}
                vcp.LoadPage(action, titleId);
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        //1.获取验证码,采用敏感数据验证
                        ResponsePackNew resultObj;
                        if (optionType == 1)//邮箱
                        {
                            resultObj = new HttpServerRequest().VerificationCodeSend(VerifyType.SENSITIVE_DATA, MainPage.LoginUser.userEmailInfo);
                        }
                        else
                        {
                            resultObj = new HttpServerRequest().VerificationCodeSend(VerifyType.SENSITIVE_DATA, MainPage.LoginUser.userMobileInfo, true, MainPage.LoginUser.areaCode);
                        }
                        if (resultObj.Code != StateCode.SUCCESS)
                        {
                            // 提示错误
                            IMessageCommon.Current.ShowErrorInfoAlter(NewAPI.API_POST_Verification_Send, resultObj.Code);
                        }
                        else
                        {
                            if (time == 0)
                            {
                                time = 60;
                                new Thread(() =>
                                {
                                    while (time > 0)
                                    {
                                        time--;
                                        Application.RunOnMainThread(() =>
                                        {
                                            button.Text = time.ToString() + "s";
                                        });
                                        Thread.Sleep(1000);
                                    }
                                    Application.RunOnMainThread(() =>
                                    {
                                        button.IsSelected = true;
                                        button.TextID = StringId.GetVerificationCode;
                                        button.BackgroundColor = CSS_Color.MainColor;
                                        time = 0;
                                    });
                                })
                                { IsBackground = true }.Start();
                            }
                            Application.RunOnMainThread(() =>
                            {
                                button.BackgroundColor = CSS_Color.PromptingColor1;
                                var vcp = new ChangeBindVerificationCodePage();
                                vcp.isUnbind = isUnbind;
                                MainPage.BasePageView.AddChidren(vcp);
                                vcp.LoadPage(action, titleId, optionType, time);
                                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                            });
                        }
                    }) { IsBackground = true }.Start();
                }
            };
        }
    }
}
}