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
    {

    }
}