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(); if (HdlUserCenterResourse.HideOption.StartDebugApp == 1) { //开启调试时,不允许关闭这个界面 this.BackButtonClickEvent += (sender) => { return; }; } } /// /// 初始化中部信息 /// private void InitMiddleFrame() { listView.RemoveAll(); var rowTemp = this.AddNormalRowControl(string.Empty, 400, string.Empty, 400); var btnTemp = new NormalViewControl(600, 100, true); btnTemp.Text = "一般信息部分"; btnTemp.Gravity = Gravity.Center; btnTemp.TextSize = 16; btnTemp.IsBold = true; btnTemp.TextAlignment = TextAlignment.Center; rowTemp.AddChidren(btnTemp); this.AddNormalRowControl("当前身份", 400, HdlUserCenterResourse.ResidenceOption.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.IsOtherShare == true ? "是" : "否", 400); this.AddNormalRowControl("账号类型", 400, Common.Config.Instance.Home.AccountType.ToString(), 400); this.AddNormalRowControl("远程连接", 400, ZigBee.Device.ZbGateway.IsRemote == true ? "是" : "否", 400); this.AddNormalRowControl("拥有远程权限", 400, Common.Config.Instance.Home.IsRemoteControl == true ? "是" : "否", 400); this.AddNormalRowControl("WIFI变量", 400, Shared.Application.IsWifi == true ? "true" : "false", 400); rowTemp = this.AddNormalRowControl(string.Empty, 400, string.Empty, 400); btnTemp = new NormalViewControl(600, 100, true); btnTemp.Text = "链接调试部分"; btnTemp.Gravity = Gravity.Center; btnTemp.TextSize = 16; btnTemp.IsBold = true; btnTemp.TextAlignment = TextAlignment.Center; rowTemp.AddChidren(btnTemp); this.AddNormalRowControl("手机获取的IP", 600, new Shared.Net.NetWiFi().BroadcastIpAddress.ToString(), 600); if (ZigBee.Common.Application.FindGateWaySocket.udpClient == null) { this.AddNormalRowControl("Socket链接", 400, "未初始化", 400); } else { this.AddNormalRowControl("Socket链接", 400, "已初始化", 400); } int count = ZbGateway.GateWayList.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(2); }; } row1.AddMostRightView(count + "个", 400); row1.AddBottomLine(); //检测能否广播得到网关 this.AddCheckReceviceGatewayRow(); 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(HdlFileNameResourse.SendAndReceveDataLog); HdlUserCenterResourse.HideOption.WriteSendAndReceveDataToFile = 1; }); } else { HdlUserCenterResourse.HideOption.WriteSendAndReceveDataToFile = 0; btnSwitchLog.IsSelected = false; var txtvalue = HdlFileLogic.Current.ReadFileTextContent(HdlFileNameResourse.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("SocketReceive", 600); row1.AddBottomLine(); var btnSocketReceiveLog = row1.AddMostRightSwitchIcon(); btnSocketReceiveLog.ButtonClickEvent += (sender, e) => { if (btnSocketReceiveLog.IsSelected == false) { this.ShowMassage(ShowMsgType.Confirm, "是否打开记录SocketReceive的记录?", () => { btnSocketReceiveLog.IsSelected = true; HdlFileLogic.Current.DeleteFile(HdlFileNameResourse.SocketReceiveDataLog); HdlUserCenterResourse.HideOption.WriteSocketReceiveDataToFile = 1; }); } else { HdlUserCenterResourse.HideOption.WriteSocketReceiveDataToFile = 0; btnSocketReceiveLog.IsSelected = false; var txtvalue = HdlFileLogic.Current.ReadFileTextContent(HdlFileNameResourse.SocketReceiveDataLog); 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("重新初始化Socket", 600); row1.AddRightArrow(); row1.AddBottomLine(); row1.ButtonClickEvent += (sender, e) => { this.ShowMassage(ShowMsgType.Confirm, "是否重新初始化Socket对象?", () => { ZigBee.Common.Application.FindGateWaySocket.Stop(); ZigBee.Common.Application.FindGateWaySocket.Start(); this.ShowMassage(ShowMsgType.Tip, "初始化完成"); }); }; rowTemp = this.AddNormalRowControl(string.Empty, 400, string.Empty, 400); btnTemp = new NormalViewControl(600, 100, true); btnTemp.Text = "查看缓存部分"; btnTemp.Gravity = Gravity.Center; btnTemp.TextSize = 16; btnTemp.IsBold = true; btnTemp.TextAlignment = TextAlignment.Center; rowTemp.AddChidren(btnTemp); 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(); }; rowTemp = this.AddNormalRowControl(string.Empty, 400, string.Empty, 400); btnTemp = new NormalViewControl(600, 100, true); btnTemp.Text = "其他部分"; btnTemp.Gravity = Gravity.Center; btnTemp.TextSize = 16; btnTemp.IsBold = true; btnTemp.TextAlignment = TextAlignment.Center; rowTemp.AddChidren(btnTemp); //开启调试功能 if (HdlUserCenterResourse.HideOption.StartDebugApp == 1) { row1 = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(row1); row1.AddLeftCaption("成员列表", 500); row1.AddRightArrow(); row1.AddBottomLine(); row1.ButtonClickEvent += (sender, e) => { var form = new Member.MemberListForm(); 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 HdlBackup.HdlBackupListForm(); form.AddForm(); }; } row1 = new FrameRowControl(listView.rowSpace / 2); row1.UseClickStatu = false; listView.AddChidren(row1); row1.AddLeftCaption("记录定位", 500); row1.AddBottomLine(); var btnGbsSwitch = row1.AddMostRightSwitchIcon(); btnGbsSwitch.ButtonClickEvent += (sender, e) => { if (btnGbsSwitch.IsSelected == true) { btnGbsSwitch.IsSelected = false; HdlUserCenterResourse.HideOption.WriteGpsPoint = 0; return; } this.ShowDialogInputForm("????", string.Empty, "请输入识别码", (contr, value) => { if (value == "542397") { HdlUserCenterResourse.HideOption.WriteGpsPoint = 1; btnGbsSwitch.IsSelected = true; } contr.CloseDialog(); }); }; row1 = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(row1); row1.AddLeftCaption("使用旧的设备获取方式", 600); row1.AddBottomLine(); var btnSwitchDeviceMethord = row1.AddMostRightSwitchIcon(); btnSwitchDeviceMethord.IsSelected = HdlUserCenterResourse.HideOption.UseOldSearchDeviceMethord == 1; btnSwitchDeviceMethord.ButtonClickEvent += (sender, e) => { btnSwitchDeviceMethord.IsSelected = !btnSwitchDeviceMethord.IsSelected; HdlUserCenterResourse.HideOption.UseOldSearchDeviceMethord = btnSwitchDeviceMethord.IsSelected == true ? 1 : 0; }; row1 = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(row1); row1.AddLeftCaption("重置导入标识", 500); row1.AddRightArrow(); row1.AddBottomLine(); row1.ButtonClickEvent += (sender, e) => { this.ShowMassage(ShowMsgType.Confirm, "是否重置这个住宅的导入标识?\r\n重置之后可以再次导入网关", () => { Common.Config.Instance.Home.SendTemplateSuccess = false; Common.Config.Instance.Home.Save(); this.ShowMassage(ShowMsgType.Tip, "重置完成"); }); }; 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 + "秒,是否继续?", () => { HdlGatewayResourse.DicReceiveGatewayTest = new Dictionary(); HdlUserCenterResourse.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; }); //结束 HdlUserCenterResourse.HideOption.CheckCanReceiveGateway = 0; if (HdlGatewayResourse.DicReceiveGatewayTest.Count == 0) { this.ShowMassage(ShowMsgType.Normal, "抱歉,没有广播到任何网关"); return; } HdlThreadLogic.Current.RunMain(() => { var form = new HideOptionGatewayListForm(); form.AddForm(3); }); }); }); }; } #endregion #region ■ 界面关闭___________________________ /// /// 界面关闭 /// public override void CloseFormBefore() { HdlGatewayResourse.DicReceiveGatewayTest = null; HdlUserCenterResourse.HideOption.CheckCanReceiveGateway = 0; HdlUserCenterResourse.HideOption.WriteSendAndReceveDataToFile = 0; HdlUserCenterResourse.HideOption.WriteSocketReceiveDataToFile = 0; base.CloseFormBefore(); } #endregion } }