using System;
|
using System.Collections.Generic;
|
using System.IO;
|
using System.Threading;
|
using HDL_ON.DAL.Server;
|
using HDL_ON.Entity;
|
using Newtonsoft.Json.Linq;
|
using Shared;
|
|
namespace HDL_ON.UI
|
{
|
public partial class MemberManagementPage
|
{
|
void LoadEventList()
|
{
|
|
|
}
|
|
/// <summary>
|
/// 加载获取住宅子账号信息线程
|
/// </summary>
|
Thread LoadThread_GetResidenceMemberAccount()
|
{
|
var thread = new Thread(() =>
|
{
|
try
|
{
|
residenceMemberInfos.Clear();
|
//
|
var loginResult = LoadMethod_GetResidenceMemberAccount();
|
if (loginResult)
|
{
|
Application.RunOnMainThread(() =>
|
{
|
LoadMemberRow();
|
});
|
}
|
}
|
catch (Exception ex)
|
{
|
MainPage.Log($"LoadThread_GetResidenceMemberAccount : {ex.Message}");
|
}
|
finally
|
{
|
Application.RunOnMainThread(() =>
|
{
|
if (waitPage != null)
|
{
|
waitPage.RemoveFromParent();
|
waitPage = null;
|
}
|
});
|
}
|
})
|
{ IsBackground = true };
|
return thread;
|
}
|
|
/// <summary>
|
/// 检测是否需要下载头像并保存到本地
|
/// </summary>
|
void CheckIfDownloadHeadImage(ResidenceMemberInfo residenceMemberInfo)
|
{
|
if (string.IsNullOrEmpty(residenceMemberInfo.memberHeadIcon)) return;
|
|
var headImageBytes = ImageUtlis.Current.DownHeadImageByImageKey(residenceMemberInfo.memberHeadIcon, false, residenceMemberInfo.childAccountRegionUrl);
|
|
if (headImageBytes != null && headImageBytes.Length > 0)
|
{
|
residenceMemberInfo.headImagePagePath = residenceMemberInfo.memberHeadIcon;
|
Utlis.WriteLine("子账号头像获取成功");
|
}
|
}
|
|
/// <summary>
|
/// 调用获取住宅子账号信息
|
/// </summary>
|
bool LoadMethod_GetResidenceMemberAccount()
|
{
|
var result = false;
|
var responePack = new HttpServerRequest().GetResidenceMemberAccount();
|
if (responePack.Code == StateCode.SUCCESS)
|
{
|
var responeObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ResidenceMemberInfo>>(responePack.Data.ToString());
|
foreach (var mInfo in responeObj)
|
{
|
try
|
{
|
//设置用户昵称
|
if (string.IsNullOrEmpty(mInfo.nickName))
|
{
|
mInfo.nickName = mInfo.UserName;
|
}
|
//设置用户头像路径
|
CheckIfDownloadHeadImage(mInfo);
|
|
|
}
|
catch (Exception ex)
|
{
|
MainPage.Log($"download headImage error : {ex.Message}");
|
}
|
finally
|
{
|
|
}
|
residenceMemberInfos.Add(mInfo);
|
}
|
result = true;
|
}
|
//失败
|
else
|
{
|
//提示
|
IMessageCommon.Current.ShowErrorInfoAlter(responePack.Code);
|
}
|
Application.RunOnMainThread(() =>
|
{
|
waitPage?.Hide();
|
});
|
return result;
|
}
|
|
///// <summary>
|
///// 获取住宅下子账号的共享数据列表
|
///// </summary>
|
///// <param name="info"></param>
|
//void LoadMethod_GetMemberSharedDataList(ResidenceMemberInfo info)
|
//{
|
// var responePack = new HttpServerRequest().GetShareDataByMemberAccount(info.childAccountId);
|
// if (responePack.Code == StateCode.SUCCESS)
|
// {
|
// var responeObj = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ShareData>>(responePack.Data.ToString());
|
// info.CurResidenceShareDate = responeObj;
|
// //foreach (var sd in info.CurResidenceShareDate)
|
// //{
|
// // LoadMethod_GetMemberSharedData(sd);
|
// //}
|
// }
|
// else
|
// {
|
// info.CurResidenceShareDate = new List<ShareData>();
|
// }
|
//}
|
|
///// <summary>
|
///// 获取住宅下子账号的共享数据
|
///// </summary>
|
///// <param name="info"></param>
|
//bool LoadMethod_GetMemberSharedData(ShareData sd)
|
//{
|
// var shareDataBytes = new HttpServerRequest().GetShareData(sd);
|
// if (shareDataBytes != null)
|
// {
|
// sd.ShareDataBytes = shareDataBytes;
|
// return true;
|
// }
|
// return false;
|
//}
|
|
/// <summary>
|
/// 修改昵称窗口
|
/// </summary>
|
void LoadView_EidtNickname(Button btn1, Button btn2, ResidenceMemberInfo mInfo)
|
{
|
EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
|
{
|
Action<string> callBack = (str) =>
|
{
|
if (string.IsNullOrEmpty(str))
|
{
|
new Tip()
|
{
|
CloseTime = 1,
|
Text = Language.StringByID(StringId.NicknameCannotBeEmpty),
|
Direction = AMPopTipDirection.None,
|
}.Show(bodyView);
|
return;
|
}
|
|
var waitPage = new Loading();
|
bodyView.AddChidren(waitPage);
|
waitPage.Start(Language.StringByID(StringId.PleaseWait));
|
new Thread(() =>
|
{
|
try
|
{
|
var responsePack = new HttpServerRequest().EditSubAccountNickName(str, mInfo.childAccountId);
|
if (responsePack.Code.ToUpper() == StateCode.SUCCESS)
|
{
|
Application.RunOnMainThread(() =>
|
{
|
btn1.Text = str;
|
});
|
mInfo.nickName = str;
|
}
|
else
|
{
|
IMessageCommon.Current.ShowErrorInfoAlter(responsePack.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.ModifyMemberNickname, mInfo.nickName, callBack, StringId.HouseNameCannotBeEmpty, 0, new List<string>());
|
};
|
btn1.MouseUpEventHandler = eventHandler;
|
btn2.MouseUpEventHandler = eventHandler;
|
}
|
|
/// <summary>
|
/// 修改创建场景权限
|
/// </summary>
|
void LoadView_ChangeCreateSceneState(Button btn1, Button btn2, ResidenceMemberInfo mInfo)
|
{
|
EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
|
{
|
new Thread(() =>
|
{
|
try
|
{
|
bool isAllow = !btn1.IsSelected;
|
var responsePack = new HttpServerRequest().ChangeCreateSceneState(isAllow, mInfo.childAccountId);
|
if (responsePack.Code.ToUpper() == StateCode.SUCCESS)
|
{
|
Application.RunOnMainThread(() =>
|
{
|
btn1.IsSelected = isAllow;
|
});
|
}
|
else
|
{
|
IMessageCommon.Current.ShowErrorInfoAlter(responsePack.Code);
|
}
|
}
|
catch (Exception ex)
|
{
|
MainPage.Log($"update user name error : {ex.Message}");
|
}
|
finally
|
{
|
//Application.RunOnMainThread(() =>
|
//{
|
// waitPage.Hide();
|
//});
|
}
|
})
|
{ IsBackground = true }.Start();
|
};
|
btn1.MouseUpEventHandler = eventHandler;
|
btn2.MouseUpEventHandler = eventHandler;
|
|
}
|
}
|
}
|