talk_repository.dart 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import 'package:electronic_assistant/data/api/atmob_api.dart';
  2. import 'package:electronic_assistant/data/api/request/talk_delete_request.dart';
  3. import '../../utils/http_handler.dart';
  4. import '../api/request/talk_generate_request.dart';
  5. import '../api/request/talk_rename_request.dart';
  6. import '../api/request/talk_request.dart';
  7. import '../api/response/talk_check_electric_response.dart';
  8. import '../api/response/talk_detail_response.dart';
  9. class TalkRepository {
  10. TalkRepository._();
  11. // duration 音频时长,单位为秒
  12. Future<TalkCheckElectricResponse> checkElectric(double duration) {
  13. return atmobApi
  14. .checkElectric(TalkGenerateRequest(duration))
  15. .then(HttpHandler.handle(false));
  16. }
  17. Future<TalkDetailResponse> talkInfo(String id) {
  18. return atmobApi.talkInfo(TalkRequest(id)).then(HttpHandler.handle(true));
  19. }
  20. Future<void> talkRename(String? id, String? title) {
  21. return atmobApi
  22. .talkRename(TalkRenameRequest(id, title))
  23. .then(HttpHandler.handle(true));
  24. }
  25. Future<void> talkDelete(String? id) {
  26. return atmobApi
  27. .talkDelete(TalkDeleteRequest(id))
  28. .then(HttpHandler.handle(true));
  29. }
  30. }
  31. final talkRepository = TalkRepository._();