offline_payment_page.dart 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import 'package:cpt_payment/router/page/payment_page_router.dart';
  2. import 'package:cs_resources/generated/assets.dart';
  3. import 'package:cs_resources/generated/l10n.dart';
  4. import 'package:cs_resources/theme/app_colors_theme.dart';
  5. import 'package:flutter/material.dart';
  6. import 'package:auto_route/auto_route.dart';
  7. import 'package:hooks_riverpod/hooks_riverpod.dart';
  8. import 'package:router/ext/auto_router_extensions.dart';
  9. import 'package:widgets/ext/ex_widget.dart';
  10. import 'package:widgets/my_appbar.dart';
  11. import 'package:widgets/my_load_image.dart';
  12. import 'package:widgets/my_text_view.dart';
  13. import 'package:widgets/utils/dark_theme_util.dart';
  14. import 'offline_payment_view_model.dart';
  15. @RoutePage()
  16. class OfflinePaymentPage extends HookConsumerWidget {
  17. final String? popTargetRouter;
  18. const OfflinePaymentPage({
  19. Key? key,
  20. @PathParam() required this.popTargetRouter,
  21. }) : super(key: key);
  22. //启动并关闭其他栈
  23. static void startWithPop({required String? popTargetRouter}) {
  24. appRouter.pushAndPopUntil(
  25. OfflinePaymentPageRoute(popTargetRouter: popTargetRouter),
  26. predicate: (route) {
  27. return route.settings.name == popTargetRouter;
  28. },
  29. );
  30. }
  31. @override
  32. Widget build(BuildContext context, WidgetRef ref) {
  33. final viewModel = ref.read(offlinePaymentViewModelProvider.notifier);
  34. return Scaffold(
  35. appBar: MyAppBar.appBar(context, S.current.payment),
  36. backgroundColor: context.appColors.backgroundWhite,
  37. body: SizedBox(
  38. width: double.infinity,
  39. child: Column(
  40. children: [
  41. //图片
  42. const MyAssetImage(
  43. Assets.paymentOfflinePaymentIcon,
  44. width: 236.5,
  45. height: 182,
  46. ).marginOnly(top: 60),
  47. //支付成功
  48. MyTextView(
  49. S.current.offline_payment,
  50. fontSize: 16,
  51. marginBottom: 30,
  52. marginTop: 30,
  53. isFontMedium: true,
  54. textColor: context.appColors.textBlack,
  55. ),
  56. ],
  57. ),
  58. ),
  59. );
  60. }
  61. }