getNavigationStats method

Map<String, dynamic> getNavigationStats()

获取导航日志统计

Implementation

Map<String, dynamic> getNavigationStats() {
  final actionCounts = <String, int>{};
  final typeCounts = <String, int>{};
  final pageCounts = <String, int>{};

  for (final log in _navigationLogs) {
    final action = log['action'] as String;
    final type = log['navigationType'] as String;
    final toPage = log['toPage'] as String;

    actionCounts[action] = (actionCounts[action] ?? 0) + 1;
    typeCounts[type] = (typeCounts[type] ?? 0) + 1;
    pageCounts[toPage] = (pageCounts[toPage] ?? 0) + 1;
  }

  return {
    'totalNavigationLogs': _navigationLogs.length,
    'actionCounts': actionCounts,
    'typeCounts': typeCounts,
    'pageCounts': pageCounts,
    'sessionId': sessionId,
    'lastLogTime': _navigationLogs.isNotEmpty
        ? _navigationLogs.last['timestamp']
        : null,
  };
}