diff --git a/frontend/mobile-app/lib/features/home/presentation/pages/home_shell_page.dart b/frontend/mobile-app/lib/features/home/presentation/pages/home_shell_page.dart index 7953ff74..045edca3 100644 --- a/frontend/mobile-app/lib/features/home/presentation/pages/home_shell_page.dart +++ b/frontend/mobile-app/lib/features/home/presentation/pages/home_shell_page.dart @@ -173,12 +173,24 @@ class _HomeShellPageState extends ConsumerState if (_hasCheckedContracts) return; _hasCheckedContracts = true; + // 如果用户已在合同/KYC页面,跳过检查 + if (_shouldSkipContractCheck()) { + debugPrint('[HomeShellPage] 首次检查:用户在合同/KYC/升级页面,跳过'); + return; + } + try { final contractCheckService = ref.read(contractCheckServiceProvider); final result = await contractCheckService.checkAll(); if (!mounted) return; + // 再次检查,防止在请求期间用户进入了相关页面 + if (_shouldSkipContractCheck()) { + debugPrint('[HomeShellPage] 首次检查:用户已进入合同/KYC/升级页面,跳过弹窗'); + return; + } + // 1. 优先处理待签署合同 if (result.hasPendingContracts) { // 有待签署合同,跳转到待签署列表页面