// vpn_bridge_provider.dart — VpnBridge 平台分派 // // macOS / Linux / Windows → DesktopVpnBridge(真实子进程) // 其他平台(iOS / Web / 测试)→ VpnBridgeMock import 'package:flutter/foundation.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'desktop_vpn_bridge.dart'; import 'vpn_bridge.dart'; import 'vpn_bridge_mock.dart'; // 通过 dart:io Platform 按平台选择实现。 // Web 平台须先检查 kIsWeb(dart:io 在 Web 上不可用)。 import 'dart:io' show Platform; /// 全局单例 VpnBridge。Ref 生命周期内不变。 final vpnBridgeProvider = Provider((ref) { if (!kIsWeb && (Platform.isMacOS || Platform.isLinux || Platform.isWindows)) { return DesktopVpnBridge(); } return VpnBridgeMock(); });