navitigation_handler.dart 916 B

1234567891011121314151617181920212223242526272829303132
  1. import 'package:flutter/services.dart';
  2. import 'package:get/get.dart';
  3. import 'package:keyboard/module/login/login_page.dart';
  4. import 'package:keyboard/module/store/store_page.dart';
  5. class NavigationHandler {
  6. static final NavigationHandler _instance = NavigationHandler._internal();
  7. factory NavigationHandler() => _instance;
  8. NavigationHandler._internal();
  9. static const MethodChannel _channel = MethodChannel('keyboard_ios');
  10. static void initialize() {
  11. _channel.setMethodCallHandler(_handleMethod);
  12. }
  13. static Future<dynamic> _handleMethod(MethodCall call) async {
  14. switch (call.method) {
  15. case 'navigateToLogin':
  16. LoginPage.start();
  17. break;
  18. case 'navigateToMember':
  19. StorePage.start();
  20. break;
  21. default:
  22. throw PlatformException(
  23. code: 'Unimplemented',
  24. details: '未实现的方法: ${call.method}',
  25. );
  26. }
  27. }
  28. }