From 6fa9d69da922c8049f5acfcbb9ce9fd26811024c Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期四, 16 四月 2020 17:10:57 +0800
Subject: [PATCH] 请合并代码
---
ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs | 461 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 461 insertions(+), 0 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs
new file mode 100755
index 0000000..5ad03f1
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/UserMain/UserInformationForm.cs
@@ -0,0 +1,461 @@
+锘縰sing Shared.Common;
+using System;
+
+namespace Shared.Phone.UserCenter.UserMain
+{
+ /// <summary>
+ /// 涓汉淇℃伅鐢婚潰
+ /// </summary>
+ public class UserInformationForm : EditorCommonForm
+ {
+ /// <summary>
+ /// 涓儴妗屽竷鎺т欢
+ /// </summary>
+ private FrameLayout frameMiddleBack = null;
+
+ #region 鈻� 鍒濆鍖朹____________________________
+
+ /// <summary>
+ /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+ /// </summary>
+ public void ShowForm()
+ {
+ //璁颁綇瀹冨師鏉ョ殑鏄电О
+ UserCenterResourse.UserInfo.OldUserName = UserCenterResourse.UserInfo.UserName;
+
+ //鍥犱负鍒殑鐢婚潰浼氳皟鐢ㄨ繖涓嚱鏁帮紝鐒跺悗鍒锋柊鐢婚潰
+ this.ClearBodyFrame();
+
+ //璁剧疆澶撮儴淇℃伅
+ base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uPersonalInfo));
+
+ //鍒濆鍖栦笂閮ㄧ殑淇℃伅
+ this.InitTopBodyFrame();
+
+ //鍒濆鍖栦腑閮ㄧ殑淇℃伅
+ this.InitMiddleBodyFrame();
+
+ //鍒濆鍖栭��鍑鸿处鍙风殑FrameLayout
+ this.InitLogoutFrameLayout();
+ }
+
+ #endregion
+
+ #region 鈻� 鍒濆鍖栦笂娈垫帶浠禵____________________
+
+ /// <summary>
+ /// 鍒濆鍖栦笂閮ㄧ殑淇℃伅
+ /// </summary>
+ private void InitTopBodyFrame()
+ {
+ var specialTopFrame = new FrameLayout();
+ specialTopFrame.Height = Application.GetRealHeight(340);
+ specialTopFrame.BackgroundColor = UserCenterColor.Current.White;
+ bodyFrameLayout.AddChidren(specialTopFrame);
+
+ //鐢ㄦ埛鍥炬爣
+ var btnUserIcon = new ImageView();
+ btnUserIcon.Height = Application.GetMinRealAverage(251);
+ btnUserIcon.Width = Application.GetMinRealAverage(251);
+ btnUserIcon.Radius = (uint)Application.GetMinRealAverage(251) / 2;
+ btnUserIcon.Y = Application.GetRealHeight(46);
+ btnUserIcon.Gravity = Gravity.CenterHorizontal;
+ btnUserIcon.ImageBytes = Shared.IO.FileUtils.ReadFile(UserCenterResourse.UserInfo.UserIconFile);
+ specialTopFrame.AddChidren(btnUserIcon);
+ btnUserIcon.MouseUpEventHandler += (sender, e) =>
+ {
+ //鏄剧ず鑾峰彇鍥剧墖鏉ユ簮鑿滃崟
+ this.ShowUserIconMenu(btnUserIcon);
+ };
+ }
+
+ #endregion
+
+ #region 鈻� 鍒濆鍖栦腑娈垫帶浠禵____________________
+
+ /// <summary>
+ /// 鍒濆鍖栦腑閮ㄧ殑淇℃伅
+ /// </summary>
+ private void InitMiddleBodyFrame()
+ {
+ if (this.frameMiddleBack == null)
+ {
+ frameMiddleBack = new FrameLayout();
+ frameMiddleBack.Y = Application.GetRealHeight(363);
+ frameMiddleBack.Height = Application.GetRealHeight(1008);
+ frameMiddleBack.BackgroundColor = UserCenterColor.Current.White;
+ bodyFrameLayout.AddChidren(frameMiddleBack);
+ }
+ else
+ {
+ frameMiddleBack.RemoveAll();
+ }
+
+ var listMidFrame = new FrameListControl(12);
+ listMidFrame.Y = Application.GetRealHeight(11);
+ listMidFrame.Height = Application.GetRealHeight(1008 - 11);
+ frameMiddleBack.AddChidren(listMidFrame);
+
+ var rowName = new FrameRowControl(listMidFrame.rowSpace / 2);
+ //鍏抽棴鐐瑰嚮鐘舵��
+ rowName.UseClickStatu = false;
+ listMidFrame.AddChidren(rowName);
+ //搴曠嚎
+ var btnNameLine = rowName.AddBottomLine();
+ //鍚嶇ОView
+ rowName.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uName), 350);
+ //鍚嶇О杈撳叆
+ var txtName = new TextInputExControl(700, true);
+ txtName.X = bodyFrameLayout.Width - Application.GetRealWidth(700) - ControlCommonResourse.XXLeft;
+ txtName.Gravity = Gravity.CenterVertical;
+ txtName.TextAlignment = TextAlignment.CenterRight;
+ txtName.Text = UserCenterResourse.UserInfo.UserName;
+ rowName.AddChidren(txtName, ChidrenBindMode.NotBind);
+ txtName.Y += listMidFrame.rowSpace / 2;
+ //杈撳叆缁撴潫浜嬩欢
+ txtName.FinishInputEvent += (() =>
+ {
+ //鏇存柊鐢ㄦ埛鍚�
+ 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);
+ //搴曠嚎
+ rowQrCode.AddBottomLine();
+ //浜岀淮鐮�
+ rowQrCode.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uQRCode), 350);
+ var btnQrCode = rowQrCode.AddMostRightEmptyIcon(92, 92);
+ btnQrCode.UnSelectedImagePath = "Item/QRCode.png";
+ rowQrCode.ButtonClickEvent += (sender, e) =>
+ {
+ var form = new QRCodeForm();
+ form.AddForm();
+ };
+
+ var rowEmail = new FrameRowControl(listMidFrame.rowSpace / 2);
+ listMidFrame.AddChidren(rowEmail);
+ //搴曠嚎
+ rowEmail.AddBottomLine();
+ //閭View
+ rowEmail.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uEmail), 350);
+ //娣诲姞鍚戝彸鍥炬爣
+ rowEmail.AddRightArrow();
+ //閭
+ var btnEmail = rowEmail.AddMostRightView(UserCenterResourse.UserInfo.Email, 500);
+ if (string.IsNullOrEmpty(UserCenterResourse.UserInfo.Email) == true)
+ {
+ //鏈缃�,璇风粦瀹�
+ btnEmail.TextID = R.MyInternationalizationString.uNotSettionAndPleaseBind;
+ }
+ rowEmail.ButtonClickEvent += (sender, e) =>
+ {
+ if (string.IsNullOrEmpty(UserCenterResourse.UserInfo.Email) == true)
+ {
+ var form = new Password.CheckNewEmailForm();
+ form.AddForm();
+ }
+ else
+ {
+ var form = new Password.CheckOldEmailForm();
+ form.AddForm();
+ }
+ };
+
+ var rowPhone = new FrameRowControl(listMidFrame.rowSpace / 2);
+ listMidFrame.AddChidren(rowPhone);
+ //搴曠嚎
+ rowPhone.AddBottomLine();
+ //鎵嬫満鍙稸iew
+ rowPhone.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uPhone), 350);
+ //娣诲姞鍚戝彸鍥炬爣
+ rowPhone.AddRightArrow();
+ //鎵嬫満鍙�
+ var btnPhone = rowPhone.AddMostRightView(UserCenterResourse.UserInfo.Phone, 500);
+ if (string.IsNullOrEmpty(UserCenterResourse.UserInfo.Phone) == true)
+ {
+ //鏈缃�,璇风粦瀹�
+ btnPhone.TextID = R.MyInternationalizationString.uNotSettionAndPleaseBind;
+ }
+ else
+ {
+ 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) =>
+ {
+ if (string.IsNullOrEmpty(UserCenterResourse.UserInfo.Phone) == true)
+ {
+ var form = new Password.CheckNewPhoneForm();
+ form.AddForm();
+ }
+ else
+ {
+ var form = new Password.CheckOldPhoneForm();
+ form.AddForm();
+ }
+ };
+
+
+ var rowOther = new FrameRowControl(listMidFrame.rowSpace / 2);
+ listMidFrame.AddChidren(rowOther);
+ //绗笁鏂硅处鍙�
+ rowOther.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uAuthenticatedOtherPartyAccount), 400);
+ //搴曠嚎
+ rowOther.AddBottomLine();
+ //娣诲姞鍚戝彸鍥炬爣
+ rowOther.AddRightArrow();
+ //寰俊銆丵Q
+ //var btnQQ = rowOther.AddMostRightView(Language.StringByID(R.MyInternationalizationString.uWebChatAndQQ), 500);
+ var btnQQ = rowOther.AddMostRightView(Language.StringByID(R.MyInternationalizationString.uWebChat), 500);
+ rowOther.ButtonClickEvent += (sender, e) =>
+ {
+ var form = new OtherParty.OtherPartyAccountMenuForm();
+ form.AddForm();
+ };
+
+ var rowSysPsw = new FrameRowControl(listMidFrame.rowSpace / 2);
+ listMidFrame.AddChidren(rowSysPsw);
+ //娣诲姞搴曠嚎
+ rowSysPsw.AddBottomLine();
+ //绯荤粺瀵嗙爜
+ rowSysPsw.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uSystemPassword), 350);
+ //娣诲姞鍚戝彸鍥炬爣
+ rowSysPsw.AddRightArrow();
+ //鍘讳慨鏀�
+ var btnPsw = rowSysPsw.AddMostRightView(Language.StringByID(R.MyInternationalizationString.uGotoEditor), 350);
+ rowSysPsw.ButtonClickEvent += (sender, e) =>
+ {
+ var form = new Password.EditorAccountPasswordForm();
+ form.AddForm();
+ };
+
+ var rowSecond = new FrameRowControl(listMidFrame.rowSpace / 2);
+ listMidFrame.AddChidren(rowSecond);
+ //浜屾瀹夊叏楠岃瘉
+ rowSecond.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uSecondAuthentication), 350);
+ //娣诲姞鍚戝彸鍥炬爣
+ rowSecond.AddRightArrow();
+ //瀵嗙爜銆佹墜鍔裤�佹寚绾�
+ var btnSecand = rowSecond.AddMostRightView(Language.StringByID(R.MyInternationalizationString.uPasswordGestureFingerPrint), 400);
+ rowSecond.ButtonClickEvent += (sender, e) =>
+ {
+ var form = new SecondAuthenticationForm();
+ form.AddForm();
+ };
+ }
+ #endregion
+
+ #region 鈻� 鍒濆鍖栦笅娈垫帶浠禵____________________
+
+ /// <summary>
+ /// 鍒濆鍖栭��鍑鸿处鍙风殑FrameLayout
+ /// </summary>
+ private void InitLogoutFrameLayout()
+ {
+ var specialFrame = new FrameLayout();
+ specialFrame.Height = ControlCommonResourse.ListViewRowHeight;
+ specialFrame.Y = Application.GetRealHeight(1394);
+ specialFrame.BackgroundColor = UserCenterColor.Current.White;
+ bodyFrameLayout.AddChidren(specialFrame);
+
+ //閫�鍑虹櫥闄�
+ var btnLogout = new NormalClickButton(specialFrame.Width, specialFrame.Height);
+ btnLogout.clickStatuColor = 0xfffbfbfb;
+ btnLogout.TextID = R.MyInternationalizationString.uLogoutAccount;
+ btnLogout.TextColor = 0xff666666;
+ btnLogout.BackgroundColor = UserCenterColor.Current.White;
+ specialFrame.AddChidren(btnLogout);
+
+ btnLogout.ButtonClickEvent += (sender, e) =>
+ {
+ //纭畾閫�鍑哄綋鍓嶈处鍙凤紵
+ string msg = Language.StringByID(R.MyInternationalizationString.uLogoutAccountMsg);
+ this.ShowMassage(ShowMsgType.Confirm, msg, () =>
+ {
+ //閫�鍑鸿处鍙�
+ UserCenterLogic.ReLoginAgain(Common.Config.Instance.Account);
+ });
+ };
+ }
+
+ #endregion
+
+ #region 鈻� 鏇存柊鐢ㄦ埛鍚峗________________________
+
+ /// <summary>
+ /// 鏇存柊鐢ㄦ埛鍚�
+ /// </summary>
+ /// <param name="txtName"></param>
+ private async void SaveUserName(TextInputExControl txtName, bool showMsg)
+ {
+ if (UserCenterResourse.UserInfo.UserName == string.Empty)
+ {
+ //鎶婂悕绉拌繕鍘熷洖鍘�
+ txtName.Text = UserCenterResourse.UserInfo.OldUserName;
+ UserCenterResourse.UserInfo.UserName = UserCenterResourse.UserInfo.OldUserName;
+ return;
+ }
+ if (UserCenterResourse.UserInfo.OldUserName == UserCenterResourse.UserInfo.UserName)
+ {
+ //鏃犻渶淇敼
+ return;
+ }
+ var pra = new SaveUserNamePra();
+ pra.UserName = UserCenterResourse.UserInfo.UserName;
+
+ bool result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/UpdateUserName", false, pra);
+ if (result == false)
+ {
+ return;
+ }
+
+ if (showMsg == true)
+ {
+ //鐢ㄦ埛鍚嶇О淇敼鎴愬姛!
+ string msg = Language.StringByID(R.MyInternationalizationString.uUserNameSaveSuccess);
+ this.ShowMassage(ShowMsgType.Tip, msg);
+ }
+
+ UserCenterResourse.UserInfo.OldUserName = UserCenterResourse.UserInfo.UserName;
+ }
+
+ #endregion
+
+ #region 鈻� 鏄剧ず鑾峰彇鍥剧墖鏉ユ簮鑿滃崟_______________
+
+ /// <summary>
+ /// 鏄剧ず鑾峰彇鍥剧墖鏉ユ簮鑿滃崟
+ /// </summary>
+ /// <param name="btnUser"></param>
+ private void ShowUserIconMenu(ImageView btnUser)
+ {
+ var menuContr = new BottomMenuSelectForm();
+ menuContr.AddForm(2);
+ //鎷嶇収
+ menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.uTakePictrue), () =>
+ {
+ //閫氳繃鐩告満鎷嶇収瑁佸壀
+ CropImage.TakePicture((imagePath) =>
+ {
+ if (string.IsNullOrEmpty(imagePath) == false)
+ {
+ //绉诲姩鐢ㄦ埛澶村儚鏂囦欢
+ if (this.MoveUserIconFile(imagePath) == true)
+ {
+ //涓婁紶鐢ㄦ埛澶村儚鏂囦欢
+ this.UpLoadUserIconFile(btnUser, UserCenterResourse.UserInfo.UserIconFile);
+ }
+ }
+ }, "HdlPicture");
+ });
+ //浠庣浉鍐屼腑閫夋嫨
+ menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.uGetPictrueFromAlbum), () =>
+ {
+ //浠庣浉鍐岄�夋嫨鍥剧墖瑁佸壀
+ CropImage.SelectPicture((imagePath) =>
+ {
+ if (string.IsNullOrEmpty(imagePath) == false)
+ {
+ //绉诲姩鐢ㄦ埛澶村儚鏂囦欢
+ if (this.MoveUserIconFile(imagePath) == true)
+ {
+ //涓婁紶鐢ㄦ埛澶村儚鏂囦欢
+ this.UpLoadUserIconFile(btnUser, UserCenterResourse.UserInfo.UserIconFile);
+ }
+ }
+ }, "HdlPicture");
+ });
+ }
+
+ /// <summary>
+ /// 涓婁紶鐢ㄦ埛澶村儚鏂囦欢
+ /// </summary>
+ /// <param name="btnUser"></param>
+ /// <param name="imagePath"></param>
+ private async void UpLoadUserIconFile(ImageView btnUser, string imagePath)
+ {
+ var pra = new { HeadImage = Shared.IO.FileUtils.ReadFile(imagePath) };
+ var result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/UpdateHeadImage", false, pra);
+ if (result == true)
+ {
+ UserCenterResourse.UserInfo.UserIconFileChanged = true;
+ btnUser.ImageBytes = Shared.IO.FileUtils.ReadFile(imagePath);
+ }
+ }
+
+ /// <summary>
+ /// 绉诲姩鐢ㄦ埛澶村儚鏂囦欢
+ /// </summary>
+ /// <param name="imagePath"></param>
+ /// <returns></returns>
+ private bool MoveUserIconFile(string imagePath)
+ {
+ try
+ {
+ if (System.IO.File.Exists(UserCenterResourse.UserInfo.UserIconFile) == true)
+ {
+ System.IO.File.Delete(UserCenterResourse.UserInfo.UserIconFile);
+ }
+ //绉诲姩鏂囦欢
+ System.IO.File.Move(imagePath, UserCenterResourse.UserInfo.UserIconFile);
+ return true;
+ }
+ catch (Exception ex)
+ {
+ //鍑虹幇鏈煡閿欒
+ var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
+ alert.Show();
+ //Log
+ HdlLogLogic.Current.WriteLog(ex);
+ return false;
+ }
+ }
+
+ #endregion
+
+ #region 鈻� 鐣岄潰閲嶆柊婵�娲讳簨浠禵__________________
+
+ /// <summary>
+ /// 鑷韩鐨勪笂灞傜晫闈㈠叧闂悗,瀹冭嚜韬浜庢渶涓婂眰鏃�,瑙﹀彂鐨勪簨浠�
+ /// </summary>
+ public override int FormActionAgainEvent()
+ {
+ //鍒濆鍖栦腑閮ㄧ殑淇℃伅
+ this.InitMiddleBodyFrame();
+
+ return 1;
+ }
+
+ #endregion
+ }
+}
--
Gitblit v1.8.0