protocol.dart 1.4 KB

123456789101112131415161718192021222324252627282930313233343536
  1. // import 'package:day/day.dart';
  2. // import 'package:get/get.dart';
  3. // import 'package:naiyouwl/app/bean/config.dart';
  4. // // import 'package:protocol_handler/protocol_handler.dart';
  5. //
  6. //
  7. // import 'package:naiyouwl/app/controller//controllers.dart';
  8. //
  9. // //class ProtocolController extends GetxController with ProtocolListener {
  10. // // void initProtocol() {
  11. // // protocolHandler.addListener(this);
  12. // // }
  13. // //
  14. // // @override
  15. // // void onProtocolUrlReceived(String url) async {
  16. // // // ref https://github.com/biyidev/biyi/blob/37aa84ec063fcbac717ace26acd361764ab9a2c5/lib/pages/desktop_popup/desktop_popup.dart#L829
  17. // // // clash://install-config?url=xxxx
  18. // // final uri = Uri.parse(url);
  19. // // if (uri.scheme != 'clash') return;
  20. // // if (uri.authority == 'install-config') {
  21. // // final paths = Uri.parse(uri.queryParameters['url']!).pathSegments;
  22. // // String name = paths.isNotEmpty ? paths.last : Day().format('YYYYMMDD_HHmmss');
  23. // // name = name.replaceFirst(RegExp(r'(\.\w*)?$'), '.yaml');
  24. // // controllers.pageProfile.showAddSubPopup(controllers.pageMain.context, ConfigSub(name: name, url: uri.queryParameters['url']));
  25. // // } else {
  26. // // return;
  27. // // }
  28. // // await controllers.window.showWindow();
  29. // // }
  30. // //
  31. // // @override
  32. // // void dispose() {
  33. // // protocolHandler.removeListener(this);
  34. // // super.dispose();
  35. // // }
  36. // //}