namespace SHH.CameraDashboard { public class MonitorRepository { private const string MODULE = "MonitorAPI"; public async Task GetDashboardDataAsync() { try { var json = await WebApiService.Instance.GetAsync(WebApiRoutes.Monitor.Dashboard, MODULE); // 1. 反序列化 var data = JsonHelper.Deserialize(json); // 2. 【核心修复】空合并运算符 // 如果 data 为 null,立即 new 一个空对象返回 return data ?? new MonitorWebApiData(); } catch { // 3. 【兜底】发生任何异常(断网/解析错误),返回空对象 // 保证 ViewModel 拿到永远是实例 return new MonitorWebApiData(); } } public async Task GetSnapshotUrlAsync(string id) { // 假设返回的是图片 URL 或者是 Base64 return await WebApiService.Instance.GetAsync(WebApiRoutes.Monitor.Snapshot(id), MODULE); } } public class MonitorWebApiData { } }