From 7cfcdb7a90f59bf9001c948e166fd9af09752fe1 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 24 五月 2022 17:15:18 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/release0123' into wjc

---
 HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs |  310 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 293 insertions(+), 17 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
index 6d0dd75..b1c8fb3 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
@@ -2,14 +2,16 @@
 using HDL_ON.UI.Music;
 using System.Collections.Generic;
 using Shared;
-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 +19,8 @@
         /// <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();
@@ -191,11 +195,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;
@@ -217,10 +227,13 @@
             };
             vv.AddChidren(fL);
             int line = 0;
+
+
             #endregion
             for (int i = 1, j = 0; i <= videoList.Count; i++, j++)
             {
                 var video = videoList[i - 1];
+             
                 #region
                 var fLayout = new FrameLayout
                 {
@@ -239,6 +252,7 @@
                     UnSelectedImagePath = "VideoIcon/weiqiangji.png",
                 };
                 fLayout.AddChidren(iconBtn);
+
 
                 var deviceNameBtn = new Button
                 {
@@ -267,19 +281,28 @@
                 //闂ㄥ彛鏈虹殑鐐瑰嚮浜嬩欢
                 clickBtn.MouseUpEventHandler += (sender, e) =>
                 {
+                    if (video.devType == "VisitorQrCode")
+                    {
+
+                        return;
+                    }
+                    else if (video.devType == "FaceManagement")
+                    {
+
+                        return;
+                    }
+
                     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();
+
+                    }
+                    else if(video2.devType == "222")
+                    {
+                        ChooseAlarmShow();
+
+
                     }
                     else
                     {
@@ -544,20 +567,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(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.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();
+            }
+
+        }
+
+
     }
 
+    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