facility_detail_view_model.dart 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import 'package:domain/repository/facility_repository.dart';
  2. import 'package:plugin_platform/engine/loading/loading_engine.dart';
  3. import 'package:plugin_platform/engine/toast/toast_engine.dart';
  4. import 'package:plugin_platform/http/dio/dio_cancelable_mixin.dart';
  5. import 'package:riverpod_annotation/riverpod_annotation.dart';
  6. import 'package:router/componentRouter/component_service_manager.dart';
  7. import 'package:router/ext/auto_router_extensions.dart';
  8. import 'facility_detail_state.dart';
  9. part 'facility_detail_view_model.g.dart';
  10. @riverpod
  11. class FacilityDetailViewModel extends _$FacilityDetailViewModel with DioCancelableMixin{
  12. late final FacilityRepository _facilityRepository;
  13. @override
  14. FacilityDetailState build() {
  15. _facilityRepository = ref.read(facilityRepositoryProvider);
  16. final state = FacilityDetailState();
  17. registerCancellation();
  18. return state;
  19. }
  20. /// 获取详情
  21. Future fetchFacilityDetail(String? bookingId) async {
  22. final result = await _facilityRepository.fetchFacilityBookingDetail(id: bookingId, cancelToken: cancelToken);
  23. // 处理数据
  24. if (result.isSuccess) {
  25. state = state.copyWith(detail: result.data);
  26. } else {
  27. ToastEngine.show(result.errorMsg ?? "UnKnow Error");
  28. }
  29. }
  30. //根据OrderId继续支付订单
  31. // void doPaymentOrder(String orderId) async {
  32. // //支付流程 Loading 开始
  33. // LoadingEngine.show();
  34. //
  35. // //调用支付服务
  36. // bool success = await ComponentServiceManager().paymentService.executePayment(orderId: orderId);
  37. //
  38. // //支付流程 Loading 结束
  39. // LoadingEngine.dismiss();
  40. //
  41. // //如果成功,返回页面
  42. // if (success) {
  43. // appRouter.maybePop();
  44. // }
  45. // }
  46. }