陈嘉乐
2020-06-16 7167334c0e89dd84827d59e726123d14776e3a09
HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs
@@ -1,4 +1,6 @@
using System;
using Shared;
namespace HDL_ON.UI
{
    public partial class PersonalDataPage
@@ -8,14 +10,192 @@
        /// </summary>
        void LoadEventList()
        {
            LoadEvent_ChangeHeadImageView();
            LoadEvent_Logout();
            LoadEvent_EditUserName();
            LoadEvent_SkipInterpretationSettings();
        }
        /// <summary>
        /// 加载选择头像选项view
        /// </summary>
        void LoadEvent_ChangeHeadImageView()
        {
            userHeadImageView.MouseUpEventHandler = (sender, e) => {
                LoadPictureOptionView();
            };
        }
        /// <summary>
        /// 退出账号登录事件
        /// </summary>
        void LoadEvent_Logout()
        {
            btnLogout.MouseUpEventHandler += (sender, e) => {
                MainPage.GoLoginPage(MainPage.LoginUser.AccountString);
                MainPage.LoginUser.lastTime = DateTime.MinValue;
                MainPage.LoginUser.SaveUserInfo();
                MainPage.GoLoginPage(MainPage.LoginUser.accountString);
            };
        }
        /// <summary>
        /// 加载背景图选择区域事件列表
        /// </summary>
        void LoadEvent_PictureOptionViewEventList()
        {
            pictureOptionView.MouseUpEventHandler = (sender, e) =>
            {
                pictureOptionView.RemoveFromParent();
            };
            btnCancel.MouseUpEventHandler = (sender, e) =>
            {
                pictureOptionView.RemoveFromParent();
            };
            btnTakePicture.MouseUpEventHandler = (sender, e) =>
            {
                var pid = Guid.NewGuid();
                CropImage.TakePicture((Action<string>)((imagePath) =>
                {
                    if (imagePath != null)
                    {
                        MainPage.LoginUser.headImagePagePath = imagePath.ToString();
                        userHeadImageView.ImagePath = imagePath.ToString();
                        updataHeadImage();
                        new System.Threading.Thread(() =>
                        {
                            new DAL.Server.HttpServerRequest().UpdataUserHeadImage(imagePath);
                        })
                        { IsBackground = true }.Start();
                        MainPage.LoginUser.SaveUserInfo();
                        MainPage.Log("SelectPicture 裁剪图片返回路径: " + imagePath);
                    }
                }), pid.ToString(), 1, 1);
                pictureOptionView.RemoveFromParent();
            };
            btnAlbum.MouseUpEventHandler = (sender, e) =>
            {
                var pid = Guid.NewGuid();
                CropImage.SelectPicture((imagePath) =>
                {
                    if (imagePath != null)
                    {
                        MainPage.LoginUser.headImagePagePath = imagePath.ToString();
                        userHeadImageView.ImagePath = imagePath.ToString();
                        updataHeadImage();
                        new System.Threading.Thread(() =>
                        {
                            new DAL.Server.HttpServerRequest().UpdataUserHeadImage(imagePath);
                        })
                        { IsBackground = true }.Start(); MainPage.LoginUser.SaveUserInfo();
                        MainPage.Log("SelectPicture 裁剪图片返回路径: " + imagePath);
                    }
                }, pid.ToString(), 1, 1);
                pictureOptionView.RemoveFromParent();
            };
        }
        /// <summary>
        /// 加载修改用户名称事件
        /// </summary>
        void LoadEvent_EditUserName()
        {
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
            {
                Action<string> callBack = (str) =>
                {
                    if (string.IsNullOrEmpty(str))
                    {
                        new Tip()
                        {
                            CloseTime = 3,
                            Text = Language.StringByID(StringId.UesrNameCannotBeEmpty),
                            Direction = AMPopTipDirection.None,
                        }.Show(bodyView);
                        return;
                    }
                    var waitPage = new Loading();
                    waitPage.Start(Language.StringByID(StringId.PleaseWait));
                    new System.Threading.Thread(() =>
                    {
                        try
                        {
                            var responsePack = new DAL.Server.HttpServerRequest().EditUserName(str);
                            if (responsePack.StateCode.ToUpper() == "SUCCESS")
                            {
                                MainPage.LoginUser.userName = str;
                                MainPage.LoginUser.SaveUserInfo();
                                Application.RunOnMainThread(() =>
                                {
                                    btnUserName.Text = str;
                                    updataUserName();
                                });
                            }
                            else
                            {
                                var tipStr = "Server erorr";
                                switch (responsePack.StateCode)
                                {
                                    case "NoLogin":
                                        tipStr = Language.StringByID(StringId.InvalidLoginCertificate);
                                        break;
                                    case "AccountNoExists":
                                        tipStr = "";
                                        break;
                                }
                                Application.RunOnMainThread(() =>
                                {
                                //提示原因
                                var tip = new Tip()
                                    {
                                        Text = tipStr,
                                        CloseTime = 3,
                                        Direction = AMPopTipDirection.None
                                    };
                                    tip.Show(bodyView);
                                });
                            }
                        }catch (Exception ex)
                        {
                            MainPage.Log($"update user name error : {ex.Message}");
                        }
                        finally
                        {
                            Application.RunOnMainThread(() => {
                                waitPage.Hide();
                            });
                        }
                    })
                    { IsBackground = true }.Start();
                };
               // new PublicAssmebly().LoadDialog_EditParater(StringId.UesrName, MainPage.LoginUser.userName, callBack);
            };
            btnUserName.MouseUpEventHandler = eventHandler;
            btnEditUserNameIcon.MouseUpEventHandler = eventHandler;
        }
        #region 解锁设置区域
        void LoadEvent_SkipInterpretationSettings()
        {
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
            {
                var page = new AppUnlockSettingsPage();
                MainPage.BasePageView.AddChidren(page);
                page.LoadPage();
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
            };
            btnInterpretationSettingsRight.MouseUpEventHandler = eventHandler;
            btnInterpretationSettingsTitle.MouseUpEventHandler = eventHandler;
            btnInterpretationSettingsTip.MouseUpEventHandler = eventHandler;
        }
        #endregion
    }
}