| | |
| | | using System; |
| | | using System.Threading; |
| | | using HDL_ON.DAL.Server; |
| | | using HDL_ON.Entity; |
| | | using Shared; |
| | | |
| | | namespace HDL_ON.UI |
| | |
| | | LoadEvent_Logout(); |
| | | LoadEvent_EditUserName(); |
| | | LoadEvent_SkipInterpretationSettings(); |
| | | LoadEvent_ChangeBindEmail(); |
| | | LoadEvent_ChangeBindPhone(); |
| | | LoadEvent_SkipModifyPassword(); |
| | | LoadEvent_MyQRcode(); |
| | | GetUserInfo(); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | void LoadEvent_ChangeHeadImageView() |
| | | { |
| | | userHeadImageView.MouseUpEventHandler = (sender, e) => { |
| | | userHeadImageView.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | LoadPictureOptionView(); |
| | | }; |
| | | } |
| | | |
| | | ///// <summary> |
| | | ///// 退出登录操作 |
| | | ///// </summary> |
| | | //void Logout() |
| | | //{ |
| | | // #region 保存本地数据至文件夹 |
| | | // string oldRegionRootPath = FileUtils.CreateRegionBackup(DB_ResidenceData.residenceData.CurReginID.ToString()); |
| | | // new System.Threading.Thread(() => |
| | | // { |
| | | // try |
| | | // { |
| | | // var backuplist = FileUtils.ReadFiles(); |
| | | // //移动文件 |
| | | // foreach (var fileName in backuplist) |
| | | // { |
| | | // System.IO.FileInfo fileInfo = new System.IO.FileInfo(FileUtils.RootPath + fileName); |
| | | // if (fileInfo.Exists) |
| | | // { |
| | | // fileInfo.MoveTo(oldRegionRootPath + fileName); |
| | | // MainPage.Log("move file : " + fileName); |
| | | // } |
| | | // } |
| | | // FileUtils.DeleteRegionFiles(oldRegionRootPath); |
| | | // } |
| | | // catch (Exception ex) |
| | | // { |
| | | // MainPage.Log($"xxx:{ex.Message}"); |
| | | // } |
| | | // finally |
| | | // { |
| | | // FileUtils.DeleteAllFile(); |
| | | // } |
| | | // }).Start(); |
| | | // #endregion |
| | | |
| | | // //2.注销推送 |
| | | // new HttpServerRequest().SignOutPush(); |
| | | // //3.跳转登录页面 |
| | | // UserInfo.Current.LastTime = DateTime.MinValue; |
| | | // UserInfo.Current.headImagePagePath = "LoginIcon/2.png";//重置用户头像 |
| | | // UserInfo.Current.SaveUserInfo(); |
| | | // MainPage.GoLoginPage(UserInfo.Current); |
| | | // DB_ResidenceData.residenceData.EixtAccount(); |
| | | //} |
| | | |
| | | /// <summary> |
| | | /// 退出登录操作 |
| | | /// </summary> |
| | | public void LogoutNew() |
| | | { |
| | | //加载Loading效果 |
| | | var waitPage = new Loading(); |
| | | bodyView.AddChidren(waitPage); |
| | | waitPage.Start(Language.StringByID(StringId.PleaseWait)); |
| | | |
| | | new Thread(() => |
| | | { |
| | | try |
| | | { |
| | | #region 保存本地数据至文件夹 |
| | | string oldRegionRootPath = FileUtils.CreateRegionBackup(DB_ResidenceData.residenceData.CurReginID.ToString()); |
| | | //清空之前的住宅文件 |
| | | FileUtils.DeleteRegionFiles(oldRegionRootPath); |
| | | var backuplist = FileUtils.ReadFiles(); |
| | | //移动文件 |
| | | foreach (var fileName in backuplist) |
| | | { |
| | | System.IO.FileInfo fileInfo = new System.IO.FileInfo(FileUtils.RootPath + fileName); |
| | | if (fileInfo.Exists) |
| | | { |
| | | fileInfo.MoveTo(oldRegionRootPath + fileName); |
| | | MainPage.Log("move file : " + fileName); |
| | | } |
| | | } |
| | | #endregion |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"xxx:{ex.Message}"); |
| | | } |
| | | finally |
| | | { |
| | | FileUtils.DeleteAllFile(); |
| | | //2.注销推送 |
| | | new HttpServerRequest().SignOutPush(); |
| | | //3.跳转登录页面 |
| | | UserInfo.Current.LastTime = DateTime.MinValue; |
| | | UserInfo.Current.headImagePagePath = "LoginIcon/2.png";//重置用户头像 |
| | | UserInfo.Current.SaveUserInfo(); |
| | | Shared.Application.RunOnMainThread(() => |
| | | { |
| | | if (waitPage != null) |
| | | { |
| | | waitPage.RemoveFromParent(); |
| | | waitPage = null; |
| | | } |
| | | |
| | | MainPage.GoLoginPage(UserInfo.Current); |
| | | DB_ResidenceData.residenceData.EixtAccount(); |
| | | |
| | | }); |
| | | } |
| | | }).Start(); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | void LoadEvent_Logout() |
| | | { |
| | | btnLogout.MouseUpEventHandler += (sender, e) => { |
| | | MainPage.LoginUser.lastTime = DateTime.MinValue; |
| | | MainPage.LoginUser.SaveUserInfo(); |
| | | MainPage.GoLoginPage(MainPage.LoginUser.accountString); |
| | | btnLogout.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | Action okAction = () => |
| | | { |
| | | LogoutNew(); |
| | | }; |
| | | new ConfirmDialog().ShowDialog(StringId.Tip, StringId.IfConfirmLogout, okAction); |
| | | }; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 加载背景图选择区域事件列表 |
| | | /// </summary> |
| | | void LoadEvent_PictureOptionViewEventList() |
| | | void LoadEvent_PictureOptionViewEventList(FrameLayout baseView) |
| | | { |
| | | pictureOptionView.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | pictureOptionView.RemoveFromParent(); |
| | | baseView.RemoveFromParent(); |
| | | }; |
| | | |
| | | baseView.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | baseView.RemoveFromParent(); |
| | | }; |
| | | btnCancel.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | pictureOptionView.RemoveFromParent(); |
| | | baseView.RemoveFromParent(); |
| | | }; |
| | | |
| | | btnTakePicture.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | var pid = Guid.NewGuid(); |
| | | CropImage.TakePicture((Action<string>)((imagePath) => |
| | | btnTakePicture.IsSelected = true; |
| | | }; |
| | | btnTakePicture.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | btnTakePicture.IsSelected = false; |
| | | |
| | | //拍照裁剪 |
| | | //var imageName = "headImage"; |
| | | var imageName = Guid.NewGuid().ToString(); |
| | | CropImage.TakePicture((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); |
| | | CropImageCallBack(imagePath); |
| | | |
| | | }, imageName, 1, 1); |
| | | |
| | | pictureOptionView.RemoveFromParent(); |
| | | baseView.RemoveFromParent(); |
| | | }; |
| | | |
| | | btnAlbum.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | var pid = Guid.NewGuid(); |
| | | btnAlbum.IsSelected = true; |
| | | }; |
| | | |
| | | btnAlbum.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | btnAlbum.IsSelected = false; |
| | | //从相册选择图片裁剪 |
| | | var imageName = Guid.NewGuid().ToString(); |
| | | //var imageName = "headImage"; |
| | | CropImage.SelectPicture((imagePath) => |
| | | { |
| | | if (imagePath != null) |
| | | { |
| | | MainPage.LoginUser.headImagePagePath = imagePath.ToString(); |
| | | userHeadImageView.ImagePath = imagePath.ToString(); |
| | | updataHeadImage(); |
| | | CropImageCallBack(imagePath); |
| | | }, imageName, 1, 1); |
| | | |
| | | 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(); |
| | | baseView.RemoveFromParent(); |
| | | }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 裁剪完照片回调,统一处理 |
| | | /// </summary> |
| | | /// <param name="selectImagePath">裁剪后的真实路径</param> |
| | | void CropImageCallBack(string selectImagePath) |
| | | { |
| | | if (string.IsNullOrEmpty(selectImagePath) == true) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | //上传成功到回调 |
| | | Action<string> uploadSuccessAction = (imageUrl) => |
| | | { |
| | | //生成图片 |
| | | UserInfo.Current.headImagePagePath = imageUrl; |
| | | updataHeadImage(); |
| | | UserInfo.Current.SaveUserInfo(); |
| | | }; |
| | | |
| | | //上传图片到云端 |
| | | UploadImage(selectImagePath, userHeadImageView, UserInfo.Current.ID, uploadSuccessAction); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 上传图片方法 |
| | | /// </summary> |
| | | /// <param name="selectImagePath">裁剪后的图片路径</param> |
| | | /// <param name="imageView"></param> |
| | | /// <param name="uploadSuccessAction"></param> |
| | | void UploadImage(string selectImagePath, ImageView imageView, string userId, Action<string> uploadSuccessAction) |
| | | { |
| | | try |
| | | { |
| | | MainPage.Log("SelectPicture 裁剪图片返回路径: " + selectImagePath); |
| | | //1.读取裁剪后的图片,然后删除 |
| | | var imageBytes = Shared.IO.FileUtils.ReadFile(selectImagePath); |
| | | System.IO.File.Delete(selectImagePath); |
| | | |
| | | var waitPage = new Loading(); |
| | | bodyView.AddChidren(waitPage); |
| | | waitPage.Start(Language.StringByID(StringId.PleaseWait)); |
| | | //开始上传 |
| | | new Thread(() => |
| | | { |
| | | try |
| | | { |
| | | var uploadImageObj = ImageUtlis.Current.GetHeadImageUploadKeyObj(userId); |
| | | uploadImageObj.content = imageBytes; |
| | | var imageUrl = ImageUtlis.Current.UploadImage(uploadImageObj); |
| | | if (!string.IsNullOrEmpty(imageUrl) && imageUrl.Contains(userId)) |
| | | { |
| | | //上传成功 |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | Utlis.WriteLine("上传成功:" + imageUrl); |
| | | //1.2如果是自定义图片删除之前的 |
| | | if (!imageView.ImagePath.Contains("LoginIcon/2.png")) |
| | | { |
| | | Utlis.WriteLine("删除: " + imageView.ImagePath); |
| | | System.IO.File.Delete(imageView.ImagePath); |
| | | } |
| | | //重命名保存 |
| | | FileUtils.WriteFileByBytes(imageUrl, imageBytes); |
| | | imageView.ImagePath = null; |
| | | imageView.ImageBytes = imageBytes; |
| | | //上传成功 |
| | | Utlis.ShowTip(Language.StringByID(StringId.UploadSuccessfully)); |
| | | uploadSuccessAction?.Invoke(imageUrl); |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | //上传失败 |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | //上传失败 |
| | | Utlis.ShowTip(Language.StringByID(StringId.UploadFailed)); |
| | | }); |
| | | } |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | if (waitPage != null) |
| | | { |
| | | waitPage.RemoveFromParent(); |
| | | waitPage = null; |
| | | } |
| | | }); |
| | | } |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | catch { } |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | { |
| | | new Tip() |
| | | { |
| | | CloseTime = 3, |
| | | CloseTime = 1, |
| | | Text = Language.StringByID(StringId.UesrNameCannotBeEmpty), |
| | | Direction = AMPopTipDirection.None, |
| | | }.Show(bodyView); |
| | | return; |
| | | } |
| | | if (str == UserInfo.Current.userName) |
| | | { |
| | | return; |
| | | } |
| | | var waitPage = new Loading(); |
| | | bodyView.AddChidren(waitPage); |
| | | waitPage.Start(Language.StringByID(StringId.PleaseWait)); |
| | | new System.Threading.Thread(() => |
| | | { |
| | | try |
| | | { |
| | | var responsePack = new DAL.Server.HttpServerRequest().EditUserName(str); |
| | | if (responsePack.StateCode.ToUpper() == "SUCCESS") |
| | | var resultObj = new HttpServerRequest().EditUserName(str); |
| | | if (resultObj.Code == StateCode.SUCCESS) |
| | | { |
| | | MainPage.LoginUser.userName = str; |
| | | MainPage.LoginUser.SaveUserInfo(); |
| | | UserInfo.Current.userName = str; |
| | | UserInfo.Current.SaveUserInfo(); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | btnUserName.Text = str; |
| | |
| | | } |
| | | 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); |
| | | }); |
| | | //失败提示 |
| | | IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); |
| | | } |
| | | }catch (Exception ex) |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"update user name error : {ex.Message}"); |
| | | } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => { |
| | | waitPage.Hide(); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | if (waitPage != null) |
| | | { |
| | | waitPage.RemoveFromParent(); |
| | | waitPage = null; |
| | | } |
| | | }); |
| | | } |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | }; |
| | | new PublicAssmebly().LoadDialog_EditParater(StringId.UesrName, MainPage.LoginUser.userName, callBack,StringId.UesrNameCannotBeEmpty,0,new System.Collections.Generic.List<string>()); |
| | | new PublicAssmebly().LoadDialog_EditParater(StringId.ChangeName, UserInfo.Current.userName, callBack, StringId.UesrNameCannotBeEmpty, 0, new System.Collections.Generic.List<string>()); |
| | | }; |
| | | btnUserName.MouseUpEventHandler = eventHandler; |
| | | btnEditUserNameIcon.MouseUpEventHandler = eventHandler; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 加载我的二维码事件 |
| | | /// </summary> |
| | | void LoadEvent_MyQRcode() |
| | | { |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | { |
| | | //我的二维码 |
| | | var aep = new MyQRCodePage(); |
| | | MainPage.BasePageView.AddChidren(aep); |
| | | aep.LoadPage(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | |
| | | }; |
| | | _QRcodeView.MouseUpEventHandler = eventHandler; |
| | | btnQRcode.MouseUpEventHandler = eventHandler; |
| | | btnQRcodeIcon.MouseUpEventHandler = eventHandler; |
| | | btnQRcodeRight.MouseUpEventHandler = eventHandler; |
| | | } |
| | | |
| | | #region 修改绑定邮箱 |
| | | /// <summary> |
| | | /// 修改绑定邮箱 |
| | | /// </summary> |
| | | void LoadEvent_ChangeBindEmail() |
| | | { |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | { |
| | | Action<string> action = (email) => |
| | | { |
| | | |
| | | btnUserEmailInfo.Text = GetBindAccountText(email); |
| | | }; |
| | | |
| | | if (CheckIfUnbound(btnUserEmailInfo.Text)) |
| | | { |
| | | //未绑定,跳转新绑定页面 |
| | | var aep = new NewBindAccountPage(); |
| | | MainPage.BasePageView.AddChidren(aep); |
| | | aep.LoadPage(action); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | } |
| | | else |
| | | { |
| | | var aep = new AccountBindInfoPage(); |
| | | MainPage.BasePageView.AddChidren(aep); |
| | | aep.LoadPage(action, 1, StringId.EmailAddress); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | } |
| | | |
| | | }; |
| | | btnUserEmailInfo.MouseUpEventHandler = eventHandler; |
| | | btnUserEmailRight.MouseUpEventHandler = eventHandler; |
| | | userEmailInfoView.MouseUpEventHandler = eventHandler; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 修改绑定手机 |
| | | /// </summary> |
| | | void LoadEvent_ChangeBindPhone() |
| | | { |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | { |
| | | Action<string> action = (phone) => |
| | | { |
| | | btnUserPhoneInfo.Text = GetBindAccountText(phone); |
| | | }; |
| | | |
| | | if (CheckIfUnbound(btnUserPhoneInfo.Text)) |
| | | { |
| | | //未绑定,跳转新绑定页面 |
| | | var aep = new NewBindAccountPage(); |
| | | MainPage.BasePageView.AddChidren(aep); |
| | | aep.LoadPage(action, true); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | } |
| | | else |
| | | { |
| | | var aep = new AccountBindInfoPage(); |
| | | MainPage.BasePageView.AddChidren(aep); |
| | | aep.LoadPage(action, 2, StringId.PhoneInfo); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | } |
| | | |
| | | |
| | | }; |
| | | btnUserPhoneInfo.MouseUpEventHandler = eventHandler; |
| | | btnUserPhoneRight.MouseUpEventHandler = eventHandler; |
| | | userPhoneInfoView.MouseUpEventHandler = eventHandler; |
| | | } |
| | | #endregion |
| | | |
| | | #region 解锁设置区域 |
| | | void LoadEvent_SkipInterpretationSettings() |
| | |
| | | |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// 跳转修改密码界面 |
| | | /// </summary> |
| | | void LoadEvent_SkipModifyPassword() |
| | | { |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | { |
| | | var page = new ResetPasswordOptionPage(); |
| | | MainPage.BasePageView.AddChidren(page); |
| | | page.LoadPage(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | btnResetPasswordRight.MouseUpEventHandler = eventHandler; |
| | | btnResetPasswordText.MouseUpEventHandler = eventHandler; |
| | | resetPasswordView.MouseUpEventHandler = eventHandler; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | void GetUserInfo() |
| | | { |
| | | new System.Threading.Thread(() => |
| | | { |
| | | new HttpServerRequest().GetUserInfo(); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | } |
| | | } |
| | | } |