using System;
|
using System.Threading;
|
using HDL_ON.DAL.Server;
|
using HDL_ON.Entity;
|
using Shared;
|
|
namespace HDL_ON.UI
|
{
|
public partial class PersonalDataPage
|
{
|
/// <summary>
|
/// 加载事件列表
|
/// </summary>
|
void LoadEventList()
|
{
|
LoadEvent_ChangeHeadImageView();
|
LoadEvent_Logout();
|
LoadEvent_EditUserName();
|
LoadEvent_SkipInterpretationSettings();
|
LoadEvent_ChangeBindEmail();
|
LoadEvent_ChangeBindPhone();
|
LoadEvent_SkipModifyPassword();
|
LoadEvent_MyQRcode();
|
GetUserInfo();
|
}
|
|
/// <summary>
|
/// 加载选择头像选项view
|
/// </summary>
|
void LoadEvent_ChangeHeadImageView()
|
{
|
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) =>
|
{
|
Action okAction = () =>
|
{
|
LogoutNew();
|
};
|
new ConfirmDialog().ShowDialog(StringId.Tip, StringId.IfConfirmLogout, okAction);
|
};
|
}
|
|
/// <summary>
|
/// 加载背景图选择区域事件列表
|
/// </summary>
|
void LoadEvent_PictureOptionViewEventList(FrameLayout baseView)
|
{
|
pictureOptionView.MouseUpEventHandler = (sender, e) =>
|
{
|
baseView.RemoveFromParent();
|
};
|
baseView.MouseUpEventHandler = (sender, e) =>
|
{
|
baseView.RemoveFromParent();
|
};
|
btnCancel.MouseUpEventHandler = (sender, e) =>
|
{
|
baseView.RemoveFromParent();
|
};
|
|
btnTakePicture.MouseUpEventHandler = (sender, e) =>
|
{
|
btnTakePicture.IsSelected = true;
|
};
|
btnTakePicture.MouseUpEventHandler = (sender, e) =>
|
{
|
btnTakePicture.IsSelected = false;
|
|
//拍照裁剪
|
//var imageName = "headImage";
|
var imageName = Guid.NewGuid().ToString();
|
CropImage.TakePicture((imagePath) =>
|
{
|
CropImageCallBack(imagePath);
|
|
}, imageName, 1, 1);
|
|
pictureOptionView.RemoveFromParent();
|
baseView.RemoveFromParent();
|
};
|
|
btnAlbum.MouseUpEventHandler = (sender, e) =>
|
{
|
btnAlbum.IsSelected = true;
|
};
|
|
btnAlbum.MouseUpEventHandler = (sender, e) =>
|
{
|
btnAlbum.IsSelected = false;
|
//从相册选择图片裁剪
|
var imageName = Guid.NewGuid().ToString();
|
//var imageName = "headImage";
|
CropImage.SelectPicture((imagePath) =>
|
{
|
CropImageCallBack(imagePath);
|
}, imageName, 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 (!string.IsNullOrEmpty(imageView.ImagePath) && !imageView.ImagePath.Contains("LoginIcon/2.png"))
|
{
|
Utlis.WriteLine("删除: " + imageView.ImagePath);
|
System.IO.File.Delete(imageView.ImagePath);
|
}
|
//重命名保存
|
FileUtils.WriteFileByBytes(imageUrl, imageBytes);
|
imageView.ImagePath = imageUrl;
|
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>
|
/// 加载修改用户名称事件
|
/// </summary>
|
void LoadEvent_EditUserName()
|
{
|
EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
|
{
|
Action<string> callBack = (str) =>
|
{
|
if (string.IsNullOrEmpty(str))
|
{
|
new Tip()
|
{
|
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 resultObj = new HttpServerRequest().EditUserName(str);
|
if (resultObj.Code == StateCode.SUCCESS)
|
{
|
UserInfo.Current.userName = str;
|
UserInfo.Current.SaveUserInfo();
|
Application.RunOnMainThread(() =>
|
{
|
btnUserName.Text = str;
|
updataUserName();
|
});
|
}
|
else
|
{
|
//失败提示
|
IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code);
|
}
|
}
|
catch (Exception ex)
|
{
|
MainPage.Log($"update user name error : {ex.Message}");
|
}
|
finally
|
{
|
Application.RunOnMainThread(() =>
|
{
|
if (waitPage != null)
|
{
|
waitPage.RemoveFromParent();
|
waitPage = null;
|
}
|
});
|
}
|
})
|
{ IsBackground = true }.Start();
|
};
|
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()
|
{
|
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
|
|
/// <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();
|
}
|
}
|
}
|