base_controller.dart 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import 'package:flutter/cupertino.dart';
  2. import 'package:get/get.dart';
  3. import 'package:get/get_connect/sockets/src/socket_notifier.dart';
  4. class BaseController extends GetxController {
  5. Map? parameters;
  6. @override
  7. void onInit() {
  8. debugPrint('BaseController $runtimeType onInit $hashCode');
  9. super.onInit();
  10. _initParameters();
  11. }
  12. @override
  13. void onReady() {
  14. debugPrint('BaseController $runtimeType onReady $hashCode');
  15. super.onReady();
  16. }
  17. @override
  18. void onClose() {
  19. debugPrint('BaseController $runtimeType onClose $hashCode');
  20. super.onClose();
  21. }
  22. void _initParameters() {
  23. var getParameters = Get.parameters;
  24. var getArguments = Get.arguments;
  25. parameters ??= <dynamic, dynamic>{};
  26. parameters?.addAll(getParameters);
  27. if (getArguments != null && getArguments is Map) {
  28. parameters?.addAll(getArguments);
  29. }
  30. }
  31. /// 隐藏键盘
  32. void hideKeyboard(BuildContext context) {
  33. FocusScopeNode currentFocus = FocusScope.of(context);
  34. if (!currentFocus.hasPrimaryFocus && currentFocus.focusedChild != null) {
  35. FocusManager.instance.primaryFocus!.unfocus();
  36. }
  37. }
  38. }