From f9181a9c8125136f597add7c30cb2ff508d54ba7 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 25 七月 2024 17:34:32 +0800
Subject: [PATCH] 2024年07月25日17:33:40

---
 HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/Iot_AuthorizedPage.cs |  163 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 157 insertions(+), 6 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/Iot_AuthorizedPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/Iot_AuthorizedPage.cs
index 366aa1d..273b751 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/Iot_AuthorizedPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/Iot_AuthorizedPage.cs
@@ -2,6 +2,7 @@
 using Shared;
 using HDL_ON.Entity;
 using HDL_ON.DAL.Server;
+using HDL_ON.UI.CSS;
 
 namespace HDL_ON.UI
 {
@@ -11,24 +12,174 @@
 
         IntegratedBrand_Iot brand_Iot;
 
-        public Iot_AuthorizedPage(IntegratedBrand_Iot brand)
+        Action boudedAction;
+
+        public Iot_AuthorizedPage(IntegratedBrand_Iot brand,Action action)
         {
             brand_Iot = brand;
+            boudedAction = action;
+        }
+
+        
+
+        public void LoadView()
+        {
+            //楂樿儨璇翠笉闇�瑕佹嫾鎺rl 2023骞�08鏈�22鏃�10:19:50
+            //string url = brand_Iot.authorizationUrl + $"?companyId={brand_Iot.companyId}&openUId={UserInfo.Current.ID}&client_id={brand_Iot.clientId}";
+            string url = brand_Iot.authorizationUrl;
+            var dd = new WebViewDialog(()=> {
+                UnsubscribeAsync3tyIotbind();
+            });
+            dd.LoadPage("", url);
+            DAL.Mqtt.MqttClient.Bind3tyIotAction = () => {
+                UnsubscribeAsync3tyIotbind();
+                Application.RunOnMainThread(() =>
+                {
+                    //http.Search3tyIotDevice(brand_Iot.companyId);
+                    boudedAction?.Invoke();
+                    dd.Close();
+
+
+
+                    {
+                        Dialog dialog = new Dialog()
+                        {
+                            BackgroundColor = CSS_Color.DialogTransparentColor1,
+                        };
+
+                        FrameLayout contentView = new FrameLayout()
+                        {
+                            Gravity = Gravity.Center,
+                            Width = Application.GetRealWidth(305),
+                            Height = Application.GetRealHeight(180),
+                            BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
+                            BorderColor = 0x00000000,
+                            BorderWidth = 0,
+                            Radius = (uint)Application.GetMinRealAverage(10),
+                        };
+                        dialog.AddChidren(contentView);
+
+                        Button btnTitle = new Button()
+                        {
+                            Gravity = Gravity.CenterHorizontal,
+                            Y = Application.GetRealHeight(10),
+                            Height = Application.GetRealHeight(38),
+                            TextAlignment = TextAlignment.Center,
+                            IsBold = true,
+                            TextColor = 0xFF222222,
+                            TextSize = CSS_FontSize.SubheadingFontSize,
+                            TextID = StringId.Tip
+                        };
+                        contentView.AddChidren(btnTitle);
+
+                        Button btnMsg = new Button()
+                        {
+                            Gravity = Gravity.CenterHorizontal,
+                            Height = Application.GetRealHeight(70),
+                            Y = Application.GetRealHeight(55),
+                            TextAlignment = TextAlignment.TopCenter,
+                            TextColor = CSS_Color.FirstLevelTitleColor,
+                            TextSize = CSS_FontSize.SubheadingFontSize,
+                            Padding = new Padding(0, Application.GetRealWidth(16), 0, Application.GetRealWidth(16)),
+                            TextID = StringId.BindIotAccountTip,
+                            IsMoreLines = true,
+                        };
+                        contentView.AddChidren(btnMsg);
+
+                        Button btnLine = new Button()
+                        {
+                            Y = Application.GetRealHeight(125),
+                            Height = Application.GetRealHeight(1),
+                            BackgroundColor = CSS.CSS_Color.DividingLineColor,
+                        };
+                        contentView.AddChidren(btnLine);
+
+                        Button btnConfirm = new Button()
+                        {
+                            Y = btnLine.Bottom,
+                            Height = Application.GetRealHeight(55),
+                            TextAlignment = TextAlignment.Center,
+                            TextColor = CSS_Color.MainColor,
+                            TextSize = CSS_FontSize.SubheadingFontSize,
+                            SelectedTextColor = CSS_Color.MainBackgroundColor,
+                            SelectedBackgroundColor = CSS_Color.MainColor,
+                            TextID = StringId.Confirm,
+                        };
+                        btnConfirm.SetCornerWithSameRadius(Application.GetMinRealAverage(10), HDLUtils.RectCornerBottomLeft);
+                        btnConfirm.SetCornerWithSameRadius(Application.GetMinRealAverage(10), HDLUtils.RectCornerBottomRight);
+                        contentView.AddChidren(btnConfirm);
+
+                        dialog.Show();
+
+                        btnConfirm.MouseDownEventHandler += (sender, e) =>
+                        {
+                            btnConfirm.IsSelected = true;
+                        };
+                        btnConfirm.MouseUpEventHandler += (sender, e) =>
+                        {
+                            dialog.Close();
+                        };
+
+                    }
+
+
+
+                });
+            };
+            SubscribeAsync3tyIotbind();
         }
 
         /// <summary>
-        /// 鎼滅储绗笁鏂硅澶�
+        /// 璁㈤槄缁戝畾绗笁鏂筰ot璐﹀彿缁撴灉
         /// </summary>
-        private void SearchDevice()
+        private void SubscribeAsync3tyIotbind()
         {
-            var pack = http.Search3tyIotDevice(brand_Iot.companyId);
-            if(pack!= null)
+            new System.Threading.Thread(async () =>
             {
+                try
+                {
+                    var result = await DAL.Mqtt.MqttClient.SubscribeAsync3tyIotbind();
+                }
+                catch { }
+                finally
+                {
 
-            }
+                }
+            })
+            { IsBackground = true }.Start();
         }
 
         /// <summary>
+        /// 鍙栨秷璁㈤槄缁戝畾绗笁鏂筰ot璐﹀彿缁撴灉
+        /// </summary>
+        private void UnsubscribeAsync3tyIotbind()
+        {
+            new System.Threading.Thread(async () =>
+            {
+                try
+                {
+                    var result = await DAL.Mqtt.MqttClient.UnsubscribeAsync3tyIotbind();
+                }
+                catch { }
+                finally
+                {
+
+                }
+            })
+            { IsBackground = true }.Start();
+        }
+        ///// <summary>
+        ///// 鎼滅储绗笁鏂硅澶�
+        ///// </summary>
+        //private void SearchDevice()
+        //{
+        //    var pack = http.Search3tyIotDevice(brand_Iot.companyId);
+        //    if(pack!= null)
+        //    {
+        //    }
+        //}
+
+        /// <summary>
         /// 鑾峰彇绗笁鏂瑰姛鑳藉垪琛�
         /// </summary>
         private void GetFunction()

--
Gitblit v1.8.0