黄学彪
2020-04-15 23532fa8ad34c89b6d24b01eaef6475fd0aad898
ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs
@@ -20,6 +20,9 @@
        /// </summary>
        public void ShowForm()
        {
            //记住它原来的昵称
            UserCenterResourse.UserInfo.OldUserName = UserCenterResourse.UserInfo.UserName;
            //因为别的画面会调用这个函数,然后刷新画面
            this.ClearBodyFrame();
@@ -98,7 +101,7 @@
            rowName.UseClickStatu = false;
            listMidFrame.AddChidren(rowName);
            //底线
            rowName.AddBottomLine();
            var btnNameLine = rowName.AddBottomLine();
            //名称View
            rowName.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uName), 350);
            //名称输入
@@ -112,15 +115,29 @@
            //输入结束事件
            txtName.FinishInputEvent += (() =>
            {
                if (txtName.Text.Trim() == string.Empty)
                {
                    //把名称还原回去
                    txtName.Text = UserCenterResourse.UserInfo.UserName;
                    return;
                }
                //更新用户名
                this.SaveUserName(txtName.Text.Trim());
                this.SaveUserName(txtName, true);
            });
            //输入值改变事件(2020.04.05:以前都定死说按回车键才更新,现在又说名字没有同步
            //所以才出此下策,添加这个事件)
            txtName.TextChangeEventHandler += (sender, value) =>
            {
                UserCenterResourse.UserInfo.UserName = value;
            };
            //光标改变事件(2020.04.05:以前都定死说按回车键才更新,现在又说名字没有同步
            //所以才出此下策,添加这个事件)
            txtName.FoucsChanged += (sender, focusEvent) =>
            {
                //光标离开时,执行名字修改
                if (focusEvent.Focus == false)
                {
                    //更新用户名
                    this.SaveUserName(txtName, false);
                }
            };
            //联动线的状态
            txtName.btnLine = btnNameLine;
            var rowQrCode = new FrameRowControl(listMidFrame.rowSpace / 2);
            listMidFrame.AddChidren(rowQrCode);
@@ -146,7 +163,6 @@
            rowEmail.AddRightArrow();
            //邮箱
            var btnEmail = rowEmail.AddMostRightView(UserCenterResourse.UserInfo.Email, 500);
            btnEmail.IsBold = true;
            if (string.IsNullOrEmpty(UserCenterResourse.UserInfo.Email) == true)
            {
                //未设置,请绑定
@@ -176,7 +192,6 @@
            rowPhone.AddRightArrow();
            //手机号
            var btnPhone = rowPhone.AddMostRightView(UserCenterResourse.UserInfo.Phone, 500);
            btnPhone.IsBold = true;
            if (string.IsNullOrEmpty(UserCenterResourse.UserInfo.Phone) == true)
            {
                //未设置,请绑定
@@ -184,7 +199,17 @@
            }
            else
            {
                btnPhone.Text = "+" + UserCenterResourse.UserInfo.AreaCode + " " + UserCenterResourse.UserInfo.Phone;
                string phoneNum = UserCenterResourse.UserInfo.Phone;
                if (phoneNum.Length >= 11)
                {
                    phoneNum = phoneNum.Substring(0, 3) + "".PadLeft(phoneNum.Length - 7, '*') + phoneNum.Substring(phoneNum.Length - 4, 4);
                }
                else if (phoneNum.Length >= 5)
                {
                    //或许这是国外的手机吧
                    phoneNum = phoneNum.Substring(0, 3) + "".PadLeft(phoneNum.Length - 5, '*') + phoneNum.Substring(phoneNum.Length - 2, 2);
                }
                btnPhone.Text = "+" + UserCenterResourse.UserInfo.AreaCode + " " + phoneNum;
            }
            rowPhone.ButtonClickEvent += (sender, e) =>
            {
@@ -212,7 +237,6 @@
            //微信、QQ
            //var btnQQ = rowOther.AddMostRightView(Language.StringByID(R.MyInternationalizationString.uWebChatAndQQ), 500);
            var btnQQ = rowOther.AddMostRightView(Language.StringByID(R.MyInternationalizationString.uWebChat), 500);
            btnQQ.IsBold = true;
            rowOther.ButtonClickEvent += (sender, e) =>
            {
                var form = new OtherParty.OtherPartyAccountMenuForm();
@@ -229,7 +253,6 @@
            rowSysPsw.AddRightArrow();
            //去修改
            var btnPsw = rowSysPsw.AddMostRightView(Language.StringByID(R.MyInternationalizationString.uGotoEditor), 350);
            btnPsw.IsBold = true;
            rowSysPsw.ButtonClickEvent += (sender, e) =>
            {
                var form = new Password.EditorAccountPasswordForm();
@@ -244,7 +267,6 @@
            rowSecond.AddRightArrow();
            //密码、手势、指纹
            var btnSecand = rowSecond.AddMostRightView(Language.StringByID(R.MyInternationalizationString.uPasswordGestureFingerPrint), 400);
            btnSecand.IsBold = true;
            rowSecond.ButtonClickEvent += (sender, e) =>
            {
                var form = new SecondAuthenticationForm();
@@ -293,32 +315,38 @@
        /// <summary>
        /// 更新用户名
        /// </summary>
        /// <param name="userName">昵称</param>
        private async void SaveUserName(string userName)
        /// <param name="txtName"></param>
        private async void SaveUserName(TextInputExControl txtName, bool showMsg)
        {
            if (UserCenterResourse.UserInfo.UserName == userName)
            if (UserCenterResourse.UserInfo.UserName == string.Empty)
            {
                //把名称还原回去
                txtName.Text = UserCenterResourse.UserInfo.OldUserName;
                UserCenterResourse.UserInfo.UserName = UserCenterResourse.UserInfo.OldUserName;
                return;
            }
            //打开进度条
            this.ShowProgressBar();
            if (UserCenterResourse.UserInfo.OldUserName == UserCenterResourse.UserInfo.UserName)
            {
                //无需修改
                return;
            }
            var pra = new SaveUserNamePra();
            pra.UserName = userName;
            pra.UserName = UserCenterResourse.UserInfo.UserName;
            bool result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/UpdateUserName", false, pra);
            //关闭进度条
            this.CloseProgressBar();
            if (result == false)
            {
                return;
            }
            //用户名称修改成功!
            string msg = Language.StringByID(R.MyInternationalizationString.uUserNameSaveSuccess);
            this.ShowMassage(ShowMsgType.Tip, msg);
            if (showMsg == true)
            {
                //用户名称修改成功!
                string msg = Language.StringByID(R.MyInternationalizationString.uUserNameSaveSuccess);
                this.ShowMassage(ShowMsgType.Tip, msg);
            }
            UserCenterResourse.UserInfo.UserName = userName;
            UserCenterResourse.UserInfo.OldUserName = UserCenterResourse.UserInfo.UserName;
        }
        #endregion