From 7b96ea115d51fb721130fef8622500740dea7b08 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 25 八月 2022 18:06:29 +0800
Subject: [PATCH] 2022年08月25日18:06:27
---
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