From eeeee97244a33b9215be48f15ef25046117e4312 Mon Sep 17 00:00:00 2001 From: hs <873121290@qq.com> Date: Fri, 22 May 2026 09:01:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=B1=E9=99=A9=E4=BD=9C=E4=B8=9Abug?= =?UTF-8?q?=E4=BF=AE=E6=94=B90522?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/http/ApiService.dart | 21 ++++++------ lib/pages/home/home_page.dart | 60 ++++++++++++++++++++++++++++------- 2 files changed, 59 insertions(+), 22 deletions(-) diff --git a/lib/http/ApiService.dart b/lib/http/ApiService.dart index 37759fc..13d451b 100644 --- a/lib/http/ApiService.dart +++ b/lib/http/ApiService.dart @@ -5,23 +5,24 @@ export 'modules/hidden_danger_api.dart'; export 'modules/special_work_api.dart'; class ApiService { + + /// 是否是港务局环境 + static final bool isGWJProduct = true; /// 是否正式环境 static final bool isProduct = true; /// 登录及其他管理后台接口 - // static final String basePath = "https://skqhdg.porthebei.com:9007"; - static final String basePath = - isProduct - ? "https://gbs-gateway.qhdsafety.com" - : "http://192.168.20.100:30140"; + static final String basePath = isGWJProduct ? "https://skqhdg.porthebei.com:9007" : + isProduct + ? "https://gbs-gateway.qhdsafety.com" + : 'http://192.168.198.8:30140'; /// 图片文件服务 - static final String baseImgPath = - isProduct - ? "https://jpfz.qhdsafety.com/gbsFileTest/" - : "http://192.168.20.240:9787/mnt/"; //内网图片地址 - // static final String baseImgPath = "https://skqhdg.porthebei.com:9004/file/uploadFiles2/"; + static final String baseImgPath = isGWJProduct ? "https://skqhdg.porthebei.com:9004/file/uploadFiles2/" : + isProduct + ? "https://jpfz.qhdsafety.com/gbsFileTest/" + : "https://skqhdg.porthebei.com:9004/file/uploadFiles2/"; //内网图片地址 static const publicKey = diff --git a/lib/pages/home/home_page.dart b/lib/pages/home/home_page.dart index 689d1dd..7587d58 100644 --- a/lib/pages/home/home_page.dart +++ b/lib/pages/home/home_page.dart @@ -1112,13 +1112,46 @@ class HomePageState extends RouteAwareState "pageIndex": '1', "pageSize": '999', }; - final result = await TodoApi.getTodoList(data); - final specialWork = await SpecialWorkApi.specialWorkTaskLogTotalCount(); - final keyTasksWork = await KeyTasksApi.getKeyTasksToDoCount(SessionService.instance.accountId??''); + Future safeRequest( + Future request, + Map fallback, + String apiName, + ) async { + try { + final response = await request; + if (response is Map) return response; + } catch (e) { + debugPrint('$apiName request failed: $e'); + } + return fallback; + } + + final responses = await Future.wait([ + safeRequest(TodoApi.getTodoList(data), { + "success": false, + "data": [], + "totalCount": 0, + }, 'TodoApi.getTodoList'), + safeRequest( + SpecialWorkApi.specialWorkTaskLogTotalCount(), + {"success": false, "data": []}, + 'SpecialWorkApi.specialWorkTaskLogTotalCount', + ), + safeRequest( + KeyTasksApi.getKeyTasksToDoCount( + SessionService.instance.accountId ?? '', + ), + {"success": false, "data": {}}, + 'KeyTasksApi.getKeyTasksToDoCount', + ), + ]); + final result = responses[0]; + final specialWork = responses[1]; + final keyTasksWork = responses[2]; int specialWorkNum = 0; int keyTasksNum = 0; try { - if (specialWork['success']) { + if (FormUtils.hasValue(specialWork, 'success') && specialWork['success']) { List specialWorkList = specialWork['data'] ?? []; for (var item in specialWorkList) { if (item is Map) { @@ -1127,11 +1160,14 @@ class HomePageState extends RouteAwareState } } } - if (keyTasksWork['success']) { - int zdzysqCount = int.parse(keyTasksWork['data']['zdzysqCount']??0); - int bjcrqrCount = int.parse(keyTasksWork['data']['bjcrqrCount']??0); - int yhdzgCount = int.parse(keyTasksWork['data']['yhdzgCount']??0); - keyTasksNum = bjcrqrCount+yhdzgCount+zdzysqCount; + if (FormUtils.hasValue(keyTasksWork, 'success') && keyTasksWork['success']) { + final keyTasksData = keyTasksWork['data']; + if (keyTasksData is Map) { + int zdzysqCount = int.tryParse('${keyTasksData['zdzysqCount']}') ?? 0; + int bjcrqrCount = int.tryParse('${keyTasksData['bjcrqrCount']}') ?? 0; + int yhdzgCount = int.tryParse('${keyTasksData['yhdzgCount']}') ?? 0; + keyTasksNum = bjcrqrCount + yhdzgCount + zdzysqCount; + } } setState(() { for (var section in buttonInfos) { @@ -1141,16 +1177,16 @@ class HomePageState extends RouteAwareState if (section['title'] == '重点作业') { section['unreadCount'] = keyTasksNum; } - } }); - } catch (e) {} + } catch (e) { + debugPrint('_getToDoWorkList parse failed: $e'); + } if (result['success']) { setState(() { workStats['total'] = result['totalCount']; checkLists = result['data']; // checkLists = result['data']; - int m = checkLists.length; }); } }