From 736fb1af04ffbfc0a7f2c356d11a023c0a397e18 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: Tue, 1 Sep 2026 16:51:58 +0800 Subject: [PATCH] =?UTF-8?q?fix(scanqr,homepagecharts):=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=B9=B6=E4=BC=98=E5=8C=96=E5=A4=9A=E5=A4=84=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 移除iOS端多余的对焦维护协程,简化相机对焦逻辑 2. 为首页图表初始化添加异常捕获,避免崩溃 3. 修复图表数据越界访问问题,修正switch分支缩进错误 --- .../UI/Pages/ConnectDevice/ScanQRcode.cs | 22 +--------------- .../UI/Pages/HomePage/HomePageChartsCtrl.cs | 26 +++++++++++++------ 2 files changed, 19 insertions(+), 29 deletions(-) diff --git a/Assets/Scripts/UI/Pages/ConnectDevice/ScanQRcode.cs b/Assets/Scripts/UI/Pages/ConnectDevice/ScanQRcode.cs index 4aae2fe..c6a39cf 100644 --- a/Assets/Scripts/UI/Pages/ConnectDevice/ScanQRcode.cs +++ b/Assets/Scripts/UI/Pages/ConnectDevice/ScanQRcode.cs @@ -225,9 +225,8 @@ namespace Kill.UI.Pages #if UNITY_IOS && !UNITY_EDITOR // iOS: 通过原生插件开启连续自动对焦(autoFocusPoint 在 iOS 无效) + // iOS 系统会自动维持对焦状态,无需周期触发 _EnableContinuousAutoFocus(); - // 周期维护对焦:每 3s 触发一次点对焦(无黑屏),让镜头持续对焦 - StartCoroutine(IOsFocusMaintainCoroutine()); #elif UNITY_ANDROID && !UNITY_EDITOR // Android:WebCamTexture 默认不会自动对焦,需主动通过 Camera API 触发 EnableAndroidContinuousAutoFocus(); @@ -328,25 +327,6 @@ namespace Kill.UI.Pages Debug.Log($"[ScanQRcode] 预览调整 - 相机: {cameraWidth}x{cameraHeight}, 预览: {previewWidth}x{previewHeight}"); } -#if UNITY_IOS && !UNITY_EDITOR - /// - /// iOS 对焦维护协程 — 每 3s 触发一次点对焦(无黑屏),让镜头持续重新对焦 - /// 与 Android softTrigger 策略保持一致 - /// - private IEnumerator IOsFocusMaintainCoroutine() - { - // 首次等待 3s 让初始对焦完成 - yield return new WaitForSeconds(3f); - - while (isScanning) - { - // 触发一次点对焦(无黑屏),1.5s 后原生会自动恢复连续对焦 - _TriggerContinuousRefocus(); - yield return new WaitForSeconds(3f); - } - } -#endif - #if UNITY_ANDROID && !UNITY_EDITOR /// /// 启用 Android 自动对焦。 diff --git a/Assets/Scripts/UI/Pages/HomePage/HomePageChartsCtrl.cs b/Assets/Scripts/UI/Pages/HomePage/HomePageChartsCtrl.cs index f1c3549..0741f59 100644 --- a/Assets/Scripts/UI/Pages/HomePage/HomePageChartsCtrl.cs +++ b/Assets/Scripts/UI/Pages/HomePage/HomePageChartsCtrl.cs @@ -26,9 +26,19 @@ namespace Kill.UI.Pages public async Task Init() { LoadingUI.Show(); - await GetKillCount(); - await GetKillRecords(); - LoadingUI.Hide(); + try + { + await GetKillCount(); + await GetKillRecords(); + } + catch (Exception e) + { + Debug.LogError($"[HomePageChartsCtrl] Init 异常: {e}"); + } + finally + { + LoadingUI.Hide(); + } } public Text totalText; @@ -49,7 +59,7 @@ namespace Kill.UI.Pages List daily = new List(); for (int i = 0; i <24; i++) { - if(data.data.stats.Count>0) + if(i < data.data.stats.Count) daily.Add(data.data.stats[i].count); else daily.Add(0); @@ -60,7 +70,7 @@ namespace Kill.UI.Pages List weekly = new List(); for (int i = 0; i <7; i++) { - if(data.data.stats.Count>0) + if(i < data.data.stats.Count) weekly.Add(data.data.stats[i].count); else weekly.Add(0); @@ -71,18 +81,18 @@ namespace Kill.UI.Pages List monthly = new List(); for (int i = 0; i <31; i++) { - if(data.data.stats.Count>0) + if(i < data.data.stats.Count) monthly.Add(data.data.stats[i].count); else monthly.Add(0); } barcharts[2].Init(monthly); break; - case 3: + case 3: List annual = new List(); for (int i = 0; i <12; i++) { - if(data.data.stats.Count>0) + if(i < data.data.stats.Count) annual.Add(data.data.stats[i].count); else annual.Add(0);