payment_component_service.dart 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  2. * Community 组件的组件路由
  3. */
  4. import 'package:cpt_payment/modules/add_card/add_card_page.dart';
  5. import 'package:cpt_payment/modules/offline_payment/offline_payment_page.dart';
  6. import 'package:cpt_payment/provider/stripe_service.dart';
  7. import 'package:plugin_basic/provider/global_provider_container.dart';
  8. import 'package:router/componentRouter/payment_service.dart';
  9. import 'package:hooks_riverpod/hooks_riverpod.dart';
  10. import 'package:riverpod_annotation/riverpod_annotation.dart';
  11. import '../../modules/payment/payment_page.dart';
  12. part 'payment_component_service.g.dart';
  13. @Riverpod(keepAlive: true)
  14. PaymentService paymentService(Ref ref) {
  15. return PaymentComponentService();
  16. }
  17. class PaymentComponentService extends PaymentService {
  18. @override
  19. void startPaymentPage() {
  20. PaymentPage.startInstance();
  21. }
  22. @override
  23. void startAddCardPage() {
  24. AddCardPage.startInstance();
  25. }
  26. @override
  27. void startChooseCardPage() {
  28. }
  29. @override
  30. Future<bool> executePayment({required String orderId}) {
  31. return globalContainer.read(stripeServiceProvider).executePayment(orderId: orderId);
  32. }
  33. @override
  34. void startWithPopOfflinePaymentPage(String? popTargetRouter) {
  35. OfflinePaymentPage.startWithPop(popTargetRouter: popTargetRouter);
  36. }
  37. }