extractEventExtra function
提取事件额外数据。
Implementation
Map<String, dynamic>? extractEventExtra(Map<String, dynamic> map) {
final dynamic rawExtra = map['extra'];
if (rawExtra is Map) {
return rawExtra.map((key, value) => MapEntry('$key', value));
}
final fallback = <String, dynamic>{};
map.forEach((key, value) {
if (key == 'action' ||
key == 'posId' ||
key == 'timestamp' ||
key == 'extra') {
return;
}
fallback[key] = value;
});
return fallback.isEmpty ? null : fallback;
}