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() { } /// /// 加载获取住宅子账号信息线程 /// 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; } /// /// 检测是否需要下载头像并保存到本地 /// 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("子账号头像获取成功"); } } /// /// 调用获取住宅子账号信息 /// bool LoadMethod_GetResidenceMemberAccount() { var result = false; var responePack = new HttpServerRequest().GetResidenceMemberAccount(); if (responePack.Code == StateCode.SUCCESS) { var responeObj = Newtonsoft.Json.JsonConvert.DeserializeObject>(responePack.Data.ToString()); foreach (var mInfo in responeObj) { try { //设置用户昵称 if (string.IsNullOrEmpty(mInfo.nickName)) { mInfo.nickName = mInfo.memberName; } //设置用户头像路径 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(); waitPage?.RemoveFromParent(); }); return result; } ///// ///// 获取住宅下子账号的共享数据列表 ///// ///// //void LoadMethod_GetMemberSharedDataList(ResidenceMemberInfo info) //{ // var responePack = new HttpServerRequest().GetShareDataByMemberAccount(info.childAccountId); // if (responePack.Code == StateCode.SUCCESS) // { // var responeObj = Newtonsoft.Json.JsonConvert.DeserializeObject>(responePack.Data.ToString()); // info.CurResidenceShareDate = responeObj; // //foreach (var sd in info.CurResidenceShareDate) // //{ // // LoadMethod_GetMemberSharedData(sd); // //} // } // else // { // info.CurResidenceShareDate = new List(); // } //} ///// ///// 获取住宅下子账号的共享数据 ///// ///// //bool LoadMethod_GetMemberSharedData(ShareData sd) //{ // var shareDataBytes = new HttpServerRequest().GetShareData(sd); // if (shareDataBytes != null) // { // sd.ShareDataBytes = shareDataBytes; // return true; // } // return false; //} /// /// 修改昵称窗口 /// void LoadView_EidtNickname(Button btn1, Button btn2, ResidenceMemberInfo mInfo) { EventHandler eventHandler = (sender, e) => { Action 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.NicknameCannotBeEmpty, 0, new List()); }; btn1.MouseUpEventHandler = eventHandler; btn2.MouseUpEventHandler = eventHandler; } /// /// 修改创建场景权限 /// void LoadView_ChangeCreateSceneState(Button btn1, Button btn2, ResidenceMemberInfo mInfo) { EventHandler 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; } } }