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