36 lines
1.2 KiB
Dart
36 lines
1.2 KiB
Dart
import 'auth/auth_view_model.dart';
|
||
import 'auth/session_store.dart';
|
||
import 'home/home_view_model.dart';
|
||
import 'payment/license_service.dart';
|
||
import 'payment/models.dart';
|
||
import 'payment/order_api.dart';
|
||
import 'payment/paywall_view_model.dart';
|
||
import 'payment/payment_service.dart';
|
||
|
||
/// 手动依赖注入容器(对应原 Kotlin AppContainer)
|
||
class AppContainer {
|
||
late final SessionStore sessionStore;
|
||
late final OrderApi orderApi;
|
||
late final LicenseService licenseService;
|
||
late final AuthViewModel authViewModel;
|
||
late final HomeViewModel homeViewModel;
|
||
late final PaywallViewModel paywallViewModel;
|
||
|
||
AppContainer() {
|
||
sessionStore = SessionStore();
|
||
orderApi = OrderApi(sessionStore: sessionStore);
|
||
licenseService =
|
||
LicenseService(orderApi: orderApi, sessionStore: sessionStore);
|
||
authViewModel = AuthViewModel(orderApi: orderApi, sessionStore: sessionStore);
|
||
homeViewModel = HomeViewModel(licenseService: licenseService);
|
||
paywallViewModel = PaywallViewModel(
|
||
orderApi: orderApi,
|
||
licenseService: licenseService,
|
||
services: {
|
||
PayChannel.wechat: WechatPayService(orderApi: orderApi),
|
||
PayChannel.alipay: AlipayService(orderApi: orderApi),
|
||
},
|
||
);
|
||
}
|
||
}
|