talk_file_request.dart 664 B

123456789101112131415161718192021222324252627282930
  1. import 'dart:io';
  2. import 'package:dio/dio.dart';
  3. import 'package:electronic_assistant/base/app_base_request.dart';
  4. import 'package:json_annotation/json_annotation.dart';
  5. part 'talk_file_request.g.dart';
  6. @JsonSerializable()
  7. class TalkFileRequest extends AppBaseRequest {
  8. @JsonKey(name: 'id')
  9. String id;
  10. @JsonKey(name: 'duration')
  11. double duration;
  12. @JsonKey(ignore: true)
  13. File? file;
  14. TalkFileRequest(this.id, this.duration, {this.file});
  15. @override
  16. Map<String, dynamic> toJson() {
  17. final json = _$TalkFileRequestToJson(this);
  18. if (file != null) {
  19. json['file'] = MultipartFile.fromFileSync(file!.path);
  20. }
  21. return json;
  22. }
  23. }