mobile_core_api.dart 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. import 'package:nomo/pigeons/core_api.g.dart' as pigeon;
  2. import 'base_core_api.dart';
  3. /// Android/iOS 实现 - 使用 Pigeon 生成的 CoreApi
  4. class MobileCoreApi implements BaseCoreApi {
  5. MobileCoreApi._();
  6. /// 内部构造方法,供 BaseCoreApi 工厂使用
  7. factory MobileCoreApi.create() => MobileCoreApi._();
  8. final pigeon.CoreApi _coreApi = pigeon.CoreApi();
  9. @override
  10. Future<String?> getApps() => _coreApi.getApps();
  11. @override
  12. Future<String?> getSystemLocale() => _coreApi.getSystemLocale();
  13. @override
  14. Future<bool?> connect(
  15. String sessionId,
  16. int socksPort,
  17. String tunnelConfig,
  18. String configJson,
  19. int remainTime,
  20. bool isCountdown,
  21. List<String> allowVpnApps,
  22. List<String> disallowVpnApps,
  23. String accessToken,
  24. String aesKey,
  25. String aesIv,
  26. int locationId,
  27. String locationCode,
  28. List<String> baseUrls,
  29. String params,
  30. int peekTimeInterval,
  31. ) {
  32. return _coreApi.connect(
  33. sessionId,
  34. socksPort,
  35. tunnelConfig,
  36. configJson,
  37. remainTime,
  38. isCountdown,
  39. allowVpnApps,
  40. disallowVpnApps,
  41. accessToken,
  42. aesKey,
  43. aesIv,
  44. locationId,
  45. locationCode,
  46. baseUrls,
  47. params,
  48. peekTimeInterval,
  49. );
  50. }
  51. @override
  52. Future<bool?> disconnect() => _coreApi.disconnect();
  53. @override
  54. Future<String?> getRemoteIp() => _coreApi.getRemoteIp();
  55. @override
  56. Future<String?> getAdvertisingId() => _coreApi.getAdvertisingId();
  57. @override
  58. Future<bool?> moveTaskToBack() => _coreApi.moveTaskToBack();
  59. @override
  60. Future<bool?> isConnected() => _coreApi.isConnected();
  61. @override
  62. Future<String?> getSimInfo() => _coreApi.getSimInfo();
  63. @override
  64. Future<String?> getChannel() => _coreApi.getChannel();
  65. @override
  66. Future<void> openPackage(String packageName) =>
  67. _coreApi.openPackage(packageName);
  68. }