陈嘉乐
2021-03-02 08a8afe782cd499550f94f3da0ba5788e1e12971
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,43 +11,43 @@
        /// <summary>
        /// 添加遥控器的方法
        /// </summary>
        public void AddControl()
        public void AddControl(FrameLayout frameLayout)
        {
            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,false);
                }
            },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,bool bool_library) {
            DAL.Server.ResponsePackNew responsePackNew = null;
            Loading loading = new Loading();
            dialog.AddChidren(loading);
            frame.AddChidren(loading);
            loading.Start();
            new System.Threading.Thread(() =>
            {
                try
                {
                    responsePackNew = PirSend.Add(control);
                    responsePackNew = PirSend.Add(control, bool_library);
                }
                catch { }
                finally
@@ -55,19 +57,32 @@
                        loading.Hide();
                        //if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
                        //{
                            ///这里:监听MTTP推送下来主题,才知道是否添加成功
                            dialog.Close();//添加成功关闭弹窗
                        if (!string.IsNullOrEmpty(Sid("sid"))) { }
                        ///这里:监听MTTP推送下来主题,才知道是否添加成功
                        frame.RemoveFromParent();//添加成功关闭弹窗
                        if (bool_library) {
                            MainPage.BasePageView.RemoveViewByTag("PirView");
                            AddControlComplete addControlComplete = new AddControlComplete();
                            MainPage.BasePageView.AddChidren(addControlComplete);
                            addControlComplete.Show(control, bool_library);
                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        }
                        else
                        {
                            AddButton addButton = new AddButton();
                            MainPage.BasePageView.AddChidren(addButton);
                            addButton.Show(control);
                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        }
                            //监听Mqtt推送下来状态码做提示
                            //View.FailView failView = new View.FailView();
                            //failView.ShouError((view) => {
                            //    view.Close();
                            //    ThreadAddControl(control, dialog);
                            //});
                        //监听Mqtt推送下来状态码做提示
                        //View.FailView failView = new View.FailView();
                        //failView.ShouError((view) => {
                        //    view.Close();
                        //    ThreadAddControl(control, dialog);
                        //});
                        //}
                        //else
                        //{
@@ -78,6 +93,29 @@
            })
            { 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 +135,7 @@
            }
        }
    }
}