Files

38 lines
1.2 KiB
C#
Raw Permalink Normal View History

2026-01-01 22:40:32 +08:00
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
{
}
}