wxr
2021-03-16 b4d92451b2071c9762b519275601424e276db90d
HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs
@@ -317,13 +317,49 @@
        /// <summary>
        /// 刷新红外宝信息
        /// </summary>
        private void RefreshMiniRemoteControlInfo()
        /// <param name="successEvent">成功的回调事件</param>
        private void RefreshMiniRemoteControlInfo(Action successEvent)
        {
            var pra = new Dictionary<string, object>();
            pra.Add("homeId", Entity.DB_ResidenceData.Instance.CurrentRegion.RegionID);
            pra.Add("spk", Entity.SPK.IrModule);
            var requestJson = DAL.Server.HttpUtil.GetSignRequestJson(pra);
            DAL.Server.HttpUtil.RequestHttpsPostFroHome(DAL.Server.NewAPI.Api_Post_GetDevcieList, requestJson);
            HdlThreadLogic.Current.RunThread(() =>
            {
                int count = 0;
                while (this.Parent != null)
                {
                    try
                    {
                        //超过5次都不成功,真不处理了
                        count++;
                        if (count > 5) { return; }
                        //获取全部红外宝列表
                        var result = DAL.Server.HttpUtil.RequestHttpsPostFroHome(DAL.Server.NewAPI.Api_Post_GetDevcieList, requestJson);
                        if (result == null || result.Code != DAL.Server.StateCode.SUCCESS)
                        {
                            System.Threading.Thread.Sleep(3000);
                            continue;
                        }
                        var listDevice = Newtonsoft.Json.JsonConvert.DeserializeObject<Entity.DevcieApiPack>(result.Data.ToString());
                        foreach (var newFunction in listDevice.list)
                        {
                            //添加到缓存当中
                            newFunction.SaveFunctionFile();
                            Entity.FunctionList.List.IniFunctionList(newFunction.savePath, true);
                        }
                        //调用回调函数
                        successEvent?.Invoke();
                        return;
                    }
                    catch
                    {
                        System.Threading.Thread.Sleep(3000);
                    }
                }
            });
        }
        #endregion
@@ -343,15 +379,16 @@
                return;
            }
            //刷新红外宝信息
            this.RefreshMiniRemoteControlInfo();
            this.RefreshMiniRemoteControlInfo(() =>
            {
                //移除这个事件
                HdlCloudReceiveLogic.Current.RemoveCloudReceiveEvent("AddMiniRemoteControlDirection4Page");
                //停止线程
                this.timeoutThreadActivity = false;
            //接收到就移除这个事件
            HdlCloudReceiveLogic.Current.RemoveCloudReceiveEvent("AddMiniRemoteControlDirection4Page");
            //停止线程
            this.timeoutThreadActivity = false;
            //添加设备成功之后,处理一些东西
            this.DoSomethingAfterAddDeviceSuccess();
                //添加设备成功之后,处理一些东西
                this.DoSomethingAfterAddDeviceSuccess();
            });
        }
        /// <summary>