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,
  );
}