From 4c253a419edc8eb76c21d4aaf12947da265ed253 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9C=E8=99=9E=E6=B8=A0=E6=88=90=E2=80=9D?= <“yuqucheng2006@qq.com”> Date: Mon, 27 Jul 2026 14:07:06 +0800 Subject: [PATCH] =?UTF-8?q?fix(homepage):=20=E4=BF=AE=E5=A4=8D=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=BB=9F=E8=AE=A1=E5=9B=BE=E8=A1=A8=E7=B4=A2=E5=BC=95?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E5=B9=B6=E4=BC=98=E5=8C=96=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 修正每日/每周/每月/年度统计图表的索引偏移问题,正确匹配数据下标 2. 将灭蚊数据上传改为分批上传,避免单次上传数据量过大 3. 更新上传完成的日志和提示文案,显示实际上传的数量 --- .../UI/Pages/HomePage/HomePageChartsCtrl.cs | 16 ++++---- .../Scripts/UI/Pages/HomePage/HomePageCtrl.cs | 38 ++++++++++++------- 2 files changed, 33 insertions(+), 21 deletions(-) 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)