陈嘉乐
2021-03-03 25ce81434a6ce69cf10f12d4f5a25ab80a339ba7
HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs
@@ -1,6 +1,8 @@
using System;
using HDL_ON.DAL.Server;
using Shared;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
namespace HDL_ON.UI.UI2.PersonalCenter.PirDevice
{
@@ -9,37 +11,37 @@
        /// <summary>
        /// 添加遥控器的方法
        /// </summary>
        public void AddControl()
        public void AddControl(FrameLayout frameLayout,Action<Control> action)
        {
            View.TipView tipView = new View.TipView();
            tipView.InputBox("", (s, dialog) =>
            tipView.InputBox(frameLayout,"", (name, frame) =>
            {
                ///清除之前列表数据
                Pir.BuottonList.Clear();
                if (!string.IsNullOrEmpty(s))
                if (!string.IsNullOrEmpty(name))
                {
                    Control control = new Control();
                    control.name = s;
                    control.name = name;
                    control.type = "learn";
                    ThreadAddControl(control,dialog);
                    ThreadAddControl(control, frame, action);
                }
            },false);
            }, false);
        }
        /// <summary>
        /// 发送遥控器命令方法
        /// </summary>
        /// <param name="control"></param>
        /// <param name="dialog"></param>
        public void ThreadAddControl(Control control, Dialog dialog) {
        /// <param name="frame"></param>
        public void ThreadAddControl(Control control, FrameLayout frame,Action<Control> action) {
            DAL.Server.ResponsePackNew responsePackNew = null;
            Loading loading = new Loading();
            dialog.AddChidren(loading);
            frame.AddChidren(loading);
            loading.Start();
            new System.Threading.Thread(() =>
            {
@@ -53,31 +55,59 @@
                    Application.RunOnMainThread(() =>
                    {
                        loading.Hide();
                        //if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
                        //{
                            ///这里:监听MTTP推送下来主题,才知道是否添加成功
                            dialog.Close();//添加成功关闭弹窗
                            AddButton addButton = new AddButton();
                            MainPage.BasePageView.AddChidren(addButton);
                            addButton.Show(control);
                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                    if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
                    {
                            if (!string.IsNullOrEmpty(Sid("sid")))
                            {
                                //监听Mqtt推送下来状态码做提示
                                View.FailView failView = new View.FailView();
                                failView.ShouError((view) =>
                                {
                                    view.Close();
                                    ThreadAddControl(control, frame, action);
                                });
                            }
                            else
                            {
                                ///这里:监听MTTP推送下来主题,才知道是否添加成功
                                frame.RemoveFromParent();//添加成功关闭弹窗
                                action(control);
                            }
                            //监听Mqtt推送下来状态码做提示
                            //View.FailView failView = new View.FailView();
                            //failView.ShouError((view) => {
                            //    view.Close();
                            //    ThreadAddControl(control, dialog);
                            //});
                        //}
                        //else
                        //{
                        //    ErrorShow(responsePackNew);
                        //}
                        }
                        else
                        {
                            ErrorShow(responsePackNew);
                        }
                    });
                }
            })
            { IsBackground = true }.Start();
        }
        /// <summary>
        /// MQTT主题推送下来的数据(遥控器添加)
        /// </summary>
        public static string addcontronsid = "";
        /// <summary>
        ///
        /// </summary>
        /// <param name="sid"></param>
        /// <returns></returns>
        public string Sid(string sid)
        {
            var dateTime = DateTime.Now;
            while ((DateTime.Now - dateTime).TotalMilliseconds < 5* 1000)
            {
                if (!string.IsNullOrEmpty(addcontronsid) && addcontronsid == sid)
                {
                    break;
                }
            }
            return addcontronsid;
        }
        /// <summary>
        /// 错误码提示
@@ -97,5 +127,7 @@
            }
        }
    }
}