clearStack method
void
clearStack()
清空路由栈
Implementation
void clearStack() {
final previousRoute = _currentRoute;
final clearedStack = _routeStack.map((r) => r.pageName).toList();
// 增强的日志记录
final enhancedLogData = {
'action': 'clear_stack',
'fromPage': previousRoute?.pageName ?? 'unknown',
'toPage': 'cleared',
'fromRouteAddress': previousRoute?.routeAddress ?? 'unknown',
'clearedStackPages': clearedStack,
'stackSize': _routeStack.length,
'totalNavigations': _totalNavigations,
'timestamp': DateTime.now().millisecondsSinceEpoch,
'sessionId': 'session_${DateTime.now().millisecondsSinceEpoch}',
};
_routeStack.clear();
_currentRoute = null;
_notifyListeners(null, previousRoute);
debugPrint('jiangmiao navigation routechange clearStack详细信息: $enhancedLogData');
// 使用NavigationLogger记录
NavigationLogger.instance.logStackOperation(
action: 'clear_stack',
fromPage: previousRoute?.pageName,
toPage: 'cleared',
stackPages: clearedStack,
metadata: enhancedLogData,
);
}