具备界面基础功能
This commit is contained in:
38
SHH.CameraDashboard/Services/WebApis/MonitorRepository.cs
Normal file
38
SHH.CameraDashboard/Services/WebApis/MonitorRepository.cs
Normal file
@@ -0,0 +1,38 @@
|
||||
namespace SHH.CameraDashboard
|
||||
{
|
||||
public class MonitorRepository
|
||||
{
|
||||
private const string MODULE = "MonitorAPI";
|
||||
public async Task<MonitorWebApiData> GetDashboardDataAsync()
|
||||
{
|
||||
try
|
||||
{
|
||||
var json = await WebApiService.Instance.GetAsync(WebApiRoutes.Monitor.Dashboard, MODULE);
|
||||
|
||||
// 1. 反序列化
|
||||
var data = JsonHelper.Deserialize<MonitorWebApiData>(json);
|
||||
|
||||
// 2. 【核心修复】空合并运算符
|
||||
// 如果 data 为 null,立即 new 一个空对象返回
|
||||
return data ?? new MonitorWebApiData();
|
||||
}
|
||||
catch
|
||||
{
|
||||
// 3. 【兜底】发生任何异常(断网/解析错误),返回空对象
|
||||
// 保证 ViewModel 拿到永远是实例
|
||||
return new MonitorWebApiData();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<string> GetSnapshotUrlAsync(string id)
|
||||
{
|
||||
// 假设返回的是图片 URL 或者是 Base64
|
||||
return await WebApiService.Instance.GetAsync(WebApiRoutes.Monitor.Snapshot(id), MODULE);
|
||||
}
|
||||
}
|
||||
|
||||
public class MonitorWebApiData
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user