From bb4bcd1b320502b36d19aacec52ed886a975249a Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 19 七月 2022 11:04:00 +0800
Subject: [PATCH] 1.5.9打包

---
 HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs |  299 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 285 insertions(+), 14 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
index b6fa2c9..d13882a 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
@@ -5,11 +5,14 @@
 using HDL_ON.Stan;
 using ZXing.QrCode.Internal;
 using static HDL_ON.UI.UI2.FuntionControlView.Video.VideoMethod;
+using HDL_ON.UI.CSS;
 
 namespace HDL_ON.UI.UI2.FuntionControlView.Video
 {
     public class VideoMainView : FrameLayout
     {
+        List<Video> xiMoVideoList = new List<Video>();
+
         /// <summary>
         /// 鍔犺浇鍙瀵硅UI
         /// </summary>
@@ -17,6 +20,7 @@
         /// <param name="videoList">鍙瀵硅鍒楄〃</param>
         public void Show(List<CallView> listCall, List<Video> videoList)
         {
+            xiMoVideoList = videoList.FindAll((obj) => obj.spk == "door.gate");
             #region 甯冨眬鐣岄潰
             this.BackgroundColor = MusicColor.ViewColor;
             var topView = new TopView();
@@ -198,11 +202,17 @@
             };
             bjFl.AddChidren(vv);
 
-            bool bol = haveFlVideo(videoList);
+            bool bol = haveQRCodeVideo(videoList);
             if (bol)
             {
                 //闂ㄧ浜岀淮鐮佸浐瀹氭湁鐨�,铏氭嫙涓�涓嚭鏉�
-                videoList.Add(new Video { deviceName = Language.StringByID(StringId.menjinerweima), interphoneType = "100" });
+                videoList.Add(new Video { deviceName = Language.StringByID(StringId.menjinerweima), interphoneType = "100" ,devType = "100" });
+            }
+            if (xiMoVideoList.Count > 0)
+            {
+                //寰樺緤鎶ヨ
+                videoList.Add(new Video { deviceName = Language.StringByID(StringId.WanderingAlarm), interphoneType = "222", devType = "222" });
+
             }
             //鏁扮粍涓暟
             //int value = 15;
@@ -277,16 +287,24 @@
                     var video2 = clickBtn.Tag as Video;
                     if (video2.devType == "100")
                     {
-                        //闂ㄧ浜岀淮鐮佸浐瀹氭湁鐨�
-                        VideoSend.GetQRcode(this, video2, (tag, paw) =>
-                        {
-                            if (tag)
-                            {
-                                //娉ㄦ剰锛氬瘑鐮佹湁鍙兘寤舵椂1鍒嗛挓鐢熸晥
-                                View.ShowDialog showDialog = new View.ShowDialog();
-                                showDialog.QRcode(paw);
-                            }
-                        });
+                        ChooseVideoShowQRCode();
+
+                        ////闂ㄧ浜岀淮鐮佸浐瀹氭湁鐨�
+                        //VideoSend.GetQRcode(this, video2, (tag, paw) =>
+                        //{
+                        //    if (tag)
+                        //    {
+                        //        //娉ㄦ剰锛氬瘑鐮佹湁鍙兘寤舵椂1鍒嗛挓鐢熸晥
+                        //        View.ShowDialog showDialog = new View.ShowDialog();
+                        //        showDialog.QRcode(paw);
+                        //    }
+                        //});
+                    }
+                    else if (video2.devType == "222")
+                    {
+                        ChooseAlarmShow();
+
+
                     }
                     else
                     {
@@ -553,20 +571,273 @@
 
 
         //鍒ゆ柇鏄惁鏈� 涓版灄鍙瀵硅
-        private bool haveFlVideo(List<Video> videoList)
+        private bool haveQRCodeVideo(List<Video> videoList)
         {
             bool bol = false;
 
             for (int i = 0; i < videoList.Count; i++)
             {
                 var _video = videoList[i];
-                if (_video.interphoneType == "FLVI")
+                if (_video.interphoneType == "FLVI" || _video.spk == "door.gate")
                     return true;
             }
 
             return bol;
         }
 
+        /// <summary>
+        /// 鑾峰彇闂ㄧ浜岀淮鐮�
+        /// </summary>
+        public void ChooseVideoShowQRCode()
+        {
+            Dialog dialog = new Dialog()
+            {
+                BackgroundColor = CSS_Color.DialogTransparentColor1,
+            };
+
+            FrameLayout dialogView = new FrameLayout();
+            dialog.AddChidren(dialogView);
+            dialogView.MouseUpEventHandler = (sender, e) => {
+                dialog.Close();
+            };
+
+            var contentView = new FrameLayout()
+            {
+                Gravity = Gravity.Center,
+                Width = Application.GetRealWidth(270),
+                Height = Application.GetRealHeight(200),
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+                BorderColor = 0x00000000,
+                BorderWidth = 0,
+                Radius = (uint)Application.GetMinRealAverage(10),
+            };
+            dialogView.AddChidren(contentView);
+
+            var btnTitle = new Button()
+            {
+                Height = Application.GetRealHeight(64),
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextID = StringId.menjinerweima,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+            };
+            contentView.AddChidren(btnTitle);
+
+            var listView = new VerticalScrolViewLayout()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealHeight(70),
+                Width = Application.GetRealWidth(230),
+                Height = Application.GetRealHeight(200),
+            };
+            contentView.AddChidren(listView);
+
+            //if (ximoVideoList.Count == 1)
+            {
+                Loading loading = new Loading();
+                contentView.AddChidren(loading);
+                loading.Start("");
+                new System.Threading.Thread(() =>
+                {
+                    try
+                    {
+                        var pack = VideoSend.GetQRcode();
+                        var pairs = Newtonsoft.Json.JsonConvert.DeserializeObject<List<AccessControlQRode>>(pack.Data.ToString());
+                        if (pairs.Count > 0)
+                        {
+                            Application.RunOnMainThread(() =>
+                            {
+                                ImageView codeImage = new ImageView()
+                                {
+                                    Gravity = Gravity.Center,
+                                    Height = Application.GetRealWidth(320),
+                                    Width = Application.GetRealWidth(320),
+                                    ImageBytes = Scan.BytesFromText(pairs[0].qrcode, Application.GetRealWidth(200), Application.GetRealWidth(200)),
+                                };
+                                dialogView.AddChidren(codeImage);
+                            });
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                        MainPage.Log($"鑾峰彇闂ㄧ浜岀淮鐮佸紓甯革細{ex.Message}");
+                    }
+                    finally
+                    {
+                        Application.RunOnMainThread(() =>
+                        {
+                            if (loading != null)
+                            {
+                                loading.Hide();
+                                loading.RemoveFromParent();
+                            }
+                        });
+                    }
+                })
+                { IsBackground = true }.Start();
+            }
+            //else
+            //{
+
+            //    foreach (var v in ximoVideoList)
+            //    {
+            //        Button btnMsg = new Button()
+            //        {
+            //            Gravity = Gravity.CenterHorizontal,
+            //            Height = Application.GetRealHeight(50),
+            //            Width = Application.GetRealHeight(160),
+            //            TextAlignment = TextAlignment.Center,
+            //            TextColor = CSS_Color.TextualColor,
+            //            TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+            //            Text = v.deviceName,
+            //            Radius = (uint)Application.GetRealWidth(5),
+            //            BackgroundColor = CSS_Color.DividingLineColor,
+            //            IsMoreLines = true,
+            //        };
+            //        listView.AddChidren(btnMsg);
+
+            //        listView.AddChidren(new Button() { Height = Application.GetRealHeight(12) });
+
+            //        btnMsg.MouseUpEventHandler = (sender, e) =>
+            //        {
+
+
+            //            if (v.spk == "door.gate")
+            //            {
+
+            //                return;
+            //            }
+
+            //            //闂ㄧ浜岀淮鐮佸浐瀹氭湁鐨�
+            //            VideoSend.GetQRcode(this, v, (tag, paw) =>
+            //            {
+            //                if (tag)
+            //                {
+            //                //娉ㄦ剰锛氬瘑鐮佹湁鍙兘寤舵椂1鍒嗛挓鐢熸晥
+            //                View.ShowDialog showDialog = new View.ShowDialog();
+            //                    showDialog.QRcode(paw);
+            //                }
+            //            });
+            //            dialog.Close();
+            //        };
+            //    }
+            //}
+            dialog.Show();
+
+        }
+
+
+        /// <summary>
+        /// 閫夋嫨寰樺緤鎶ヨ鍒楄〃鏄剧ず
+        /// </summary>
+        public void ChooseAlarmShow()
+        {
+            if (xiMoVideoList.Count == 1)
+            {
+                var wanderingAlarmPage = new WanderingAlarmPage(xiMoVideoList[0].deviceId);
+                MainPage.BasePageView.AddChidren(wanderingAlarmPage);
+                wanderingAlarmPage.LoadPage();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+            }
+            else
+            {
+                Dialog dialog = new Dialog()
+                {
+                    BackgroundColor = CSS_Color.DialogTransparentColor1,
+                };
+
+                FrameLayout dialogView = new FrameLayout();
+                dialog.AddChidren(dialogView);
+                dialogView.MouseUpEventHandler = (sender, e) =>
+                {
+                    dialog.Close();
+                };
+
+                var contentView = new FrameLayout()
+                {
+                    Gravity = Gravity.Center,
+                    Width = Application.GetRealWidth(270),
+                    Height = Application.GetRealHeight(280),
+                    BackgroundColor = CSS_Color.MainBackgroundColor,
+                    BorderColor = 0x00000000,
+                    BorderWidth = 0,
+                    Radius = (uint)Application.GetMinRealAverage(10),
+                };
+                dialogView.AddChidren(contentView);
+
+                var btnTitle = new Button()
+                {
+                    Height = Application.GetRealHeight(64),
+                    TextAlignment = TextAlignment.Center,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    TextID = StringId.WanderingAlarm,
+                    TextSize = CSS_FontSize.SubheadingFontSize,
+                };
+                contentView.AddChidren(btnTitle);
+
+                var listView = new VerticalScrolViewLayout()
+                {
+                    Gravity = Gravity.CenterHorizontal,
+                    Y = Application.GetRealHeight(70),
+                    Width = Application.GetRealWidth(230),
+                    Height = Application.GetRealHeight(200),
+                };
+                contentView.AddChidren(listView);
+
+
+                foreach (var v in xiMoVideoList)
+                {
+                    Button btnMsg = new Button()
+                    {
+                        Gravity = Gravity.CenterHorizontal,
+                        Height = Application.GetRealHeight(50),
+                        Width = Application.GetRealHeight(160),
+                        TextAlignment = TextAlignment.Center,
+                        TextColor = CSS_Color.TextualColor,
+                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                        Text = v.deviceName,
+                        Radius = (uint)Application.GetRealWidth(5),
+                        BackgroundColor = CSS_Color.DividingLineColor,
+                        IsMoreLines = true,
+                    };
+                    listView.AddChidren(btnMsg);
+
+                    listView.AddChidren(new Button() { Height = Application.GetRealHeight(12) });
+
+                    btnMsg.MouseUpEventHandler = (sender, e) =>
+                    {
+
+
+                        var wanderingAlarmPage = new WanderingAlarmPage(v.deviceId);
+                        MainPage.BasePageView.AddChidren(wanderingAlarmPage);
+                        wanderingAlarmPage.LoadPage();
+                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+                        dialog.Close();
+                    };
+                }
+                dialog.Show();
+            }
+
+        }
+
     }
 
+    /// <summary>
+    /// 闂ㄧ浜岀淮鐮佹暟鎹�
+    /// </summary>
+    public class AccessControlQRode
+    {
+        public string title = string.Empty;
+        public string codeType = string.Empty;
+        public string userName = string.Empty;
+        public string houseFullName = string.Empty;
+        public string communityName = string.Empty;
+        public string desc = string.Empty;
+        public string businessType = string.Empty;
+        public string qrcode = string.Empty;
+    }
+
+
 }

--
Gitblit v1.8.0