using System; using System.Collections.Generic; using System.Text; using ZigBee.Device; namespace Shared.Phone.UserCenter.HideOption { /// /// 隐匿功能的主界面 /// public class HideOptionMainForm : EditorCommonForm { #region ■ 变量声明___________________________ /// /// 列表控件 /// private VerticalListRefreshControl listView = null; #endregion #region ■ 初始化_____________________________ /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// public void ShowForm() { //设置头部信息 base.SetTitleText("隐匿主界面"); listView = new VerticalListRefreshControl(23); listView.BackgroundColor = UserCenterColor.Current.White; listView.Height = bodyFrameLayout.Height; bodyFrameLayout.AddChidren(listView); listView.BeginHeaderRefreshingAction += () => { //初始化中部信息 this.InitMiddleFrame(); listView.EndHeaderRefreshing(); }; //初始化中部信息 this.InitMiddleFrame(); } /// /// 初始化中部信息 /// private void InitMiddleFrame() { listView.RemoveAll(); this.AddNormalRowControl("当前身份", 400, UserCenterResourse.UserInfo.AuthorityText, 400); this.AddTopButtomRowControl("住宅ID", 400, Common.Config.Instance.Home.Id, 900); this.AddTopButtomRowControl("账号GUID", 400, string.IsNullOrEmpty(Common.Config.Instance.Guid) == true ? Common.Config.Instance.Home.MainUserDistributedMark : Common.Config.Instance.Guid, 900); this.AddNormalRowControl("住宅分享", 400, Common.Config.Instance.Home.IsOthreShare == true ? "是" : "否", 400); this.AddNormalRowControl("账号类型", 400, Common.Config.Instance.Home.AccountType.ToString(), 400); this.AddNormalRowControl("远程连接", 400, ZigBee.Device.ZbGateway.IsRemote == true ? "是" : "否", 400); this.AddNormalRowControl("拥有远程权限", 400, ZigBee.Device.ZbGateway.AllowRemoteCtrl == true ? "是" : "否", 400); this.AddNormalRowControl("WIFI变量", 400, Shared.Application.IsWifi == true ? "true" : "false", 400); if (ZigBee.Common.Application.FindGateWaySocket.busSocket == null) { this.AddNormalRowControl("Socket链接", 400, "未初始化", 400); } else { this.AddNormalRowControl("Socket链接", 400, ZigBee.Common.Application.FindGateWaySocket.busSocket.Connected == true ? "true" : "false", 400); } int count = HdlGatewayLogic.Current.GetAllLocalGateway().Count; var row1 = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(row1); row1.UseClickStatu = false; row1.AddLeftCaption("本地网关", 400); if (count > 0) { row1.UseClickStatu = true; row1.AddRightArrow(); row1.ButtonClickEvent += (sender, e) => { var form = new HideOptionGatewayListForm(); form.AddForm(1); }; } row1.AddMostRightView(count + "个", 400); row1.AddBottomLine(); count = ZigBee.Device.ZbGateway.GateWayList.Count; row1 = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(row1); row1.UseClickStatu = false; row1.AddLeftCaption("缓存中的网关", 400); if (count > 0) { row1.UseClickStatu = true; row1.AddRightArrow(); row1.ButtonClickEvent += (sender, e) => { var form = new HideOptionGatewayListForm(); form.AddForm(2); }; } row1.AddMostRightView(count + "个", 400); row1.AddBottomLine(); //检测能否广播得到网关 this.AddCheckReceviceGatewayRow(); row1 = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(row1); row1.AddLeftCaption("查看缓存文件", 500); row1.AddRightArrow(); row1.AddBottomLine(); row1.ButtonClickEvent += (sender, e) => { var form = new HideOptionDirectoryListForm(); form.AddForm(); }; row1 = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(row1); row1.AddLeftCaption("设备缓存变量", 500); row1.AddRightArrow(); row1.AddBottomLine(); row1.ButtonClickEvent += (sender, e) => { var form = new HideOptionMemoryListDeviceForm(); form.AddForm(); }; row1 = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(row1); row1.AddLeftCaption("收集发送和接收的数据", 600); row1.AddBottomLine(); var btnSwitchLog = row1.AddMostRightSwitchIcon(); btnSwitchLog.ButtonClickEvent += (sender, e) => { if (btnSwitchLog.IsSelected == false) { this.ShowMassage(ShowMsgType.Confirm, "是否打开记录发送及接收数据的记录?", () => { btnSwitchLog.IsSelected = true; HdlFileLogic.Current.DeleteFile(DirNameResourse.SendAndReceveDataLog); UserCenterResourse.HideOption.WriteSendAndReceveDataToFile = 1; }); } else { btnSwitchLog.IsSelected = false; var txtvalue = HdlFileLogic.Current.ReadFileTextContent(DirNameResourse.SendAndReceveDataLog); if (txtvalue != null) { var form = new HideOptionFileContentForm(); form.AddForm(string.Empty); form.SetTextContent(txtvalue); } } }; row1 = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(row1); row1.AddLeftCaption("上传Log", 500); row1.AddRightArrow(); row1.ButtonClickEvent += (sender, e) => { this.ShowMassage(ShowMsgType.Confirm, "是否上传Log文件", () => { HdlThreadLogic.Current.RunThread(() => { HdlBackupLogic.Current.UpLoadLogBackup(); }); }); }; listView.AdjustRealHeight(Application.GetRealHeight(23)); } /// /// 添加行 /// /// /// /// /// private FrameRowControl AddNormalRowControl(string caption, int width1, string viewText, int width2) { var row1 = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(row1); row1.AddLeftCaption(caption, width1); row1.AddMostRightView(viewText, width2); row1.AddBottomLine(); row1.UseClickStatu = false; return row1; } /// /// 添加行 /// /// /// /// /// private FrameRowControl AddTopButtomRowControl(string caption, int width1, string viewText, int width2) { var row1 = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(row1); row1.AddTopView(caption, width1); row1.AddBottomView(viewText, width2); row1.AddBottomLine(); row1.UseClickStatu = false; return row1; } /// /// 检测能否广播得到网关 /// private void AddCheckReceviceGatewayRow() { var row1 = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(row1); row1.AddLeftCaption("检测能否广播得到网关", 700); row1.AddRightArrow(); row1.AddBottomLine(); var btnCount = row1.AddMostRightView("", 400); row1.ButtonClickEvent += (sender, e) => { int waiteCount = 5; this.ShowMassage(ShowMsgType.Confirm, "该操作将等待" + waiteCount + "秒,是否继续?", () => { Shared.Phone.UserCenter.UserCenterResourse.DicReceiveGatewayTest = new Dictionary(); UserCenterResourse.HideOption.CheckCanReceiveGateway = 1; HdlThreadLogic.Current.RunThread(() => { while (waiteCount > 0) { HdlThreadLogic.Current.RunMain(() => { btnCount.Text = "请等待" + waiteCount + "秒"; }); System.Threading.Thread.Sleep(1000); waiteCount--; } HdlThreadLogic.Current.RunMain(() => { btnCount.Text = string.Empty; }); //结束 UserCenterResourse.HideOption.CheckCanReceiveGateway = 0; if (Shared.Phone.UserCenter.UserCenterResourse.DicReceiveGatewayTest.Count == 0) { this.ShowMassage(ShowMsgType.Normal, "抱歉,没有广播到任何网关"); return; } HdlThreadLogic.Current.RunMain(() => { var form = new HideOptionGatewayListForm(); form.AddForm(3); }); }); }); }; } #endregion #region ■ 界面关闭___________________________ /// /// 界面关闭 /// public override void CloseFormBefore() { Shared.Phone.UserCenter.UserCenterResourse.DicReceiveGatewayTest = null; UserCenterResourse.HideOption.CheckCanReceiveGateway = 0; UserCenterResourse.HideOption.WriteSendAndReceveDataToFile = 1; base.CloseFormBefore(); } #endregion } }