flush method

void flush()

Implementation

void flush() {
  // 如果队列为空,则不执行上传
  if (_queue.isEmpty) return;

  // 准备上传的数据列表
  final uploadList = List.from(_queue);
  _queue.clear(); // 清空队列

  // 获取配置信息
  final config = QTAutoTrackConfigManager.instance.config;
  // TODO 上报埋点

  // final host = config.host;

  // // 如果主机地址不为空,则执行上传
  // if (host != null) {
  //   final t = DateTime.now().millisecondsSinceEpoch; // 当前时间戳
  //   // 发起POST请求
  //   dio.post(host, data: {
  //     'app_key': config.appKey ?? '',
  //     'signature': config.signature!(t),
  //     't': t,
  //     'user_id': config.userId ?? '',
  //     'track_id': config.trackId ?? '',
  //     'unique_id': config.uniqueId ?? AutoTrackConfigManager.instance.deviceId,
  //     'device_id': AutoTrackConfigManager.instance.deviceId,
  //     'data_list': uploadList.map((e) => e.toMap()).toList(),
  //     'app_version': AutoTrackConfigManager.instance.appVersion,
  //     'device_info': AutoTrackConfigManager.instance.deviceInfo
  //   }).catchError((error) {
  //     // 错误处理
  //     AutoTrackLogger.getInstance().error(error);
  //     // 返回一个模拟的响应对象
  //     return Response(statusCode: 500, requestOptions: RequestOptions(path: host));
  //   });
  // }
}