diff --git a/Assets/Scripts/UI/Pages/HomePage/HomePageChartsCtrl.cs b/Assets/Scripts/UI/Pages/HomePage/HomePageChartsCtrl.cs index 9f02ac0..f1c3549 100644 --- a/Assets/Scripts/UI/Pages/HomePage/HomePageChartsCtrl.cs +++ b/Assets/Scripts/UI/Pages/HomePage/HomePageChartsCtrl.cs @@ -49,8 +49,8 @@ namespace Kill.UI.Pages List daily = new List(); for (int i = 0; i <24; i++) { - if(data.data.stats.Count>i+1) - daily.Add(data.data.stats[i+1].count); + if(data.data.stats.Count>0) + daily.Add(data.data.stats[i].count); else daily.Add(0); } @@ -60,8 +60,8 @@ namespace Kill.UI.Pages List weekly = new List(); for (int i = 0; i <7; i++) { - if(data.data.stats.Count>i+1) - weekly.Add(data.data.stats[i+1].count); + if(data.data.stats.Count>0) + weekly.Add(data.data.stats[i].count); else weekly.Add(0); } @@ -71,8 +71,8 @@ namespace Kill.UI.Pages List monthly = new List(); for (int i = 0; i <31; i++) { - if(data.data.stats.Count>i+1) - monthly.Add(data.data.stats[i+1].count); + if(data.data.stats.Count>0) + monthly.Add(data.data.stats[i].count); else monthly.Add(0); } @@ -82,8 +82,8 @@ namespace Kill.UI.Pages List annual = new List(); for (int i = 0; i <12; i++) { - if(data.data.stats.Count>i+1) - annual.Add(data.data.stats[i+1].count); + if(data.data.stats.Count>0) + annual.Add(data.data.stats[i].count); else annual.Add(0); } diff --git a/Assets/Scripts/UI/Pages/HomePage/HomePageCtrl.cs b/Assets/Scripts/UI/Pages/HomePage/HomePageCtrl.cs index ad64ef9..ed94612 100644 --- a/Assets/Scripts/UI/Pages/HomePage/HomePageCtrl.cs +++ b/Assets/Scripts/UI/Pages/HomePage/HomePageCtrl.cs @@ -1463,22 +1463,34 @@ namespace Kill.UI.Pages } async void PostMosquitoDatas() { - List postRecordDatas=new List(); - foreach(var a in mosquitoDatas) + const int batchSize = 500; + int total = mosquitoDatas.Count; + int uploadedCount = 0; + + // 分批上传,每500条一次 + for (int i = 0; i < total; i += batchSize) { - var b=new PostRecordData + int end = Mathf.Min(i + batchSize, total); + List batch = new List(); + for (int j = i; j < end; j++) { - device_sn=selectedDevice.ble_mac, - record_time=a.GetTimeString(), - angle=a.GetActualAngle(), - distance=a.GetActualDis() - }; - postRecordDatas.Add(b); + var a = mosquitoDatas[j]; + batch.Add(new PostRecordData + { + device_sn = selectedDevice.ble_mac, + record_time = a.GetTimeString(), + angle = a.GetActualAngle(), + distance = a.GetActualDis() + }); + } + + var response = await NetworkCtrl.Instance.Post("/api/v1/stats/device/records", batch); + ResponseCodeHandler.HandleResponse(response, null, null); + uploadedCount += batch.Count; } - Debug.Log("发送灭蚊数据:"+JsonUtility.ToJson(postRecordDatas)); - var response = await NetworkCtrl.Instance.Post("/api/v1/stats/device/records", postRecordDatas); - ResponseCodeHandler.HandleResponse(response, null, null); - ToastUI.ShowText(LanguageManager.Instance.GetLanguage("100310").Replace("{0}",mosquitoDatas.Count.ToString())); + + Debug.Log($"灭蚊数据上传完成,共 {uploadedCount} 条"); + ToastUI.ShowText(LanguageManager.Instance.GetLanguage("100310").Replace("{0}", uploadedCount.ToString())); } /// /// 获取所有蚊虫数据 (0xA4)