login_dialog.dart 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import 'package:flutter/cupertino.dart';
  2. import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
  3. import 'package:get/get.dart';
  4. import 'package:keyboard/dialog/login/login_dialog_controller.dart';
  5. import '../../data/consts/event_report.dart';
  6. import '../../handler/event_handler.dart';
  7. import '../../module/login/login_controller.dart';
  8. import '../../utils/event_bus.dart';
  9. import 'login_dialog_view.dart';
  10. /// 登录弹窗显示事件
  11. const eventLoginDialogShow = "event_login_dialog_show";
  12. class LoginDialog {
  13. static const String TAG = "LoginDialog";
  14. static void show() {
  15. EventHandler.report(EventId.event_04000);
  16. SmartDialog.show(
  17. backType: SmartBackType.normal,
  18. clickMaskDismiss: true,
  19. alignment: Alignment.bottomCenter,
  20. animationType: SmartAnimationType.centerScale_otherSlide,
  21. tag: TAG,
  22. keepSingle: true,
  23. onDismiss: () {
  24. EventHandler.report(EventId.event_04005);
  25. Get.delete<LoginDialogController>();
  26. },
  27. builder: (context) {
  28. // 通知外部,登录弹窗显示
  29. WidgetsBinding.instance.addPostFrameCallback((_) {
  30. eventBus.post(eventLoginDialogShow);
  31. });
  32. return const LoginDialogView();
  33. },
  34. );
  35. }
  36. }