38 lines
1.2 KiB
C#
38 lines
1.2 KiB
C#
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
|
||
{
|
||
|
||
}
|
||
} |