xm
2020-07-21 9a4b76398009cf76c508d61f7e48fb6f5cb7ac2d
ZigbeeApp/Shared/Phone/UserCenter/HideOption/HideOptionMainForm.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Text;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.HideOption
{
@@ -54,7 +55,7 @@
            this.AddTopButtomRowControl("住宅ID", 400, Common.Config.Instance.Home.Id, 900);
            this.AddTopButtomRowControl("账号GUID", 400, Common.Config.Instance.Home.MainUserDistributedMark, 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);
@@ -66,29 +67,20 @@
            this.AddNormalRowControl("WIFI变量", 400, Shared.Application.IsWifi == true ? "true" : "false", 400);
            int count = HdlGatewayLogic.Current.GetAllLocalGateway().Count;
            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 = 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(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);
            row1.AddLeftCaption("广播到的网关", 400);
            if (count > 0)
            {
                row1.UseClickStatu = true;
@@ -102,27 +94,105 @@
            row1.AddMostRightView(count + "个", 400);
            row1.AddBottomLine();
            //检测能否广播得到网关
            this.AddCheckReceviceGatewayRow();
            row1 = new FrameRowControl(listView.rowSpace / 2);
            listView.AddChidren(row1);
            row1.AddLeftCaption("清除缓存文件", 500);
            row1.AddLeftCaption("查看缓存文件", 500);
            row1.AddRightArrow();
            row1.AddBottomLine();
            row1.ButtonClickEvent += (sender, e) =>
            {
                this.ShowMassage(ShowMsgType.Confirm, "是否清除缓存文件", () =>
                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)
                {
                    var myPath = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory);
                    try
                    this.ShowMassage(ShowMsgType.Confirm, "是否打开记录发送及接收数据的记录?", () =>
                    {
                        System.IO.Directory.Delete(myPath, true);
                        System.IO.Directory.CreateDirectory(myPath);
                        this.ShowMassage(ShowMsgType.Tip, "清除缓存文件完成,请重新登陆");
                        UserCenterLogic.ReLoginAgain(UserCenterResourse.UserInfo.Account);
                    }
                    catch (Exception ex)
                        btnSwitchLog.IsSelected = true;
                        HdlFileLogic.Current.DeleteFile(DirNameResourse.SendAndReceveDataLog);
                        UserCenterResourse.HideOption.WriteSendAndReceveDataToFile = 1;
                    });
                }
                else
                {
                    UserCenterResourse.HideOption.WriteSendAndReceveDataToFile = 0;
                    btnSwitchLog.IsSelected = false;
                    var txtvalue = HdlFileLogic.Current.ReadFileTextContent(DirNameResourse.SendAndReceveDataLog);
                    if (txtvalue != null)
                    {
                        this.ShowMassage(ShowMsgType.Error, "清除缓存文件异常");
                        HdlLogLogic.Current.WriteLog(ex, "清除缓存文件异常");
                        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(DirNameResourse.SocketReceiveDataLog);
                        UserCenterResourse.HideOption.WriteSocketReceiveDataToFile = 1;
                    });
                }
                else
                {
                    UserCenterResourse.HideOption.WriteSocketReceiveDataToFile = 0;
                    btnSocketReceiveLog.IsSelected = false;
                    var txtvalue = HdlFileLogic.Current.ReadFileTextContent(DirNameResourse.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, "初始化完成");
                });
            };
@@ -134,9 +204,9 @@
            {
                this.ShowMassage(ShowMsgType.Confirm, "是否上传Log文件", () =>
                {
                    HdlThreadLogic.Current.RunThread(async () =>
                    HdlThreadLogic.Current.RunThread(() =>
                    {
                        await HdlBackupLogic.Current.UpLoadLogBackup();
                        HdlBackupLogic.Current.UpLoadLogBackup();
                    });
                });
            };
@@ -182,6 +252,73 @@
            return row1;
        }
        /// <summary>
        /// 检测能否广播得到网关
        /// </summary>
        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<string, ZbGateway>();
                    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 ■ 界面关闭___________________________
        /// <summary>
        /// 界面关闭
        /// </summary>
        public override void CloseFormBefore()
        {
            UserCenterResourse.DicReceiveGatewayTest = null;
            UserCenterResourse.HideOption.CheckCanReceiveGateway = 0;
            UserCenterResourse.HideOption.WriteSendAndReceveDataToFile = 0;
            UserCenterResourse.HideOption.WriteSocketReceiveDataToFile = 0;
            base.CloseFormBefore();
        }
        #endregion
    }
}