HDL Home App 第二版本 旧平台金堂用 正在使用
hxb
2022-08-30 25429f085093d89d543a0b90e30d0d62d1b7dac9
ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/MiniGatewaySearchForm.cs
@@ -54,16 +54,28 @@
            //清空bodyFrame
            this.ClearBodyFrame();
            //网关如果正常连接路由器{0}系统指示灯会1秒闪烁
            string[] ArryMsg = Language.StringByID(R.MyInternationalizationString.uAddApWirelessGatewayMsg4).Split(new string[] { "{0}" }, StringSplitOptions.RemoveEmptyEntries);
            int yy = Application.GetRealHeight(1066);
            //手机连接网关
            var btnTitle = new NormalViewControl(400, 60, true);
            btnTitle.TextID = R.MyInternationalizationString.uMobileConnectionGateway;
            btnTitle.X = Application.GetRealWidth(75);
            btnTitle.Y = Application.GetRealHeight(939);
            btnTitle.IsBold = true;
            btnTitle.TextSize = 14;
            bodyFrameLayout.AddChidren(btnTitle);
            //1.app若显示连接的网关设备,表明连接成功
            //2.请前往添加其他设备
            //3.若长时间无法连接成功,请前往“查看帮助”
            string[] ArryMsg = Language.StringByID(R.MyInternationalizationString.uAddMiniGatewayMsg4).Split(new string[] { "{0}" }, StringSplitOptions.RemoveEmptyEntries);
            int yy = btnTitle.Bottom + Application.GetRealHeight(23);
            foreach (var msg in ArryMsg)
            {
                var btnMsg = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false);
                btnMsg.Text = msg;
                btnMsg.Y = yy;
                btnMsg.TextAlignment = TextAlignment.Center;
                btnMsg.X = btnTitle.X;
                btnMsg.TextColor = UserCenterColor.Current.TextGrayColor1;
                btnMsg.TextSize = 12;
                bodyFrameLayout.AddChidren(btnMsg);
                yy = btnMsg.Bottom;
            }
@@ -72,6 +84,14 @@
            this.InitConcetionAnimete();
            //开启网关检测的线程
            this.StartCheckGatewayThread();
            //查看帮助
            var btnHelp = this.AddHelpControl();
            btnHelp.ButtonClickEvent += (sender, e) =>
            {
                var form = new AddGatewayHelpForm();
                form.AddForm("Mini");
            };
        }
        /// <summary>
@@ -84,25 +104,25 @@
            //图标
            var picGwImage = new FrameLayout();
            picGwImage.Width = this.GetPictrueRealSize(857);
            picGwImage.Height = this.GetPictrueRealSize(239);
            picGwImage.Y = Application.GetRealWidth(236);
            picGwImage.Width = this.GetPictrueRealSize(848);
            picGwImage.Height = this.GetPictrueRealSize(475);
            picGwImage.Y = Application.GetRealHeight(199);
            picGwImage.Gravity = Gravity.CenterHorizontal;
            picGwImage.BackgroundImagePath = "Gateway/MiniGatewaySearching.png";
            picGwImage.BackgroundImagePath = "Gateway/WirelessGatewaySearching.png";
            bodyFrameLayout.AddChidren(picGwImage);
            var btnFailIcon = new PicViewControl(66, 66);
            btnFailIcon.UnSelectedImagePath = "Item/FailIcon.png";
            btnFailIcon.Gravity = Gravity.CenterHorizontal;
            btnFailIcon.Y = this.GetPictrueRealSize(110);
            btnFailIcon.Y = this.GetPictrueRealSize(200);
            picGwImage.AddChidren(btnFailIcon);
            //搜索失败
            var btnFailView = new NormalViewControl(300, 60, true);
            btnFailView.TextAlignment = TextAlignment.Center;
            btnFailView.Y = picGwImage.Bottom - Application.GetRealHeight(15);
            btnFailView.Y = btnFailIcon.Bottom + Application.GetRealHeight(58);
            btnFailView.Gravity = Gravity.CenterHorizontal;
            btnFailView.TextColor = UserCenterColor.Current.TextGrayColor3;
            btnFailView.TextID = R.MyInternationalizationString.uSearchFail;
            bodyFrameLayout.AddChidren(btnFailView);
            picGwImage.AddChidren(btnFailView);
            //解决方法,可选择执行以下任意一种方式:
            var btnMsg1 = new NormalViewControl(930, 60, true);
@@ -198,23 +218,23 @@
        {
            //图标
            var btnGwImage = new FrameLayout();
            btnGwImage.Width = this.GetPictrueRealSize(857);
            btnGwImage.Height = this.GetPictrueRealSize(239);
            btnGwImage.Y = Application.GetRealHeight(360);
            btnGwImage.Width = this.GetPictrueRealSize(848);
            btnGwImage.Height = this.GetPictrueRealSize(475);
            btnGwImage.Y = Application.GetRealHeight(199);
            btnGwImage.Gravity = Gravity.CenterHorizontal;
            btnGwImage.BackgroundImagePath = "Gateway/MiniGatewaySearching.png";
            btnGwImage.BackgroundImagePath = "Gateway/WirelessGatewaySearching.png";
            bodyFrameLayout.AddChidren(btnGwImage);
            //正在搜索网关…
            var btnMsg = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(60), false);
            btnMsg.TextID = R.MyInternationalizationString.uGatewaySearching;
            btnMsg.Y = Application.GetRealHeight(821);
            btnMsg.Y = btnGwImage.Bottom + Application.GetRealHeight(150);
            btnMsg.TextColor = UserCenterColor.Current.TextGrayColor3;
            btnMsg.TextAlignment = TextAlignment.Center;
            bodyFrameLayout.AddChidren(btnMsg);
            //首格的X轴
            int firstPoint = this.GetPictrueRealSize(275);
            int firstPoint = this.GetPictrueRealSize(280);
            //一格的宽度
            int width = this.GetPictrueRealSize(22);
            //间距大小
@@ -231,7 +251,7 @@
            var btnRound = new PicViewControl(width, width, false);
            btnRound.Radius = (uint)width / 2;
            btnRound.BackgroundColor = UserCenterColor.Current.ConcetionRoundColor;
            btnRound.Y = this.GetPictrueRealSize(132);
            btnRound.Y = this.GetPictrueRealSize(225);
            btnRound.X = listPoint[0];
            btnGwImage.AddChidren(btnRound);
@@ -239,7 +259,7 @@
            HdlThreadLogic.Current.RunThread(() =>
            {
                //清空全部列表
                HdlGatewayLogic.Current.ClearAllRealGateway();
                HdlGatewayLogic.Current.ClearAllRealGatewayConection(true);
                ZigBee.Common.Application.IsSearchingGateway = true;
                int index = 1;
@@ -253,7 +273,7 @@
                    if (timeCount == 10)
                    {
                        //5秒后清空网关列表
                        HdlGatewayLogic.Current.ClearAllRealGateway();
                        HdlGatewayLogic.Current.ClearAllRealGatewayConection(true);
                        ZigBee.Common.Application.IsSearchingGateway = true;
                    }
                    if (timeCount % 2 == 0)
@@ -316,7 +336,9 @@
        private void StartCheckGatewayThread()
        {
            this.isGatewaySearching = true;
            HdlThreadLogic.Current.RunThread(async () =>
            this.dicZbGatewayDiv = new Dictionary<string, int>();
            HdlThreadLogic.Current.RunThread(() =>
            {
                int count = 0;
                while (this.Parent != null && this.isGatewaySearching == true)
@@ -331,7 +353,7 @@
                    }
                    count = 0;
                    await this.CheckZbGatewayAndSetRow();
                    this.CheckZbGatewayAndSetRow();
                    if (this.newGatewayGetting == true)
                    {
@@ -345,15 +367,23 @@
        /// <summary>
        /// 检测搜索到的网关
        /// </summary>
        private async Task<bool> CheckZbGatewayAndSetRow()
        private bool CheckZbGatewayAndSetRow()
        {
            for (int i = 0; i < ZbGateway.GateWayList.Count; i++)
            {
                var way = ZbGateway.GateWayList[i];
                var wayId = way.GwId;
                if (dicZbGatewayDiv.ContainsKey(wayId) == true)
                {
                    //已经处理了
                    continue;
                }
                //2020.09.18 本地连接没有连接上,则不处理
                if (way.localIsConnected == false)
                {
                    string strMsg = "搜索到了网关,但是本地链接不上  ID:" + way.GwId + " IP:" + way.GwIP + " 名称:" + way.GwName;
                    HdlLogLogic.Current.WriteLog(-1, strMsg);
                    continue;
                }
@@ -383,7 +413,7 @@
                if (mode == GatewayBindMode.First || mode == GatewayBindMode.Binded)
                {
                    //添加搜索到的网关到缓存(执行网关保存操作)
                    var result = await HdlGatewayLogic.Current.AddNewGateway(way, ShowErrorMode.NO);
                    var result = HdlGatewayLogic.Current.AddNewGateway(way, ShowErrorMode.NO, WriteLogMode.YES);
                    if (result == false)
                    {
                        continue;
@@ -416,7 +446,7 @@
                if (mode == GatewayBindMode.First || mode == GatewayBindMode.Binded)
                {
                    //我觉得这里需要获取一下新网关的设备列表
                    Common.LocalDevice.Current.SetDeviceToMemmoryByGateway(way, true);
                    Common.LocalDevice.Current.SetDeviceToMemmoryByGateway(way.GwId, true);
                    if (way.IsMainGateWay == true)
                    {
                        //如果它是主网关,则刷新场景列表