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/WanderingAlarmPage.cs | 231 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 231 insertions(+), 0 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/WanderingAlarmPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/WanderingAlarmPage.cs new file mode 100644 index 0000000..d6b5a5e --- /dev/null +++ b/HDL_ON/UI/UI2/FuntionControlView/Video/WanderingAlarmPage.cs @@ -0,0 +1,231 @@ +锘縰sing System; +using System.Collections.Generic; +using HDL_ON.DAL.Server; +using HDL_ON.UI.CSS; +using Shared; +namespace HDL_ON.UI.UI2.FuntionControlView.Video +{ + public class WanderingAlarmPage : FrameLayout + { + FrameLayout bodyView; + string deviceId; + public WanderingAlarmPage(string deviceId) + { + bodyView = this; + this.deviceId = deviceId; + } + + VerticalScrolViewLayout contentView; + + public void LoadPage() + { + bodyView.BackgroundColor = CSS_Color.MainBackgroundColor; + new TopViewDiv(bodyView, Language.StringByID(StringId.WanderingAlarm)).LoadTopView(); + + var btnTipMsg = new Button() + { + Y = Application.GetRealHeight(64), + X = Application.GetRealWidth(20), + Height = Application.GetRealHeight(58), + Width = Application.GetRealWidth(318), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + Text = "*鍙瀵硅鍙互鑷姩璇嗗埆闂ㄥ彛鍙枒浜哄憳锛屽苟鍙戣捣寰樺緤鎶ヨ璁板綍" + }; + if(Language.CurrentLanguage != "Chinese") + { + btnTipMsg.Text = "*Visual intercom can automatically identify suspicious persons at the door and initiate wandering alarm records"; + } + bodyView.AddChidren(btnTipMsg); + + contentView = new VerticalScrolViewLayout() + { + Y = Application.GetRealHeight(64 + 62), + Height = Application.GetRealHeight(550), + }; + bodyView.AddChidren(contentView); + + LoadCloudData(20, 1); + } + + /// <summary> + /// 璇诲彇浜戠鏁版嵁 + /// </summary> + void LoadCloudData(int pageCount,int pageNo) + { + Loading loading = new Loading(); + bodyView.AddChidren(loading); + loading.Start(""); + new System.Threading.Thread(() => { + try + { + HttpServerRequest http = new HttpServerRequest(); + var pack = http.GetAlarmRecords(deviceId, pageCount,pageNo); + if (pack.Code == StateCode.SUCCESS) + { + var obj = Newtonsoft.Json.JsonConvert.DeserializeObject<AlarmRecordInfoPack>(pack.Data.ToString()); + Application.RunOnMainThread(() => + { + LoadSceneGallery(obj); + }); + } + } + catch (Exception ex) + { + MainPage.Log($"璇诲彇寰樺緤鎶ヨ鏁版嵁寮傚父锛歿ex.Message}"); + } + finally + { + Application.RunOnMainThread(() => + { + if (loading != null) + { + loading.Hide(); + loading.RemoveFromParent(); + } + }); + } + }) + { IsBackground = true }.Start(); + + } + + /// <summary> + /// 鍔犺浇鍦烘櫙鍥惧簱 + /// </summary> + void LoadSceneGallery(AlarmRecordInfoPack pack) + { + FrameLayout sceneImageRow = new FrameLayout() + { + Height = Application.GetRealWidth(128), + }; + new System.Threading.Thread(() => + { + for (int i = 0; i < pack.list.Count; i++) + { + var item = pack.list[i]; + + var imageBytes = ImageUtlis.Current.DownImageByImageUrl(item.alarmImg); + Application.RunOnMainThread(() => + { + var sceneImageView = new ImageView() + { + Width = Application.GetRealWidth(172), + Height = Application.GetRealHeight(90), + Radius = (uint)Application.GetRealWidth(12), + ImageBytes = imageBytes + }; + var btnTime = new Button() + { + Width = Application.GetRealHeight(160), + Height = Application.GetRealHeight(41), + Y = Application.GetRealHeight(90), + Text = Utlis.UnixToDateTimeMS(item.alarmTime).ToString(), + TextColor = CSS_Color.FirstLevelTitleColor, + TextAlignment = TextAlignment.Center + }; + if (i % 2 == 0) + { + sceneImageRow = new FrameLayout() + { + Height = Application.GetRealHeight(90 + 53), + }; + contentView.AddChidren(sceneImageRow); + sceneImageView.X = Application.GetRealWidth(10); + sceneImageRow.AddChidren(sceneImageView); + btnTime.X = Application.GetRealWidth(10); + sceneImageRow.AddChidren(btnTime); + + } + else + { + sceneImageView.X = Application.GetRealWidth(194); + sceneImageRow.AddChidren(sceneImageView); + + btnTime.X = Application.GetRealWidth(194); + sceneImageRow.AddChidren(btnTime); + } + + + sceneImageView.MouseUpEventHandler = (sender, e) => + { + Dialog dialog = new Dialog(); + + FrameLayout dialogContentView = new FrameLayout(); + dialog.AddChidren(dialogContentView); + dialogContentView.MouseUpEventHandler = (sender2, e2) => + { + dialog.Close(); + }; + ImageView btnImage = new ImageView() + { + Gravity = Gravity.Center, + Height = Application.GetRealHeight(211), + ImageBytes = sceneImageView.ImageBytes, + }; + dialogContentView.AddChidren(btnImage); + + + dialog.Show(); + }; + + }); + System.Threading.Thread.Sleep(20); + + } + Application.RunOnMainThread(() => + { + if (pack.totalPage > pack.pageNo) + { + var btnLoadMore = new Button() + { + TextAlignment = TextAlignment.Center, + TextID = StringId.GetMore, + Height = Application.GetRealHeight(60), + TextSize = CSS_FontSize.SubheadingFontSize, + TextColor = CSS_Color.FirstLevelTitleColor, + }; + contentView.AddChidren(btnLoadMore); + btnLoadMore.MouseUpEventHandler = (sender, e) => + { + LoadCloudData(20, pack.pageNo + 1); + btnLoadMore.RemoveFromParent(); + }; + } + }); + + }) + { IsBackground = true }.Start(); + } + + + } + + public class AlarmRecordInfoPack + { + public int totalCount = 0; + + public int totalPage = 0; + + public int pageNo = 0; + + public int pageSize = 0; + + public List<AlarmRecordInfo> list = new List<AlarmRecordInfo>(); + } + + /// <summary> + /// 寰樺緤鎶ヨ淇℃伅 + /// </summary> + public class AlarmRecordInfo + { + public string alarmImg = string.Empty; + + public long alarmTime; + + public string alarmType = string.Empty; + + public string alarmTypeDesc = string.Empty; + } +} -- Gitblit v1.8.0