using 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,
|
TextID =StringId.SmartDoorstepMachineAlarmPrompt,
|
};
|
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;
|
}
|
}
|