track_repository.dart 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import 'package:dio/dio.dart';
  2. import 'package:injectable/injectable.dart';
  3. import 'package:location/base/app_base_request.dart';
  4. import 'package:location/data/api/atmob_api.dart';
  5. import '../../utils/http_handler.dart';
  6. import '../api/request/query_track_request.dart';
  7. import '../api/response/query_track_response.dart';
  8. @lazySingleton
  9. class TrackRepository {
  10. final AtmobApi atmobApi;
  11. TrackRepository(this.atmobApi);
  12. Future<QueryTrackResponse> queryVirtualTrack() {
  13. return atmobApi
  14. .queryVirtualTrack(AppBaseRequest())
  15. .then(HttpHandler.handle(true));
  16. }
  17. Future<QueryTrackResponse> queryTrack(
  18. {required int? startTime,
  19. required int? endTime,
  20. required String? userId}) {
  21. return atmobApi
  22. .queryTrack(
  23. QueryTrackRequest(
  24. startTime: startTime, endTime: endTime, userId: userId),
  25. RequestOptions(
  26. receiveTimeout: Duration(seconds: 30),
  27. connectTimeout: Duration(minutes: 2)))
  28. .then(HttpHandler.handle(true));
  29. }
  30. }