import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:router/componentRouter/profile_service.dart'; import '../ext/router_provider_container.dart'; import 'app_service.dart'; import 'main_service.dart'; class ComponentServiceManager { // 私有构造函数 ComponentServiceManager._internal(); // 单例实例 static final ComponentServiceManager _instance = ComponentServiceManager._internal(); factory ComponentServiceManager() { return _instance; } // 存储 `ServiceProvider` 的 Map final Map _serviceProviders = {}; // 添加 `ServiceProvider` 的方法 void addServiceProvider(Provider provider) { _serviceProviders[T] = provider; } // 获取 `MainService` 的方法 MainService get mainService { final provider = _serviceProviders[MainService]; if (provider == null) { throw Exception('Provider for MainService not found.'); } return routerContainer.read(provider as Provider); } AppService get appService { final provider = _serviceProviders[AppService]; if (provider == null) { throw Exception('Provider for AppService not found.'); } return routerContainer.read(provider as Provider); } ProfileService get profileService { final provider = _serviceProviders[ProfileService]; if (provider == null) { throw Exception('Provider for ProfileService not found.'); } return routerContainer.read(provider as Provider); } // 在这里可以继续添加其他具体的服务获取方法 // OtherService get otherService { // final provider = _serviceProviders[OtherService]; // if (provider == null) { // throw Exception('Provider for OtherService not found.'); // } // return routerContainer.read(provider as Provider); // } }